0% found this document useful (0 votes)
54 views26 pages

Devops Master Program - 2023 - NetworkNuts

Devops master program
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views26 pages

Devops Master Program - 2023 - NetworkNuts

Devops master program
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

NETWORK NUTS

DEVOPS
MASTER PROGRAM

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592


NETWORK NUTS PAGE | 02

DevOps Master Program

OVERVIEW

This program features the perfect mix of theory,


case studies, and extensive hands-on practice to
prepare you for a fast-growing field that bridges
the gap between software developers and
operations. This Program, designed for graduates
in any discipline and experienced professionals
from programming and non-programming
backgrounds, offers a blend of live virtual classes,
hands-on projects, and labs. Students also have
access to mentorship sessions, providing a
highengagement learning experience and real
world applications to help master essential
DevOps skills. Students also will get hands-on
experience in continuous deployment using
current configuration management tools like
Ansible. At the end of this course, learners will be
able to write and master front-end deployment
and back-end codes and manage hosts for both
monitoring and scaling. This program will enable
students to demonstrate their knowledge of
automating workflow and getting products to
market more efficiently and effectively with tools
such as Ansible, Jenkins, Docker, Kubernetes, and
GIT. Learners will also get practical experience
with the development and operational activities

DevOps of teams, continuous code releases, integration,


and deployment processes.

MASTER
NETWORK NUTS PAGE | 02

DevOps Master Program

LEARNING PATH
01 02 03 04
LINUX ANSIBLE AWS TERRAFORM
Basics to Linux Amazon Cloud Cloud Automation
Advanced Automation

05 06 07 08
DOCKER KUBERNETES GIT & JENKINS Python
Containerization Container Version Control Programming for
Orchestration & Pipelines Automation

09 10 +
DevOps
GRAFANA DEVOPS
Projects
+
Monitoring Open Practices

MASTER
Interview
Preparation
PAGE | 03 NETWORK NUTS

DevOps Master Program

01
Getting started with Red Hat Enterprise Linux
Access the command line
Manage files from the command line
Get help in Red Hat Enterprise Linux
Create, view & edit text files
LINUX Manage local users & groups
Basics to Control access to files
Advanced Monitor & manage Linux processes
Control services & daemons
Configure & secure SSH
Analyze & store logs
Manage networking
Archive & transfer files
Install & update software
Access Linux files systems
Improving command line productivity using shell scripts
Schedule future tasks
Tune system performance
Control access to files with Access Control Lists
Manage SELinux security
Maintain basic storage
Manage logical volumes
Implement advanced storage features like vdo & stratis
Access network-attached storage
Control the boot process
Manage network security using firewalld
Install Red Hat Enterprise Linux
Run Containers

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592

Table of A-184, II Floor, Bhishma Pitamah Marg,


Kotla Mubarakpur,

CONTENTS
New Delhi - 110003

[email protected]
PAGE | 04 NETWORK NUTS

DevOps Master Program

02
Introduction to Ansible
Using Ansible ad-hoc commands
Writing an Ansible Playbook
Simple webserver deployment via Ansible
Using Ansible variables and facts
ANSIBLE Iterating tasks using an Ansible loop
Linux Managing tasks using Ansible conditions
Automation Handling errors in Ansible
Handling task execution using Handlers
Connecting Ansible to AWS for dynamic provisioning
Introduction to jinja2 in Ansible
Advanced jinja2 concepts for dynamic content delivery
Managing multiple playbooks and complexity
Creating Ansible roles
Loadbalancer configuration deployment via Ansible
Using Ansible Galaxy for roles
SSH hardening via Ansible
Common use cases for Ansible modules
Ansible-lint and industry standards
Working with Ansible collections

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592

Table of A-184, II Floor, Bhishma Pitamah Marg,


Kotla Mubarakpur,

CONTENTS
New Delhi - 110003

[email protected]
PAGE | 05 NETWORK NUTS

DevOps Master Program

03
Introduction to Cloud Computing
Cloud Computing and Virtualization
Cloud Computing Architecture
Cloud Computing Optimization
The AWS Cloud
AWS AWS Platform Architecture
Amazon Cloud AWS Reliability and Compliance
The AWS Shared Responsibility Model
The AWS Service Level Agreement
Working with AWS
AWS Organizations
AWS Control Tower
AWS Service Catalog
AWS License Manager
AWS Artifact
The AWS CLI
AWS SDKs
Technical Support and Online Resources
Support Plans
Other Support Resources
Migrating Existing Resources to AWS
AWS Migration Hub
AWS Application Migration Service
AWS Database Migration Service
AWS Application Discovery Service

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592

