DevOps Course Content PDF
DevOps Course Content PDF
START DATE :
TIMINGS :
DURATION :
TYPE OF BATCH :
FEE :
Ansible
c. Error recovery
d. Iterative tasks with loops
Reusable Ansible Content with Roles
a. Task, handler, variable and playbook inclusion concepts
b. Roles
Troubleshooting Ansible
a. Playbook logging and verbosity
b. Variable introspection
c. Debugging code execution
Minimizing Downtime with Rolling deployments
a. In-place upgrades
b. Expanding and contracting
c. Failing fast
d. Minimizing disruptions
e. Serializing single tasks
Chef
System Architecture
a. Chef Architecture
b. Scripts vs IaaC (Procedural vs Declarative Approaches)
c. Pull Model Centralized Configuration Management
Chef Terminology
a. Infrastructure as code
b. Desired State Configuration
c. Idempotence and Convergance
d. Configuration Drift
Chef Tools
a. Chef Server
b. ChefDK
c. Knife
d. Test Kitchen
e. Supermarket
f. Foodcritic
g. Inspec
Core Components of Chef
a. Cookbooks
b. Recipes
c. Resources
d. Nodes
e. Runlists
f. Roles
g. Environments
h. Attributes
i. Databags
Chef Workflow
Cookbook development
a. Generators
b. Test Driven Development
c. Chef Spec
d. Test Kitchen Configuration
Data Driven Cookbooks
a. Node Objects, Attributes and Ohai
b. Default Attributes
c. Attribute Precedence
Customizing Cookbooks
a. Customization Strategies
b. Creating a Wrapper Cookbook
Multi Environment and Multi node Deployment
a. Using Roles
b. Using Environments
c. Using Databags
CI/CD
Continuous Integration
Continuous Delivery
Continuous Deployment
Importance of CI/CD Engines in Building DevOps Pipelines
Jenkins
Key Constructs of Jenkins
a. Job
b. Build
c. Version Control System
d. Test Executions
e. Plugins
f. CLI
g. Rest API
h. Security
i. Distributed Builds
Jenkins Internals
a. Jenkins execution under the hood
b. Importance of Environment Variables
c. Why Jenkins is called as Cron on Steriods
Jenkins Installation
Jenkins Distributed Build Setup (Multi node configuration)
Jenkins Administration
Jenkins Views and Free Style Projects
Parametrization and Up/DownStream Projects
Jenkins Pipelines , Groovy and Jenkins DSL
Jenkins Integrations
a. Git
b. Ansible
c. Docker
d. Kubernetes
e. Chef
f. Terraform
g. JIRA
h. Python
Code Build
Code Deploy
Creating a simple pipeline using AWS Code Commit, Code Build and Code
Deploy
Infrastructure Provisioning
Packer
What is Packer
Why Use Packer
Installing Packer
Packer Constructs
a. Artifacts
b. Builds
c. Builders
d. Commands
e. Post-Processor
f. Provisioners
g. Templates
Packer CLI
Creating AWS AMI using Packer
Creating Azure VM Image using Packer
Creating Vagrant Box using Packer
Provisioning using Ansible and Chef
Terraform
Infrastructure Provisioning
a. What is Infrastructure as Code
b. Infrastructure as Code in the Cloud
c. How Terraform Does Infra Provisioning
Installation
Terraform Constructs
a. Terraform DSL
b. Providers
c. Resource
d. Arguments
e. Attributes
f. Variables
g. Maps and Lookups
h. Modules
i. Local State
j. Remote State
k. Taint and Update Resources
Terraform DSL
a. Declaring Variables
Docker
Docker Overview
a. Docker Overview
b. Understanding Docker
c. Difference between Physical Servers, Virtual Machines and Docker
d. Docker Installation
e. Docker CLI Overview
f. Docker and container
Building Container Images
a. Dockerfile
b. Dockerfile instructions
c. Multi stage Docker build
Storing and Distributing Images
a. Docker Hub
b. Docker Store
c. Docker Registry
d. Docker Trusted Registry
e. Azure Container Registry
f. Amazon ECR
Managing Containers
a. Docker container Commands
b. Docker Network and Volumes
Docker Networking
Docker Volumes (Storage)
Docker Compose
a. Installation
b. Docker Compose Yaml file
Kubernetes
Overview
Introduction to Microservices
Clustering and Orchestration
Kubernetes Architecture
Kubernetes Core Concepts
o Pods
o Namespaces
o API primitives
Kubernetes runtime
Health checks
Application Scheduling
Kubernetes Networking
Service Discovery
DNS
Multitenancy
Kubernetes Namespaces
Kubernetes Storage Overview
Persistent Storage & Stateful sets
Monitoring, Logging & Troubleshooting
Creating Kubernetes Clusters
Cluster Authentication, Authorization & Container Security
Running Stateful Applications with Kubernetes
Rolling Updates, Scalability & Quotas
Kubernetes Package management with Helm
Understanding & Using Helm
Creating Helm Charts
Native Kubernetes on Amazon Cloud using Elastic Kubernetes Services (EKS)
Native Kubernetes on Azure using Azure Kubernetes Services (AKS)
OpenShift
Overview
Understanding OpenShift’s business value
OpenShift flavors
Installing OpenShift
Managing Persistent Storage
OpenShift Concepts
o Projects
o Users
o Applications
o Pods
o Services
o Routes
o ImageStreams
o ConfigMaps
o ResourceQuotas
o Templates
o Autoscaling
OpenShift Networking
CI/CD Pipelines in OpenShift
OpenShift HA Architecture
o Background on DevOps
o Background on SRE
Introduction to SRE
Monitoring
o Why Monitoring
o Instrumenting an application
o What should be measured
o Collecting and saving monitoring Data
o Displaying monitoring information
Monitoring with Nagios (polling application)
Monitoring with Elastic Stack (push application)
Incident Response
o What is an incident
o Alerting
Postmortems
o What is postmortem
o Why & when to write a postmortem document
o Carrying out incident analysis
o How to write postmortem document
o Analyzing past postmortems
MTTR and MTBF
Alert fatigue
Testing and Releasing
o Testing
o Releasing
o Automation
Continuous Everything
Canarying Release
o Release Engineering Principles
o What is Canarying
o A Roll Forward Deployment vs Simple Canary Deployment
o Canary Implementation
o Selecting and Evaluating Metrics
o Dependencies & Isolation
o Requirements on Monitoring Data
o Evaluation
Shell Scripting
Why and What of Shell Scripting
Shell Terminals
Creation & Execution of Shell Scripts
Variables & Variable Scopes
Conditions in Shell Scripts
Iterating with loops
Functions in Shell Scripts
Regular Expressions
Command Piping with grep
Stream Editor
Python
Introduction
o Why Python?
o Installing Python
o Python 2 vs Python 3
Types in Python
o Integers & Floats
o String
o Booleans
o None
o Lists
o Dictionary
o Other Data Types
Statements in Python
o If
o Loops
o Break & Continue
o While
Exceptions in Python
Functions
File Management in Python
Yield
Lambda Functions
Object Oriented Programming with Python
o Classes
o Methods
o Constructors
o Instance & Class Attributes
o Inheritance & Polymorphism
Python Tips & Tricks
Strings & Collections
Modularity
Handling Exceptions
Networking
Basic Networking Concepts
o Computer Network
o Terminology
o Network Protocol
o Ping & Traceroute
o What is IP address
Windows Server
Setup
Understanding the Client Server Architecture
Server Manager
Managing Local User Accounts
Task Manager
Windows Administrative Tools
Active Directory
DHCP
DNS and Name Resolution
IIS Services and Configuration
Active Directory Groups & OU
Group Policy Management
Windows Server Backups Overview
PowerShell
Introduction to PowerShell
o What is PowerShell
o PowerShell Editors
o Getting Help
o Command Naming & Discovery
PowerShell DSC
Introduction & Overview of PowerShell DSC
DSC Architecture
DSC Configuration Files
DSC Resources
Pushing DSC Configurations
DSC Cross Platform Support
Others
Kafka Configuration
Vagrant
Virtualization
Groovy Scripting