DevOps Introduction-Traditional way – IT Development & Operations Lifecycle DevOps in a nutshell
• DevOps Evolution DevOps VS Agile VS Waterfall Model DevOps Reasonl
• DevOps Goals DevOps Valuesl
• DevOps Stakeholders
• DevOps Principles – The Three Ways
• Continuous Testing, Integration, Delivery & Deployment
• DevOps Lifecycle DevOps Tools
• DevOps Toolchain
• DevOps Three Stage Conversion
Linux Basics
• Softwares & Operating Systems
• Working with Linux
• Linux Basic Commands
• Linux Editors vi, nano
• Linux Shell Scripting
Lab Setup
• Cloud Basics
• Create Windows & Linux VM
• Install Tomcat/Apache/HTTPD on AWS EC2 Instances (Windows & Linux) Deploying sample application on Tomcat
SCM/VCS (Git)
• Introduction to SCM/VCS
• Use of SCM/VCS
• SCM Goals
• Why Version Control?
• Example Scenarios
• VCS Types (Centralized & Distributed)
• About Git
• Why Git
• Git Snapshots
• Repositories
• Git Lifecycle
• Local Git areas
• Git workflow
• Download & Install Git
• Creating Repository
• Initial Git configurations
• Git Commit Checksums
• Viewing & Undoing Changes
• Add & Commit a file
• Git Tag
• Git Branching & Merging
• Merge Conflicts
• Types of Merge
• GitHub Introduction, Creating Account and Working with Github
• Adding GitHub publickey
• Github Pages
• Git Stash
• Git Rebase
• Git Format Patch
• Git Squash
• Git Workflows
• Git Revert & Reset
Build Management with Maven
• Build Management
• Introduction to Maven
• Characteristics of Maven
• Build Tool Retrospective
• Ant, Maven & Gradle differences
• Maven Architecture
• Artifact Repository
• Build Lifecycle
• GAV
• Download and Install Maven
• Maven Repositories
• What is POM?
• Maven Plugin Management
• Working with multi-module project
• Dependency Management
• Deployment Automation
• Maven Site
• Software Quality
• Code Coverage with Jacoco
• Source Code Analysis with SonarQube
Continuous Integration, Continuous Delivery & Continuous Deployment with Jenkins
• Continuous Integration
• Jenkins for CI
• Why Jenkins
• Jenkins Plugins
• Jenkins Benefit
• CI Workflow
• Jenkins Architecture
• Jenkins Master-Slave
• Jenkins User management
• Download & Install Jenkins
• Jenkins Setup
• Create Jenkins Project/Job
• Jenkins Maven Integration
• Jenkins Jacoco Integration
• Jenkins SonarQube Integration
• Artifact Management
• Jenkins with JFrog Artifactory
• Jenkins with Nexus Repository Manager
• Continuous Delivery
• Jenkins Pipeline
• Jenkins Plugins to try
• Jenkins CI
• Jenkins Configuring Email Notification
• Jenkins Server Maintenance
• Jenkins Best Practices
• Continuous Deployment
Cloud & AWS
• Cloud Computing
• Cloud Computing Models
• Service Model & Deployment Model
• Service Model: SAAS, PAAS & IAAS
• Deployment Model: Private, Public, Hybrid, Community
• Advantages of Cloud
• AWS
• What is Amazon
• What is Amazon Web Services
• Communicate with AWS
• Create AWS Account
• Amazon EC2 Features & Hands-on
• Amazon S3 Features & Hands-on
• Amazon CLI
Containers & Dockers
• What are Containers & Vm’s
• Virtual Machines
• Containers
• VM vs. Containers
• Docker Use
• Co-existence (VM & Docker)
• Docker Concept
• Docker Architecture
• Docker Lifecycle
• Docker Engine, Docker Client, Docker Daemon, Containers
• Download & Install Docker on Linux and Windows
• Launch Linux & Windows Containers
• Dockerfile
• Docker Volumes
• Docker Compose
• Microservices
• Docker Swarm – Container Orchestration
Container Orchestration with Kubernetes
• Basics of Kubernetes
• Creating minqube to understand the concepts of Kubernetes
Configuration Management with Ansible
• Configuration Management
• Use of Configuration Management
• Configuration Management Tools
• Chef, Puppet, Ansible, SaltStack Differences
• What is Ansible?
• Ansible History
• Ansible Basics & Architecture – Modules, Playbooks, Variables, Inventories
• Download and Install Ansible
• Ansible Commands
• CICD Pipeline
• Integrate Ansible with Jenkins
Continuous Monitoring with Nagios
• What is Continuous Monitoring?
• Why Continuous Monitoring?
• What is Nagios?
• Alternatives to Nagios
• Nagios Architecture
• Install Nagios and Configure Client
Mini Projects – Executed throughout the course
• GIT, Maven and Jenkins Integration
• Jenkins, Docker and Nexus repository
• Jenkins with SonarQube Integration
• Automated Deployment for real-time project
• Sample project automation by using all DevOps tools ( GIT, Maven, Jenkins,Docker, Ansible)