DevOps Curriculum
DevOps Curriculum
Program in
DEVOPS
Curriculum
CONTENT
02
COURSE 6 - Container Orchestration using Kubernetes
8 MODULES
M1 - Introduction to Container Orchestration
M2 - Kubernetes Architecture and Core Concepts
M3 - Kubernetes Services and Scheduling
M4 - Kubernetes Controllers
M5 - Storage in Kubernetes
M6 - Securing and Troubleshooting the Cluster
M7 - CI/CD using Jenkins X
M8 - CI/CD using Jenkins X Part-2
23
03
COURSE 1
DevOps Fundamentals
05
COURSE 2
Source Code Management using GIT
06
Global Level Configuration
Local Level Configuration
Configuration Commands
list, unset, get, edit, etc.
Client Vs Server Configuration"
07
Recording changes to Repository
Checking Status
Tracking Files
Staging Files
Viewing Staged and Unstaged Changes
Committing Changes
Checking the Commit History
Removing Files
Moving Files
Undoing Things - Reset, Checkout, Restore
08
Switching between branches and different commits
Deleting Branches
Two-way merge and Three-way merge
Merge Conflicts
Resolving Merge Conflict
Merging Strategies
Resolve, Recursive, Octopus, Ours, Subtree, Fast Forward
Merging and Rebasing
What is Merging?
What is Rebasing?
How does Rebasing Work?
Advantages of Rebasing
Merging Vs Rebasing
Git Tags
What is a Tag?
Types of Tags
Operations on Tags
09
M4 - Git Workflows
What is a Git Workflow?
Advantages of a Workflow
Different types of Workflows in Git
Centralized Workflow
Feature Branch Workflow
Gitflow Workflow
Forking Workflow
10
M6 - Git Server Administration
Git Server setup
User Management
Access Control for SSH and HTTP access
SSH vs HTTPs -differences between the HTTPS and SSH
Authentication Strategies
Using our system's terminal to generate a public and private
SSH keypair that will allow us to use SSH authentication to
log into our remote GitHub repository
Using our newly generated GitHub key in order to set up SSH
authentication to ease the process of pushing upto GitHub
from our local system
GitLab
Installation
Administration
Working using GitLab
11
COURSE 3
Continuous Integration using Jenkins
12
M2 - Jenkins Plugins
Introduction to Plugins
Need for Plugins
What is a Plugin?
Adding Plugins to Jenkins
Commonly used plugins
List common plugins e.g. Git, Docker, Jira, Maven,
Slack Integration, Kubernetes, Pipeline, Amazon EC2,
Performance, Performance Publisher
Configuring Jenkins to work with
Git and GitHub
Maven
Overview of Maven
Why to Use Maven?
What is Maven?
Maven Vs Gradle Vs Ant
Working of Maven
Maven Build Life Cycle
Creating a Jenkins Build and Jenkins workspace
Configure Jenkins to check for source code changes periodically
Working with Maven Build Jobs"
13
M3 - Build Jobs and Jenkins Security
Jenkins Pipeline
Jenkind Continuous Delivery Pipeline
Pipeline Concepts
Pipeline Syntax
Example/(s)
Build Jobs
Creating a Freestyle Build Job
Introduction to Build Triggers and Build Steps
Pre-and Post-Build Actions: Adding properties and properties files
Running Your New Build Job
Parameterized Builds
Distributed Builds
Setting Up Email Notifications
Securing Jenkins
Access Control
Disabling Security
14
M4 - Metrics to Improve Quality
Looking for foul Code through Code Coverage
Activating and usage of PMD Jenkins plugin
Activating and usage of Findbugs Jenkins plugin
Verifying HTML Validity
Reporting with JavaNCSS
Jenkins with Gradle script build system
Jenkins with shell script build system
15
M6 - Automated and Continuous Deployment
Deployment Overview
Automated Deployment
Continuous Deployment
Deploying an application to an application server
Install and configure Tomcat
Deployment of Simple Java web application using Tomcat
Jenkins Build Pipeline
Parallel Jenkins Build
Archive generated Artifacts
Jenkins integrations (GitHub, slack, Custom API)
Scaling Jenkins"
M7 - Jenkins Pipeline
Overview of Pipeline as code
Overview of Pipeline Plugin
Automated Jenkins Pipeline
16
COURSE 4
Configuration Management using Ansible
17
M2 - Servier Provisiong using Ansible CLI and Playbooks
Ansible CLI
What is Ansible playbook?
Organizing Tasks in Playbook
Introduction to YAML
Writing a Playbook
Using Variables in Playbooks
Variables at runtime using ansible Facts
Use handlers and Flow Control in Ansible scripts
18
M4 - Ansible on Cloud
Launch EC2 Instance on AWS (REHL or CENTOS)
Install Ansible on AWS.
Preparing Ansible to work with AWS
Module support for Docker interaction
19
Software and Server Provisioning
Attributes
Remote State
Modules
Configuration Management using Ansible and Terraform
COURSE 5
Continuous Deployment using Docker
M1 - Introduction to Containerization
Containerization
History of Containers
Namespaces and Cgroups
Containers vs Virtual Machines
Types of Containers
Introduction to Docker
Docker Architecture
Container Lifecycle
Docker CE vs Docker EE
Configuring Logging Drivers
Docker Terminology
20
Port Binding
Detached vs Foreground Mode
Docker CLI
Docker Exec
Restart Policy
M3 - Storage in Docker
Docker Storage
Types of Persistent Storage
Volumes
Bind Mounts
tmpfs Mount
Storage Drivers
Device Mapper
Docker Clean Up
21
M4 - Container Orchestration using Docker
Docker Compose
Docker Swarm
Docker Service
Service Placement
Rolling Update and Rollback
Docker Stack
22
M6 - Docker EE
Docker Enterprise
Universal Control Plane (UCP)
UCP Architecture
Access Control in UCP
Docker Trusted Registry (DTR)
COURSE 6
Container Orchestration using Kubernetes
23
M2 - Kubernetes Architecture and Core Concepts
Kubernetes Core Concepts
Node Status and Node Lease
Kubectl common commands
Understanding Pods
Configure network on cluster nodes
Pod Networking Concepts
Setting up a cluster - Kubernetes Certificates
24
M4 - Kubernetes Controllers
ReplicaSet and ReplicationController
DaemonSets
Deployments
Rolling updates and Rollbacks
Scaling applications
Ingress
M5 - Storage in Kubernetes
PersistentVolume and PersistentVolumeClaim
Access modes for volumes
Primitives for PersistentVolumeClaim
Secrets and ConfigMaps in your pods
Storage classes
Headless services
StatefulSets
25
M6 - Securing and Troubleshooting the Cluster
Authentication
Authorization
Kubernetes security primitives
Configure Network Policies
Security Contexts
ETCD Operations
Jobs
Helm Charts
Troubleshooting application failures
Troubleshooting cluster failure
26
COURSE 7
Continuous Monitoring and DevOps on AWS
28
M5 - SDLC automation using AWS
Important Phases Involved In AWS DevOps
AWS CodeCommit
Versioning in CodeCommit
Working of AWS CodeCommit
AWS CodePipeline
Working of AWS CodePipeline
Concepts of CodePipeline
Input and Output Artifacts
AWS CodeBuild
Working of AWS CodeBuild
AWS CodeDeploy
Primary Components
Deployment Workflow: On A Lambda Platform and
On EC2 Platform
Application Specification File
Deployment Types: In-Place Deployment and
Blue/Green Deployment
AWS CodeStar
Working of AWS CodeStar"
29
M6 - Automating Infrastructure using CloudFormation
Infrastructure As Code
CloudFormation
CloudFormation template
Working of CloudFormation
Advanced CloudFormation Concepts
Nesting
Wait Conditions and Wait Handlers
Helper Scripts
Custom Resources
Intrinsic Functions & Conditions
Update Stack: Direct Update, Update Behaviour,
Change Sets, Stack policy
CloudFormation Resource Deletion Policy
CloudFormation Troubleshoots
CloudFormation Best Practises"
31
Need for ECR
Push an image to ECR
EKS
Need for EKS
EKS Cluster
Deploy webapp with MySql on EKS Kubernetes Cluster
Autoscaling of cluster using AWS EKS
32
EDUREKA
DEVOPS CURRICULUM