Table of A-184, II Floor, Bhishma Pitamah Marg,


Kotla Mubarakpur,

CONTENTS
New Delhi - 110003

[email protected]
PAGE | 06 NETWORK NUTS

DevOps Master Program

03
Compute Services
Introduction
EC2 Instances
Provisioning Your Instance
Configuring Instance Behavior
AWS Placement Groups
Amazon Cloud Instance Pricing
Instance Life Cycle
Resource Tags
Service Limits
EC2 Storage Volumes
Elastic Block Store Volumes
Instance Store Volumes
Accessing Your EC2 Instance
Securing Your EC2 Instance
Security Groups
IAM Roles
NAT Devices
Key Pairs
EC2 Auto Scaling
Launch Configurations
Launch Templates
Auto Scaling Groups
Auto Scaling Options
AWS Systems Manager
AWS Systems Manager Inventory
Running Containers
Amazon Elastic Container Service
Amazon Elastic Kubernetes Service

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592

Table of A-184, II Floor, Bhishma Pitamah Marg,


Kotla Mubarakpur,

CONTENTS
New Delhi - 110003

[email protected]
PAGE | 07 NETWORK NUTS

DevOps Master Program

03
AWS Storage
Introduction
S3 Service Architecture
Prefixes and Delimiters
Working with Large Objects
AWS Encryption
Amazon Cloud Logging
S3 Durability and Availability
Durability
Availability
Eventually Consistent Data
S3 Object Life Cycle
Versioning
Life Cycle Management
Accessing S3 Objects
Access Control
Presigned URLs
Static Website Hosting
Amazon S3 Glacier
Storage Pricing
Other Storage-Related Services
Amazon Elastic File System
Amazon FSx
AWS Storage Gateway
AWS Snow Family
AWS DataSync

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592

Table of A-184, II Floor, Bhishma Pitamah Marg,


Kotla Mubarakpur,

CONTENTS
New Delhi - 110003

[email protected]
PAGE | 08 NETWORK NUTS

DevOps Master Program

03
Amazon Virtual Private Cloud (VPC)
Introduction
VPC CIDR Blocks
Secondary CIDR Blocks
IPv6 CIDR Blocks
AWS Subnets
Amazon Cloud Subnet CIDR Blocks
Availability Zones
IPv6 CIDR Blocks
Elastic Network Interfaces
Primary and Secondary Private IP Addresses
Attaching Elastic Network Interfaces
Enhanced Networking
Internet Gateways
Route Tables
Routes
The Default Route
Security Groups
Inbound Rules
Outbound Rules
Sources and Destinations
Stateful Firewall
Default Security Group
Network Access Control Lists
Inbound Rules
Outbound Rules
Using Network Access Control Lists & Security
Groups Together

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592

Table of A-184, II Floor, Bhishma Pitamah Marg,


Kotla Mubarakpur,

CONTENTS
New Delhi - 110003

[email protected]
PAGE | 09 NETWORK NUTS

DevOps Master Program

03
CloudTrail, CloudWatch, and AWS Config
Introduction
CloudTrail
Management Events
Data Events
AWS Event History
Amazon Cloud Trails
Log File Integrity Validation
CloudWatch
CloudWatch Metrics
Graphing Metrics
Metric Math
CloudWatch Logs
CloudWatch Alarms
Amazon EventBridge
AWS Config
The Configuration Recorder
Configuration Items
Configuration History
Configuration Snapshots
Monitoring Changes

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592

Table of A-184, II Floor, Bhishma Pitamah Marg,


Kotla Mubarakpur,

CONTENTS
New Delhi - 110003

[email protected]
PAGE | 10 NETWORK NUTS

DevOps Master Program

03
Amazon Route 53 and Amazon CloudFront
Introduction
The Domain Name System
Namespaces
Name Servers
AWS Domains and Domain Names
Amazon Cloud Domain Registration
Domain Layers
Fully Qualified Domain Names
Zones and Zone Files
Record Types
Alias Records
Amazon Route 53
Domain Registration
DNS Management
Availability Monitoring
Routing Policies
Traffic Flow
Route 53 Resolver
Amazon CloudFront
AWS CLI Example

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592

Table of A-184, II Floor, Bhishma Pitamah Marg,


Kotla Mubarakpur,

CONTENTS
New Delhi - 110003

[email protected]
PAGE | 11 NETWORK NUTS

DevOps Master Program

