DevOps Online Training Course Content.
DevOps Overview
DevOps is a culture, movement or practice that emphasizes the collaboration and communication of both Software Developers and other information-technology (IT)
Professionals while automating the process of software delivery and infrastructure changes.
It aims at establishing a culture and environment where building, testing, and releasing software can happen rapidly, frequently, and more reliably.
DevOps promotes a set of processes and methods for thinking about communication and collaboration between Development, QA, and IT operations. Because DevOps is a cultural shift and collaboration between development, operations and testing, there is no single DevOps tool, rather a set or “DevOps tool chain” consisting of multiple tools.
Generally, DevOps tools fit into one or more of these categories, which is reflective of the software development and delivery process:
Code – Code development and review, continuous integration tools
Build – Version control tools, code merging, build status
Test – Test and results determine performance
Package – Artifact repository, application pre-deployment staging
Release – Change management, release approvals, release automation
Configure – Infrastructure configuration and management, Infra as Code tools
Monitor – Applications performance monitoring, end user experience
Devops Course Content
- Introduction to DevOps
- What is DevOps
- Why DevOps
- Business/IT perspective
- Developer/Tester perspective
- Problem That DevOps Solves
Overview of DevOps Pipeline
- Introduction to DevOps
- Overview of DevOps Pipelines
- Version Source Control
- Configuration Management
- Continuous Integration
- Continuous Deployment
Over of Public Cloud-AWS
- Introduction
- Public vs. Private Cloud Platforms
- Infrastructure as a Service (IAAS)
- Platform as a Service (PAAS)
- Global Infrastructure
Virtualization
- Introduction
- What is Virtualization
- Basics of Virtualization
Basics of Networking
- Network and Host
- IPv4 and IPv6
- Classes in IPv4
- IP addressing,
- Deriving Network and Host
- Subnetting/Subnet Mask
- Private IP addresses series
- NAT addressing/NAT Gateway
Public Cloud-AWS
- EC2 101
- EBS
- Instance /Emphermal Volumes
- Create a custom AMI
- Create Public and Private AMI
- KeyPair
- How to use Putty and Putty Gen
- Private Sub-Windows 2012 R2,
- Connectivity from Pub to Private
- Creation of Snapshots
- Manual/Automated Snapshots
- Load Balancers and Health Checks
Version Control–GIT
- What is Version Control System?
- Git
- GITHUB
- GITHUB Desktop
- Installation
- Configuration
- Basic Commands
- Branches
- Repositories
Version Control-AWS CODE COMMIT
- What is Code Commit
- Installation
- Configuration
- Basic Commands
- Branches/Repositories
Build Management-MAVEN
- Automated Build Process
- Maven
- Introduction
- Maven Structure
- Maven Dependencies
- Maven Repositories
- Maven Plugins
- Integrated Maven Build
Build Management-CODEBUILD
- Introduction to Build Tools
- Basics of AWS CodeBuild
- Components of AWS CodeBuild
- Using CodeBuild in your projects
Continuous Integration -Jenkins-I
- What is Jenkins
- Installation
- Configuring Jenkins
- What is node
- Configuring node
- Setting up a node
- Jobs
- Plugins
- Description
- Creating Application Builds
- Anatomy of Build
- Cloning the sample Project
- Creating the Jenkins job and Configuring a Git Repo
- Compiling in Jenkins
- Browsing the workspace in Jenkins
- App Packaging in Jenkins
- Automated Test Executions in Jenkins
- Visualizing Test Results
- Cleaning up past builds
- Jenkins Dashboard
CI and CD using AWS Code Deploy and Code Pipeline
- Introduction to AWS CodeDeploy
- Components to AWS CodeDeploy
- AppSpec File Configuration
- Deployment Using CodeDeploy
- What is CodePipeline
- Use cases of CodePipline
- Continuous Delivery using CodePipeLine
Provisioning Management Tool--VAGRANT
- Introduction
- What is Vagrant?
- Setting up Vagrant
- Virtual Box Installation
- Vagrant Installation
- Vagrant without Virtual Box
- Using Vagrant/Vagrant Machine
- Vagrant Files
- Boxes
- Running Vagrant Machines
- SSH to Vagrant Machine
- Vagrant Boxes
- Basic Box Management
- Creating Boxes from existing environment
Configuration Management Tool-Chef
- What is Chef?
- Chef Server
- Chef Workstation
- Chef-Repo
- Chef-Client
- Server and Nodes
- What is Cookbook
- What is Knife?
- Roles
- Creating Web/DB
- Extending Chef
- Knife plugins
- Deploying Nodes in Production
- Unattended Node Bootstrapping
- Adding Local Chef-Repo to Github
- Data-Bags
Configuration Management Tool-AWS CHEF AUTOMATE
- What does AWS Chef Automate?
- Uses cases of Chef Automate
- AWS Chef Automate Concepts
- Launching AWS Chef Automate
Configuration Management Tool–AWS OPS WORKS
- What is AWS OPSWORKS?
- Uses cases of AWS OPSWorks
- AWS OPSWorks Concepts
- Launching AWS OPSWorks
Configuration Management Tool-ANSIBLE
- Introduction to Ansible
- Installing Ensile
- Testing with First Ansible
- Ansible Configuration Basics
- Working with python based systems
- Plays & Playbooks’ basics
- Basic Play book
- Advance Playbook usage
- Roles
- Introduction to Roles
- Role Basics
- Creating Role
- Ansible Galaxy
Configuration Management Tool-Puppet
- Introduction to puppet
- Nodes
- Puppet Components
- Installing the puppet master learning puppet master layout
- Installing the puppet Enterprise layout
- conf
- Facter
- Defining & testing our first class
- Puppet DSL
- Adding Ubuntu Node & testing
- Files & Resource Defaults
- Hiera
- Puppet Management
- Common Console Tasks
Provisioning Management Tool-TERRAFORM
- Introduction to Terraform
- Use Cases
- Terraform Vs Chef Vs Puppet
- Install Terraform
- Using Terraform
- Launching infra using Terraform
- Creating and Destroying Infra
AWS DEVOPS TOOLS-ElasticBean Stalk
- Introduction to Elastic Beanstalk
- Use Cases
- Using Elastic Beanstalk
- Envoirment Provising
- Sample Application provisioning
Containerization-DOCKER
- What is Docker
- Installing Docker on Windows, Linux
- Docker Pull,Build,Run
- Working with images
- Container Life cycle
- Dockerfile
- Pushing App to GitHub
- Configuring Test Builds
- Performing test Builds
- Pushing App to Production
Monitoring
- Nagios
- Installation of Nagios
- Configuring Nagios
- Monitoring with Nagios
- Triggering Alerts
Elasticsearch + logstash + Kibana
- Installation of ELK stack
- Configuring the ELK Stack
- Monitoring