DevOps
​DevOps is not a team or a tool; rather, it is a methodology or approach for employing a variety of solutions to address issues between the development and operations teams. The operations team's insistence that the development team finish outdated, unfinished projects put constant pressure on them to do so. DevOps eliminates the delay period between testing and deploying the code.
As a result, the developer receives immediate feedback on the code, which enables them to quickly fix errors and get the code ready for production.
​
DevOps introduction-
Traditional way
IT Development & Operations
Lifeevele DevOps in a nutshell
• DevOps Evolution DevOps VS Agile VS Waterfall Model DevOps Reason
• DevOps Goals DevOps Values
• 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
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
• Maven Directory Organization
• 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)
​
​