04
Introduction to IaC
Different IaC tools
Introduction to Terraform
Working with Terraform CLI
Locking Terraform versions
TERRAFORM Exploring Terraform commands
Cloud Automation Terraform graphs
Terraform modules
Terraform workflow
Planning & Writing in Terraform
Creating complete vpc network
Terraform state management
Terraform taints, destroy & import
Using local & remote provisioners
Terraform state on a local backend
Terraform state on S3 buckets
Terraform refresh
Terraform authentication methods
Using Variables
Available configurations in Terraform
Functions in Terraform
Enterprise Terraform - Terraform Cloud
Terraform Sentinel
Integrating Terraform cloud with github

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592

Table of A-184, II Floor, Bhishma Pitamah Marg,


Kotla Mubarakpur,

CONTENTS
New Delhi - 110003

[email protected]
PAGE | 12 NETWORK NUTS

DevOps Master Program

05
Introduction to Containers and Containerization
Introduction to Docker
Setting up a Docker node - On-premise & Cloud
Installing Docker
Docker Architecture
DOCKER
Docker Engine
Containerization Docker Images & Containers
Docker Hub
Introduction to Docker commands
Creating Docker containers
Exposing container ports
Limiting resource utilization by containers
Docker logging
Networking in Docker environments
Introduction to Dockerfile
Creating Dockerfiles from scratch
Docker image history
Inspecting container processes
Docker events
Automating container deployments
Introduction to Docker compose
Docker compose CLI
Creating Docker compose files
Introduction to Docker Swarm
Running Docker in swarm mode
Working with Docker security
Docker content trust
Working with secrets in Docker

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592

Table of A-184, II Floor, Bhishma Pitamah Marg,


Kotla Mubarakpur,

CONTENTS
New Delhi - 110003

[email protected]
PAGE | 13 NETWORK NUTS

DevOps Master Program

06
Introduction to Kubernetes
Understanding Kubernetes components
Understanding Kubernetes architecture
Installing Kubernetes cluster
How to access cluster in production environment
KUBERNETES Managing cluster using visual code studio
Container Difference between containers & pods
Orchestration Running applications as pods
Understanding importance of labels
Controlling pods resources using QoS
Pod scheduling - nodeselector/affinity/taints
Understanding pod priorities
Understanding deployments & replicasets
Deploying applications as deployments
Implementing kubernetes probes
Understanding replicaset features
Scaling application - manual & automatic
Understanding deployment strategies
Upgrading / rollback application
Understanding kubernetes services
Implementing namespaces
Implementing quota & limit ranges
Network Policies
Understanding persistent volume subsystem
Attaching external storage to kubernetes cluster
Understanding secrets & configmaps
Using daemonsets
Controlling access to cluster using RBAC
Monitoring cluster using prometheus/grafana
Upgrading Kubernetes cluster
Running cluster in HA

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592

Table of A-184, II Floor, Bhishma Pitamah Marg,


Kotla Mubarakpur,

CONTENTS
New Delhi - 110003

[email protected]
PAGE | 14 NETWORK NUTS

DevOps Master Program

06
Understanding kubernetes topology spread
Kubernetes Security Primitives
Image Security using trivy
Service Networking - how kube-proxy works
Kubernetes cluster automation using Ansible
KUBERNETES Kubernetes cluster deployment on the Cloud
Container
Orchestration

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592

Table of A-184, II Floor, Bhishma Pitamah Marg,


Kotla Mubarakpur,

CONTENTS
New Delhi - 110003

[email protected]
PAGE | 15 NETWORK NUTS

DevOps Master Program

07
Introduction to continuous integration and continuous
deployment (CI/CD)
Describe the principles of DevOps and the role of Jenkins.
Integrate source code with version control
Manage source code changes with Git version control.
GIT Test applications
Source Control Describe the foundational principles behind
comprehensive application testing and implement unit,
integration, and functional testing.
Build applications with test-driven development
Implement and build application features with TDD.
Author pipelines
Create basic pipelines to run Jenkins jobs.
Deploy applications with pipelines
Safely and automatically deploy applications to Red Hat
OpenShift Container Platform.
Implement pipeline security and monitoring
Manage the security and monitor the performance of
pipelines.
Consume pipelines
Work with and troubleshoot CI/CD pipelines for automated
deployment and automated testing.

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592

Table of A-184, II Floor, Bhishma Pitamah Marg,


Kotla Mubarakpur,

CONTENTS
New Delhi - 110003

[email protected]
PAGE | 16 NETWORK NUTS

DevOps Master Program

