DevOps Course Content
DevOps Course Content
DEVOPS BASICS
SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)
Introduction to SDLC
Purpose of SDLC
Phases of SDLC
Various Teams and Roles in SDLC
Various Models of SDLC
Waterfall model
Agile Model
Dev Vs Ops
New trends in SDLC
Why Corporates are shifting to DevOps
Expected Interview Questions on SDLC
INTRODUCTION TO DEVOPS
Introduction to DevOps
History of DevOps
Why DevOps
What is DevOps
Fundamental Principles of DevOps
Values of DevOps
Definition of DevOps
DevOps Features
Benefits of DevOps after Implementation
Benefits of DevOps for Business Organisations
Difference between Left shift and Right shift Implementation in SDLC
DevOps Roles and Responsibilities
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
Continuous Deployment
Continuous Monitoring
Continuous Feedback
Code Delivery Pipeline
Example on DevOps Delivery Pipeline
Introduction to VCS
Purpose of VCS
VCS Workflow
Types of VCS
Local VCS
o Benefits
o Drawbacks
Centralized VCS
o What is CVCS?
o Benefits of CVCS
o Drawbacks of CVCS
o Notable Vendors of CVCS
DVCS
o What is DVCS?
o Benefits of DVCS
o Drawbacks of DVCS
o Notable Vendors of DVCS
Differences between DVCS and CVCS
VCS Basic Setup Terminologies
o Repository
o Server
o Client
o Working Copy
o Trunk
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
VCS Basic Actions Terminologies
o Add
o Revision
o Head
o Checkout
o Check In/commit
o Change log
o Update/Sync
o Revert
VCS Advanced Actions Terminologies
o Pull
o Push
o Branch
o Delta
o Merge/patch
o Conflict
o Resolve
o Locking
o Reverse Integration
o Forward Integration
Version Control Systems Best Practices
Sample Architectures of DCVS and CVCS
Exercises on VCS Architecture understanding
Expected Interview Questions on VCS
GIT
Introduction to Git
Git Features
Role of Git in Real Time
Git installation on Windows and Screen shots
Git installation on Linux
Git Architecture
o Working Directory
o Staging Area (Index Area)
o Local Repo
What is Git Repository?
Git with Local Repositories
Git with Remote Repositories
Git Configuration Files
o git configuration files understanding
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
o Git Configuration files Precedence
o git config command usage
o Set git environment variables for global level
o Set git environment variables for local level
o Setup git repository using git init
o Difference between git init, git init --bare
o Stop git tracking files using git ignore
o Case study to understand Git config global and local levels
o Create alias for git commands
o Troubleshoot git init issues
o Expected Interview Questions
Git Making Changes
o git add
o git status
o git status color coding system
o git commit
o Exercises on adding single files, multiple files commits
o Committing Changes in one go
o Case Study on how developers use git commit in real time
o Case Study on how to find what files are being tracked in project
o Case Study on how to add the changes recursively to git
o Troubleshoot changes made to Staging area
o Troubleshoot changes made to Local Repository
o Expected Interview Questions
Git History - log and show
o View all commit logs
o View only latest commits logs
o View commits of specific author or committer
o View log commit changes based on date ranges
o View log changes of each commit
o View logs based on files
o View logs based on commit message
o git show command
Git Rename, Move and Delete Files
o How to rename the files using git
o How to rename the files using a operating system level
o How to move the files in git
o How to delete the files in git before staging
o How to delete the files in git after staging
o How to delete the files that are tracked by git - Local Repository
o Submit the changes of rename move and delete in git
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
Git Parallel Development
o git branch
o git merge
o git rebase
Comparing git project files from working area with Local Repo using git diff
Git diff --staged
Git Backout the Changes
o git reset HEAD
o git checkout
o Case study on backout changes in git
Git Remote
Real Time Workflow of Git Branching
Delete Git branches on Local Repo and Remote Repo
How to remove git files from Local Repo and Remote repo
How to Rename Git files in Repositories
Expected Interview Questions on Git
GITHUB
Introduction to Github
Various vendors of Remote Repository
Features of github
Create Account in github
Create Project Repository in github
Create files in github
Clone Github Repository
Pull changes from github Repository
Push changes to github Repository
Best Practices of Git
Troubleshooting Git Error messages
Expected Interview Questions on GitHub
CONTINUOUS INTEGRATION
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
Generic Architecture of Continuous Integration in Projects
Continuous Integration Workflow
Components of Continuous Integration
Case Study - situation if there is no C.I tool used in Projects
Few notable Continuous Integration Tools
Market Share of C.I Tools
Expected Interview Questions on Continuous Integration
Introduction to Jenkins
o Why Jenkins
o Relation between Jenkins and Hudson
o History of Jenkins
o Why Jenkins is so popular
Features of Jenkins
o General Features
o Technical Features
Jenkins Architecture
Jenkins Prerequisites
o Minimum Hardware Requirements
o Recommended Hardware Requirements
o Docker Container Requirements
o Software Requirements
o Supported Platforms
Setup Jenkin Server
o Install Software Pre-Requisite software’s (Java)
o Setup Environment Variables
o Install Jenkins using war file
o Deploy Jenkins on RHEL
o Setup firewall settings for Jenkins Server
Jenkins Terminologies
o Master
o Slave or Node
o Job or Project
o Executor
o Build
o Plugin
Jenkins Dashboard Overview
o Job Listing Section
o Jenkins Menu Section
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
o Jenkins Menu- Item
o Jenkins Menu-People
o Jenkins Menu-Build History
o Jenkins Menu-Manage Jenkins
o Jenkins Menu-views
o Build Queue Section
o Build Executor status Section
Jenkins - Creating Jobs in Jenkins
o Naming a Project or Job
o Choosing right Project Type
o About Project Descriptions
o Set the storage limits for old discard builds
o How to disable the build systems
o Source Code Management
o Build Triggers
o Create a Sample Project
Understand Jenkins Job Process
o How to check Build Information
o Jenkins Build Color Code system
Configure Jenkins Build Server
o Configure Java JDK for Jenkins Build Server
o Configure Apache Maven for Jenkins Build Server
o Configure the JAVA JDK for Build jobs in Jenkins
o Configure the Maven for Build Jobs in Jenkins
o Configure Github for Build Jobs in Jenkins
o Configure SCM-Git Plugin for Build Jobs in Jenkins
Secure Jenkins
Manage Jenkins Plugins
o Install Plugins
o Upgrade Plugins
o Backup plugins
Jenkins User administration
o Create Jenkins User Accounts by various methods
o Configure Jenkins User Accounts
o Delete Jenkins User Accounts
Manage Jenkins Users based on Roles
o Install plugins to manage roles
o Roles - Manage Roles, Assign Roles, Role Strategy
Configure Jenkins
o How to change the Jenkins Admin Password
o Change Home Directory
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
o Configure system messages in Plain text or HTML format
o Configure - Executors, Labels, Quiet Period, SCM Checkout Retry Count
o Configure - Jenkins URL Location and Admin email ID
Build Triggers
o Configure Poll Source Code management in Jenkins
o Configure Poll SCM Changes using Crontab in Jenkins
o Trigger Builds Remotely using URL
o Trigger builds using Token ID
o Trigger Builds based on build Pipeline or other Projects
o Case Study on Access Denied Error message when trigger builds remotely
o Build triggers periodically
o Build triggers when changes pushed to Github or SCM
Distributed Builds
o What is Distributed Build?
o Architecture of Distributed Build
o Configure Jenkins Master Server
o Configure Jenkins Slave Server
o Configure authentication between Master-Slave
o Setup Relationship between Master and Slave
o Configure Project to build on Jenkins slave server
o Configure Various Launch options using SSH, Java Web Start
Email Notifications in Jenkins
o Purpose of Email Notification
o Email Notification plugins
o Configure Email Notification in Jenkins
o Demonstrate usage of email notification on builds
Expected Interview Question on Jenkins
What is Build?
Purpose of Build Tools
Build Tools Ideology
Evolution of Build Tools
Few Notable Build Tools
Environment Based Build Tools
Java Based Build Tools
Sample Build Code of Ant-Ivy
Sample Build code of Maven
Sample Build Code of Gradle
Market Share of Build Tools
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
Expected Interview Questions on Build Tools
Configuration Management
Introduction to Chef
Features of Chef
Architecture of Chef
Chef Server setup
Chef Workstation setup
Chef node setup
Chef Client commands
Chef knife commands
Chef concepts - Cookbooks, Resources, Runlist, Recipes, Environment, data bags, Roles
Chef Resources
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
o What is a chef Resource?
o Resource Types
o Resources Definition
o What is Desired State in chef?
o What is Convergence in chef?
o Case Study on Resources
o How to Execute a Resource file (Recipe)
o Exercise on Resources
Chef Cookbooks
o What is Chef Cookbook?
o Chef Cookbook Components
o Chef Common Cookbook Components
o Chef Cookbook Types
o Chef help procedures
o How to create Cookbooks in Chef
o About cookbook component - Recipes
o About Cook Component - Unit Testing
o About Cook Component - Integration Testing
o How to track changes in chef using git
o How to configure Git on a Chef cookbook
o Procedure to be followed when made changes to a Cookbook
o How to apply Semantic versioning on Cookbook
o How to verify the syntax errors in recipe file
LAB Exercises on Cookbook and Recipe
o Applying semantic versioning with changes on cookbook
o Setup apache web server
o Demonstrate functionality test on recipe files in a cookbook
Applying chef-client methods
o How to apply single recipes using chef-client in local mode
o What is Local Mode?
o What is Runlist
o How to apply chef-client using runlist on single cookbook
o How to apply chef-client using runlist on multiple cookbooks
o How to use include recipe method
o Sample case studies
Chef knife commands
o Create a cookbook using knife command
o Delete a cookbook using knife command from workstation
o Delete a cookbook using knife command
o How to upload a cookbook to chef server
o How to attach a recipe or cookbook to chef node
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
o List nodes using knife command
o See details about node using knife command
o Knife command to check all cookbook lists
o Download a cookbook from Chef Server to Workstation
o How to generate metadata of a cookbook
o How to test a cookbook syntax using knife commands
o How to check recent change status on chef node
o How to bootstrap a node
o How to delete a node
Implementation Procedures of Chef in Real Time
Expected Interview Questions on Chef
PUPPET
Introduction to Puppet
Puppet Features
Why Puppet
How Puppet Is Different From Script
Difference between Imperative and Declarative Style
Puppet Use-cases
Notable CM Tools Based Pull and Push Mechanisms
Sample of Puppet Code
Puppet Documentation
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
Puppet Architecture
How Puppet Works
Execution Flow of Puppet Master and Puppet Agent
Puppet Terminologies - Puppet Master
Puppet Terminologies - Puppet Agent
Puppet Terminologies - Puppet Config Repository
Puppet Terminologies - Puppet Facts
Puppet Terminologies - Puppet Catalog
Puppet Terminologies - Puppet Resources
Puppet Terminologies - Puppet Manifests
Puppet Terminologies - Puppet Module
Few Exercises of Puppet Basics
Expected Interview Questions
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
Puppet Resources Types and Puppet Utility
Puppet Resources
Resources Types
Built In Resources
Defined Resources
Custom Resources
Puppet Resources Declaration
Sample Puppet DSL Code
How to Find Resource Types in Puppet
Puppet Describe
Puppet Code Creation Process
Puppet Parser
Puppet Apply
Puppet Classes
Class Definition and Syntax
Sample Class Code
Puppet Class Exercise
Puppet Manifests
Puppet Config Print Utility
Puppet Code Execution Process on Agents
Site.pp File
Node Definition
How to Bind Site.pp Files to Specific Agent
Use Case of Default Session in Site.pp File
Expected Interview Questions
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
Introduction to Ansible
Features of Ansible
Use Cases of Ansible
What Ansible Can Do In Production Environment
Ansible Documentation
How Ansible Is Different From Configuration Management Tools
Ansible Architecture
Ansible Control Machine Requirements
Ansible Installation Process on RHEL
Ansible Terminologies
How Ansible Works
Ansible Lab-setup
YAML Basics
Ansible Playbooks
Sample Ansible Playbook
Ansible Playbook Format
Ansible Modules
Ansible Tasks
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
How to Run Playbooks
How to check syntax of a Playbook
How to run a playbook on multiple hosts
How to run a playbook on target hosts
Ansible Run Command Methods
Ansible Playbook Exercise 1: Perform Ping Test on All Hosts of Inventory File
Ansible Playbook Exercise 2: To Install Git on All Hosts using script module
Ansible Playbook Exercise 3: To Install a Web Server httpd using yum module
Ansible Playbook Exercise 4: To start an httpd service using service module
References on Playbook and Modules
Ansible Variables
Ansible Galaxy
DOCKER
Introduction to Docker
Why docker
What is a container?
Relation between container and docker
Docker features
Why docker is so popular
Difference between container and image
Containers History
Docker Architecture
Docker Editions
Docker system Requirements
Docker installation and setup
How to verify docker installation
About Docker version
How to see list images in docker
What is Docker Registries?
How to see all docker images
How to pull images from docker registries
What is pulling in docker
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
Difference between Docker Pull, run, Push
How to run docker image
How to exit from container without killing it
How to exit from container by killing it
How to see all running container on docker host
How to check history of all containers
How to stop a container that is running
How to find latest containers that are created
How to get inside of already a running container
How to start a container and remove it once task is completed
How to delete or remove a container
How to delete or remove image from docker host
Relation between Images and Containers
How to attach a port of docker host to docker container
How to run a container in background
Difference between docker container run and docker container start
How to specify a name to docker container
How to see container logs
How to see processes that are currently running in a docker container
How to see all commands related to a container
How to remove docker multiple containers
How to check docker container metadata using docker inspect
How to see docker container stats
How to list what ports are being used by docker container
How to see Docker Image History
How to see docker image metadata
How to tags docker images
How to log into docker registries using docker CLI
How to logout from docker registries using docker CLI
How to push docker image to docker registries
About Docker file
How to create Dockerfile to build an image
How to build an image from Dockerfile
About Dockerfile Instructions
Expected Interview Questions on Docker
NAGIOS
Introduction to Monitoring
Setup and configure Nagios
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
Server Monitoring
Application Monitoring
Expected Interview Questions on Nagios
VAGRANT
Introduction to Vagrant
Features of Vagrant
Vagrant Architecture
Vagrant Terminologies
Setup of Vagrant
Vagrant Commands (CLI)
Configure Vagrant File
Expected Interview Questions on Vagrant
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
AWS Course Content
Duration: 30 Hours
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
CLOUD COMPUTING PROVISIONING
INTRODUCTION TO AWS
Why AWS
Brief History of AWS
AWS Service Graph
AWS Partner Program
AWS Re-Invent
AWS Re-Pay
AWS Features
Gartner Statistics on AWS
Expected Interview Questions
AWS Regions
AWS Availability Zones (AZ)
AWS Edge Zones
Difference between AWS - Regions, Availability Zones, Edge Zones
Expected Interview Questions
About IAM
What is Root Account?
IAM Features
What is Identify Federation?
IAM Resource is Global Nature
IAM Dashboard Overview
How to create Customize sign in link for IAM users
How to create Multi Factor Authentication (MFA)
How to create IAM User Accounts
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
How to delete IAM User Accounts
Use of Programmatic Access
Use of AWS Console Access
Use of Access Key ID
How to reset IAM User Account
How to Disable IAM User Password
Roles in IAM
Groups in IAM
Account Settings
Creating permissions for IAM Users
Deleting permission for IAM Users
Expected Interview Questions
Introduction to EC2
Features of EC2
EC2 Dashboard Overview
About Amazon Machine Images (AMI)
Different types of AMI’s
How to create AWS AMI
How to create AWS AMI in different regions
How to create a Key Pairs
Download a key pairs
Activate a Key Pairs
Deactivate key Pairs
Configure Microsoft Outlook to send Key Pairs to AIM Users
What is pem file?
What is ppk file?
Why need to convert pem file into ppk file
What are default usernames to connect AMI’S?
How to Login into LINUX AMI from Windows
How to Login into LINUX AMI from Linux
Instance Life Cycle
How to reboot the Instance
How to stop instance
How to terminate instance
Expected Interview Questions
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
AWS - SIMPLE STORAGE SERVICE (S3)
About S3
Features of S3
What is Data Consistency in S3?
What is Atomic in S3?
S3 Properties
S3 Storage types
Comparison of S3 Storage types
Create S3 bucket
Delete S3 bucket
Adding Objects to S3 Bucket
Deleting objects from S3 Bucket
How to set permissions on S3 Bucket
How to set permissions on S3 objects
How to enable or Disable S3 for static Website hosting
How to set S3 Bucket to host a static website hosting
About Endpoint in S3
How to Enable or Disable versioning on S3 Bucket
How to set versioning on S3 objects
Expected Interview Questions
Introduction to VPC
Fundamentals of VPC
IP address fundamentals
IPV4 Address classes
Public IP address
Private IP address
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
Static IP
Dynamic IP
Default VPC
Non-default VPC
Internet Gateway
How to attach Internet Gateway to a VPC
How to Deattach Internet Gateway to a VPC
Elastic IP
How to create a Elastic IP
How to assign an Elastic IP to an EC2
How to release an Elastic IP from an EC2
Expected Interview Questions
AWS - ROUTE53
Introduction to Route53
Route 53 for DNS Services
Traffic Flow
Route 53 Health Checks
Use cases of Route53
AWS - CLOUDWATCH
Introduction to CloudWatch
Features of CloudWatch
List of services under CloudWatch
Metrics
Monitor logs
Monitor Graphs
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
AWS - GLACIER
Introduction to Glacier
Glacier Features
Glacier Pricing
AWS Glacier Access Models
AWS Glacier use cases
What is an Archive?
How to create Life Cycle Management Rule to move an object into Glacier
How to restore an archived object from glacier
Expected Interview Questions
What is a Vault?
AWS Glacier Select
AWS Snowball
AWS Vault Lock
AWS Direct Connect
Introduction to EBS
EBS Features
EBS Benefits
EBS Free Tier usage details
EBS Volume Types - SSD, HDD
EBS Use Cases of SSD
EBS use cases of HDD
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
Instance EBS Volumes
How to check EBS volumes availability
Creating EBS Volumes
Deleting EBS Volumes
Attaching EBS volumes
De-Attach EBS Volumes
How to create Filesystems on EBS
Mount EBS volumes in EC2 instance
Unmount EBS Volumes in EC2 instance
How to verify if there exists any data on EBS Volumes
AWS - SNAPSHOT
What is snapshot?
Purpose of Snapshot
How to create snapshot from EBS Volumes
How to create EBS Volumes from snapshot
How to upgrade EBS Volume types
How to delete a Snapshot
Introduction to RDS
RDS Fundamentals
Create RDS instance using mysql
Manage RDS Database Engine
Automatic Database backup setup
How to Access to RDS Database Engine
Delete an RDS Database Engine
About DBAAS
AWS - DYNAMODB
Introduction to DynamoDB
Features of DynamoDB
Workflow of DynamoDB
DynamoDB Console
Create Tables using DynamoDB
Query Operations in DynamoDB
Expected Interview Questions
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
AWS - ELASTIC LOAD BALANCING
Introduction to SES
Features of SES
Configure SES
Email Formats
Limitations of SES
Introduction to SQS
Features of SQS
Configure SQS
Create Queue
Manage Permissions on Queue
Introduction to SNS
Features of SNS
Topics
Publishers
Subscribers
Notification Changes
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
Linux Essentials for DevOps Course Content
LINUX ESSENTIALS FOR DEVOPS
LINUX BASICS
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
Sudo Access
o What is Sudo
o About /etc/sudoers file
o About visudo
o Steps to give sudo access to a normal user
o About su
o Difference between su and sudo
o Service Request Procedures for Sudo Access in Real Time
Linux Service Management
o Need of Service management
o Service - start, stop, reload and restart status
o Chkconfig - list, on, off, runlevels
o Systemctl - start, stop, reload and restart status
o Troubleshooting Service Error messages
o Implementation Procedures of Service Management in Real Time
Linux User Administration
o Types of users
o User creation Process
o Useradd commands
o Usermod commands
o Userdel commands
o Passwd change commands
o About /etc/passwd file
o About /etc/shadow file
Linux Package Management
o About Utilities of Software Installation
o Install software using RPM
o Install Software using YUM
o Perform consistency tests on software packages before installation
o Troubleshooting Software installation issues
Introduction to Virtualization
Virtualization Types
Hosted
Bare metal
Hypervisors
Virtual Machine Setup
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
Linux Shell Scripting Course Content
LINUX - SHELL SCRIPTING
Introduction to Scripting
About Shell
Shell Scripting
Purpose of Shell Scripting
Various Types of Shells
Shell Flavors and their default shells
Scripting Basics
bash_profile
bash_logout
Variables
What is variable?
Types of variable
Difference between System Defined and User Defined variables
Naming Conventions to declare a Variable
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
Syntax for Variable Declaration
Few Case studies on Valid and invalid variable declarations
Scalar Variables
Accessing the Variables
Passing Arguments
Operators
Arithmetic Operators
Numeric comparison Operators
Logical Operators
Assignment Operators
Control Statements
If condition
If else conditions
While Loop
For loop
Continue
Break
Case condition
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233
How to know file type
How to know if the directory exists or not
How to know file permissions using script
How to know if the file is empty or not
------------------------------------------------------------------------------------------------------------------------------------------
E-mail: [email protected] Phone: +91 9154112233