Main Topics
1. Introduction to Devops
2. Version Control with Git
3. GITHUB
4. Jenkins – Continuous Integration
5. Configuration Management with Ansible
6. Containerization with Docker
7. Containerization with Docker: Ecosystem and Networking
8. Containerization using Kubernetes
9. Chef for configuration management
10.Continuous Monitoring with Nagios Details Course Flow
Modules:
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
2. 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: • GIT Installation, Version Control, branching and merging of code. Pulling and Pushing repositories from remote server
3. 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: • GITHUB Installation, Version Control, branching and merging of code. Pulling and Pushing repositories from remote server
4. Jenkins – Continuous Integration
- Introduction.
- Understanding continuous integration
- Introduction about Jenkins
- Build Cycle
- Jenkins Architecture
- Installation
- Obtaining and installing Jenkins
- Installing and configuring Jenkins using WAR and RPM
- Java installation and configuration
- Maven Installation
- Exploring Jenkins Dashboard.
- Jobs
- Creating Jobs
- Running the Jobs
- Setting up the global environments for Jobs
- Adding and updating Plugins
- Disabling and deleting jobs
- Build Deployments
- Understanding Deployment.
- Tomcat installation and configuration
- Securing Jenkins
- Authentication
- Jenkins Plugin
- Authorization
- Confidentiality
- Creating users
- Best Practices for Jenkins
5. 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
6. 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
7. 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.
10.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.