08
Introduction to Python
Understanding the need for Python
Why is Python the preferred language?
Python 2 vs Python 3
Strings and string manipulation in Python
Python Python lists and how to use them
Programming for Python dictionaries and how to use them
Automation Data integrity using Tuples in Python
Python comparison operators
Basic Python Fundamentals
For Loops in Python
While Loops in Python
Which loop to use when?
If, Else & Elif in Python
List Comprehension for advanced lists understanding
Using Python methods
Understanding and creating your own functions
Error and Exception Handling
Object Oriented Programming in Python
Python Decorators
User Input in Python

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592

Table of A-184, II Floor, Bhishma Pitamah Marg,


Kotla Mubarakpur,

CONTENTS
New Delhi - 110003

[email protected]
PAGE | 17 NETWORK NUTS

DevOps Master Program

08
File Input & Output in Python
Reading files using Python
Writing and appending to files via Python
Downloading files via Python
Reading CSV files in Python
Python Manipulating CSV files using Python
Programming for Reading JSON files using Python
Automation Manipulating JSON files using Python
Working with PDFs and Images using Python
Using Regular Expressions to find data in log files
Redirecting Regular Expression outputs
Listing files using Python
Finding files using Python
Reading & Extracting ZIP files
Reading & Extracting TAR files

OS Module in Python
Performing basic Operating System tasks via Python
Managing files & directories using OS.PATH
Walking directory tree structures using OS.WALK

Requests Module in Python


Making HTTP GET requests via Python
Making HTTP PUT requests via Python
Manipulating output by HTTP status codes

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592

Table of A-184, II Floor, Bhishma Pitamah Marg,


Kotla Mubarakpur,

CONTENTS
New Delhi - 110003

[email protected]
PAGE | 18 NETWORK NUTS

DevOps Master Program

08
Argument Parser in Python
Need of robust Python + Linux CLI
Creating interactive CLI - 1
Creating interactive CLI - 2

Python Networking in Python


Programming for Running remote commands using Python & SSH via Paramiko
Automation Working with Python & FTP Servers
Copying files between servers using Python
Using Python Fabric Module for easy interaction

Security in Python
Port Scanning a server using Python
Banner grabbing available ports using Python
Capturing transmitting packets through Python
Creating a TCP Server using Python

Python integration with AWS


Why integrate Python with AWS?
Creating an AWS SSH Key
Creating AWS instances with Python
Listing AWS instances with Python
Stopping & Terminating instances
Modifying AWS Instances via Python
Downloading files from S3 Buckets
Uploading files to S3 Buckets

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592

Table of A-184, II Floor, Bhishma Pitamah Marg,


Kotla Mubarakpur,

CONTENTS
New Delhi - 110003

[email protected]
PAGE | 19 NETWORK NUTS

DevOps Master Program

08
Python virtual environments
Why create Python virtual environments?
Using Pipenv to source Python virtual environments

Multithreading vs Multiprocessing in Python


Python What is multithreading?
Programming for When to use multithreading?
Automation Multithreading in Python Requests
Multithreading and checking Linux PIDS
What is multiprocessing?
When to use multiprocessing?
Multiprocessing in Python Requests
Multiprocessing and checking Linux PIDS

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592

Table of A-184, II Floor, Bhishma Pitamah Marg,


Kotla Mubarakpur,

CONTENTS
New Delhi - 110003

[email protected]
PAGE | 20 NETWORK NUTS

DevOps Master Program

09
Introduction to Grafana
Installing Grafana on Linux
Installing Grafana on Docker
Grafana User Interface Overview
Creating Grafana dashboards
GRAFANA Monitoring URLs using Grafana
Monitoring Monitoring Docker containers using Grafana
Monitoring Kubernetes clusters using Grafana
Installing plugins for advanced visualizations
Managing Grafana permissions using Role-Based Access
Control
Embedding Grafana panels on HTML websites
Upgrading Grafana versions

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592

Table of A-184, II Floor, Bhishma Pitamah Marg,


Kotla Mubarakpur,

CONTENTS
New Delhi - 110003

[email protected]
PAGE | 21 NETWORK NUTS

DevOps Master Program

10
Getting started with DevOps culture and practices
Introducing the Open Practice Library
Visualizing work
Facilitating practices with teams
Fostering culture and collaboration
DEVOPS
Team forming and ice breakers
Open Practices Social contracts

TER
Conducting retrospectives
Establishing fundamental technical practices
Continuous integration and delivery
Everything as code
Security automation
The big picture
Driving team alignment with discovery practices
Metrics-based process mapping
Target outcomes
Priority sliders
Setting direction with options pivot practices
Impact and effort prioritization
Value slicing
Delivering value with Agile methodologies
Agile ceremonies
Kanban

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592

Table of A-184, II Floor, Bhishma Pitamah Marg,


