DevOps is a set of software development practices that combines software development and information technology operations to shorten the systems development life cycle while delivering features, fixes, and updates frequently in close alignment with business objectives.
Version
Control with Git
Learning Objectives: Upon completing this module, you should be able to install
GIT and work with remote repositories and perform management of files for small
as well as large projects, execute branching and merging operation and will
learn about various GIT commands in Git cheat sheet.
Topics:
·
What is version control?
·
What is Git?
·
Why Git for your organization?
·
Installing Git
·
Working with Remote Repositories
·
Branching and Merging in Git
·
Git workflows
·
Git cheat sheet
Hands On/Demo:
Pulling
and Pushing repositories from remote server
1.
Introduction
to Devops
·
Define Devops
·
What is Devops
·
SDLC models,Lean,ITIL,Agile
·
Why Devops?
·
History of Devops
·
Devops Stakeholders
·
Devops Goals
·
Important terminology
·
Devops perspective
·
Devops and Agile
·
Devops Tools
·
Configuration management
·
Continuous Integration and Deployment
GITHUB
Topics:
·
What is version control?
·
What is GitHUB?
·
Why GitHUB for your organization?
·
Installing GitHUB Desktop
·
Working with Remote Repositories
·
Branching and Merging in GitHUB
Hands On/Demo:
Jenkins –
Continuous Integration
1 Introduction.
·
Understanding continuous integration
·
Introduction about Jenkins
·
Build Cycle
·
Jenkins Architecture
2 Installation
·
Obtaining and installing Jenkins
·
Installing and configuring Jenkins using WAR and
RPM
·
Java installation and configuration
·
Maven Installation
·
Exploring Jenkins Dashboard.
3 Jobs
·
Creating Jobs
·
Running the Jobs
·
Setting up the global environments for Jobs
·
Adding and updating Plugins
·
Disabling and deleting jobs
4 Build Deployments
·
Understanding Deployment.
·
Tomcat installation and configuration
5 Securing Jenkins
·
Authentication
·
Jenkins Plugin
·
Authorization
·
Confidentiality
·
Creating users
·
Best Practices for Jenkins
Configuration Management with Ansible
Learning Objectives: Upon completing this module, you should be able to install
Ansible on your machine, write Ansible Playbooks, execute ad-hoc commands using
Ansible and differentiate Ansible and Puppet.
Topics:
·
Introduction to Ansible
·
Ansible Installation
·
Configuring Ansible Roles
·
Write Playbooks
·
Executing adhoc command
·
Implementing Ansible
·
Hands On/Demo:
·
Installing Ansible
·
Configuring Ansible Role
·
Write Playbooks
·
Execute Ad-Hoc commands
Containerization with Docker
Topics:
·
Shipping Transportation Challenges
·
Introducing Docker
·
Understanding images and containers
·
Running Hello World in Docker
·
Introduction to Container
·
Container Life Cycle
·
Sharing and Copying
·
Base Image
·
Docker File
·
Working with containers
·
Publishing Image on Docker Hub
Hands on:
·
Create and Implement docker images and
containers
Publish
image on the docker hub
Containerization with Docker: Ecosystem and Networking
·
Introduction to Docker Ecosystem
·
Docker Compose
·
Docker Swarm
·
Managing Containers
·
Running Containers
·
Introduction to Docker Networking
·
Network Types
·
Docker Container Networking
Hands on:
·
Use Docker Compose to create a WordPress site
·
Start Containers on a Cluster with Docker Swarm
·
Manage Containers locally using Kitematic UI,
Managing Container through Docker UI
8. Containerization using Kubernetes
Topics:
·
Introduction to Kubernetes and Minikube(Tool)
·
Installing Kubernetes
·
Container Orchestration / Container Management
using Kubernetes
·
Managing Workloads in Kubernetes (ReplicaSets
and Deployments)
·
Overview of Services
·
Volume Management
·
Auto-scaling
·
Load-Balancing using Ingress
·
Deploying and scaling an application using
Minikube locally
Hands-On:
·
Scaling and deployment of Docker Application
using Kubernetes
9.Chef for
configuration management
·
Overview of Chef
·
Common Chef Terminology (Server, o Workstation,
Client, Repository etc.)
·
Servers and Nodes
·
Chef Configuration Concepts
·
Workstation Setup
·
How to configure knife
·
Execute some commands to test connection between
knife and workstation
·
Organization Setup
·
Create organization
·
Add yourself and node to organization
· Test
Node Setup
·
Create a server and add to organization
·
Check node details using knife
· Node
Objects and Search
·
How to Add Run list to Node
·
Check node Details
·
Environments
·
How to create Environments
·
Add servers to environments
·
Roles
·
Create roles
·
Add Roles to organization
·
Attributes
·
Understanding of Attributes
·
Creating Custom Attributes
·
Defining in Cookbooks
· Data
bags
·
Understanding the data bags
·
Creating and managing the data bags
·
Creating the data bags using CLI and Chef
Console
·
Sample data bags for Creating Users.
Continuous Monitoring with Nagios
Topics:
·
Introduction to Continuous Monitoring
·
Introduction to Nagios
·
Installing Nagios
·
Nagios Plugins(NRPE) and Objects
·
Nagios Commands and Notification
Hands-On:
Installing Nagios
·
Monitoring of different servers using Nagios