Kotla Mubarakpur,

CONTENTS
New Delhi - 110003

[email protected]
PAGE | 21 NETWORK NUTS

DevOps Master Program

+
Project #1 - Infrastructure Automation

Example company is using Cloud for one of their application hosting. The
project uses modular components, multiple frameworks and want the
components to be developed by different teams or by 3rd-party vendors.
PROJECT
+
The company’s goal is to deliver the product updates frequently to
INTERVIEW production with High quality & Reliability. They also want to accelerate

TER
PREPARATION software delivery speed, quality and reduce feedback time between
developers and testers. As development progressed, they are facing multiple
problems, because of various technologies involved in the project. Some of
the challenges are:

Building Complex builds is difficult


Incremental builds are difficult to manage, and deploy
Creating infrastructure on AWS manually is time consuming and prone to errors
Creating kubernetes cluster on AWS manually is taking time and more resources
Code created/modified by one team member is not visible to other team members
There must be a graphical interface to measure performance of application / cluster

To solve these problems, they need to implement Continuous Integration & Continuous Deployment
with DevOps using following tools:

1. Terraform: For provisioning kubernetes infrastructure on AWS. State file should be stored either
in S3 or terraform cloud
2. Git: For version control for tracking changes in the code files of terraform, ansible, docker etc
3. Jenkins: For continuous integration and continuous deployment
4. Docker: For deploying containerized applications
5. Ansible: Configuration management tool which will be used to create kubernetes cluster on aws
and configuring servers
6. AWS: should be used as our platform to build HA infrastructure
7. Grafana / Prometheus: For monitoring cluster / application performance

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592

Table of A-184, II Floor, Bhishma Pitamah Marg,


Kotla Mubarakpur,

CONTENTS
New Delhi - 110003

[email protected]
PAGE | 21 NETWORK NUTS

DevOps Master Program

+
Your basic work flow should be like this:

Step #1 - You should have a separate git repository for terraform


configuration
Step #2 - Terraform team will write the code to create a vpc with
PROJECT
+
complete network and push it on their git repo
INTERVIEW Step #3 - Jenkins, which is already running on AWS should pick the code

TER
PREPARATION from git and create infrastructure in your AWS account
Step #4 - You should then have a separate git repository for ansible
playbooks which will install kubernetes cluster using Jenkins pipeline
Step #5 - Installing prometheus/grafana on kubernetes cluster

Note: additional configuration settings like IP / vpc etc will be shared in classroom.

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592

Table of A-184, II Floor, Bhishma Pitamah Marg,


Kotla Mubarakpur,

CONTENTS
New Delhi - 110003

[email protected]
PAGE | 21 NETWORK NUTS

DevOps Master Program

+
Project #2 - Application Automation

Now, once Example company's infrastructure is setup on cloud. They want


to sell their products online. Company wants a solution that can reduce
the time and effort it needs to enhance its website functionality on a
PROJECT
+
regular basis. They are looking for an automated way to deploy the new
INTERVIEW code (for new features) to the production website whenever they want.

TER
PREPARATION
Steps to follow:

The team of developers working on new features will merge their code to a GitHub repo
As soon as the code is pushed on GitHub, using a CI (Continuous Integration) pipeline, setup in
Jenkins, an automated build will be triggered
The automated build will frequently deploy new features to the production website
Every build will prepare a Dockerfile and push docker images to company's docker-hub
repository
Every docker image will be deployed (Continuous Deployment) to a kubernetes-cluster

Your basic work flow should be like this:

Step #1 - Developer will push the application code into github repo
Step #2 - Jenkins should pick the changes in website application code & build a new image out of it
Step #3 - The new image should be pushed to company's dockerhub repository
Step #4 - As soon as a new image is available, Jenkins, should pick the new image and start building
new version of application

Note: additional information about application / branches will be shared in classroom

WWW.NETWORKNUTS.NET | +91 9818040117 | +91 9312411592

Table of A-184, II Floor, Bhishma Pitamah Marg,


Kotla Mubarakpur,

CONTENTS
New Delhi - 110003

[email protected]
DevOps Master Program
LEARNING PATH
01 02 03 04
LINUX ANSIBLE AWS TERRAFORM
Basics to Linux Amazon Cloud Cloud Automation
Advanced Automation

05 06 07 08
DOCKER KUBERNETES GIT & JENKINS Python
Containerization Container Version Control Programming for
Orchestration & Pipelines Automation

09 10 +
DevOps
GRAFANA DEVOPS
Projects
+
Monitoring Open Practices

MASTER
Interview
Preparation

You might also like