Devops Master Workshop

Introduction to DevOps

DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity. This training enables participants to understand various aspects of how they could enable a DevOps culture and also help them adopt Docker in the true sense.

Git Hands-on Workshop

Git is the most widely used and preferred distributed version control system. Git is used for tracking changes in source code during software development. It is designed for coordinating work among programmers, but it can be used to track changes in any set of files. Its goals include speed, data integrity, and support for distributed, non-linear workflows. This is a keyboard-driven workshop to enable participants to gain in-depth practical knowledge.

CI/CD Pipeline Using Jenkins

Jenkins is an open-source automation server which helps automate activities like build, test, package, deployment which are typical stages of any software development process. Hence it enables teams to build CI/CD pipelines and is a key part of DevOps tooling. This hands-on workshop enables participants on practical aspects of how they could fully automate and build their CI/CD pipeline.

Docker in Action

Docker is the most preferred open-source container platform used to create, test and deploy containerized applications. Containers allow us to package up an application with its dependencies, such as libraries and other configurations. Thus, enabling the application to run reliably on any computing environment. We enable participants to right away start with Docker in their projects.

Infra as Code

IaC is now one of the most used trending best practices of DevOps culture. We will introduce you to open source configuration management tools like Chef, Ansible, Puppet. These are the most popular tools that help us achieve IaC.

Chef is an automation tool that provides a way to define infrastructure as code. Infrastructure as code (IAC) simply means that managing infrastructure by writing code (Automating infrastructure) rather than using manual processes.

Ansible is an open-source software provisioning, configuration management, and application-deployment tool. It runs on many Unix-like systems and can configure both Unix-like systems as well as Microsoft Windows. It includes its own declarative language to describe system configuration

Puppet is a Configuration Management tool that is used for deploying, configuring and managing servers.

Terraform is an open-source infrastructure as code software tool created by HashiCorp. It enables users to define and provision a data centre infrastructure using a high-level configuration language known as Hashicorp Configuration Language, or optionally JSON.

AWS CloudFormation provides a common language for you to model and provision AWS and third-party application resources in your cloud environment. AWS CloudFormation allows you to use programming languages or a simple text file to model and provision, in an automated and secure manner, all the resources needed for your applications across all regions and accounts. This gives you a single source of truth for your AWS and third-party resources.

Chef InSpec is an open-source framework for testing and auditing your applications and infrastructure. Chef InSpec works by comparing the actual state of your system with the desired state that you express in easy-to-read and easy-to-write Chef InSpec code. Chef InSpec detects violations and displays findings in the form of a report but puts you in control of remediation.

Decoding Kubernetes

Kubernetes is the most popular open-source container orchestration tool. It discards all the manual processes required in deploying and scaling of the containers. This is highly used in today’s world where microservices architecture is predominant.

Monitoring with Nagios

Nagios Core is one of the most popularly used open-source free monitoring tools. It helps us to monitor health of the servers, applications services and even databases.

Detailed coverage of Syllabus

Week 1:

Introduction to DevOps

Delivered through a mix of lectures and hands-on demos one will

  • Understand the concept and principles behind DevOps
  • In-depth understanding of DevOps practices
  • Practical know-how on building DevOps pipelines
  • Gain in-depth practical knowledge in DevOps culture, tools and practices

1. DevOps – An overview

  1. What is DevOps?
  2. Wall of Confusion
  3. Why DevOps?
  4. Agile and DevOps
  5. Lean Philosophy

2. Key Principles of DevOps

  1. Holistic System Thinking
  2. No Silos
  3. Rapid and useful feedback
  4. Automate drudgery away

3. DevOps Practices

  1. Practices to enable BizDev Collaboration
  2. Practices to enable DevTest Collaboration
  3. Practices to enable DevOps Collaboration
  4. Infra as Code
  5. Containerization
  6. Monitoring

4. DevOps Culture

  1. Case Study
  2. Transformation
  3. Generic Overview of DevOps Tools

Week 2

Git Hands-on Workshop

This is structured such that one will

  • Learn how to install and setup git in your work environment
  • Will enable you to migrate your code base from other software configuration tools to git
  • You will understand the workflows one needs to follow along with best industry practices.
  • Gain in-depth practical knowledge in advanced git topics.

1. Git Introduction

  1. What is a version control system?
  2. Why git?
  3. History of git
  4. git Installation

2. Basic Concepts of git

  1. Three stages
  2. git Data Model
  3. Creating first repository

3. Branching in git

  1. Local and Global branch
  2. git workflow
  3. Release branching
  4. Branching Strategies

4. Merging

  1. Fast Forward merge
  2. Recursive Merge
  3. Resolving merge conflicts

5. Working with remote repositories

  1. Pull, Push, Fetch, Fork, Pull request

6. Resets to undo everything in git

7. Cherry Pick

  1. Introducing reflogs

8. Tagging approaches

  1. Lightweight Tags
  2. Annotated Tags
  3. Signed tags

9. Stashing for reusability

10. Rebasing as a strategy

Week 3 & 4

CI/CD Pipeline Using Jenkins

This is structured such that one will

  • Learn how to install and setup Jenkins in your work environment
  • Will enable you to build your first CI/CD Pipeline
  • You will understand industry best practices like pipeline as a code
  • Gain in depth practical knowledge in advanced Jenkins topics

1. DevOps and Delivery Pipeline

  1.  Introduction to CI/CD
  2.  Why DevOps?

 2. Installation and configuration of Jenkins

 3. First Pipeline example

  •   a. Scripted Pipeline
  •   b. Declarative Pipeline

 4. Building Continuous Integration (CI) Pipeline

  1. Webhooks
  2. CI Strategy

5. Building Continuous Delivery (CD) Pipeline

        a. Test Automation

 6. Building Continuous Deployment Pipeline

  1. Packaging
  2. One click deployment

 7. Pipeline As a Code

  1. The Jenkins File
  2. Pipeline Script

Week 5 & 6

Containerization and Docker

This is structured such that one will

  •  Learn how to install and setup Docker in your work environment.
  •  Will enable you to build your first Docker containers.
  •  You will understand advanced Docker topics like container orchestration, Docker Swarms.

1. Containerization

 a. Introduction of Virtualization

 b. Introduction of Containerization

 c. Dockers vs. VMs

2. Installation of Docker

3. Docker Key Concepts

  1. Docker CLI         
  2. Docker Daemon                             
  3. Docker Engine                                                  
  4. Docker Machine                                           
  5. Docker Images                                                    
  6. Docker Container                                              

4. Docker Architecture

5. Docker Basic Workflow

a. Create images using Dockerfile

b. Running Containers

6. Docker compose files

 a. Bringing up multiple containers in a Docker host

7. Docker Volumes

  1. Volume mounts
  2. Bind mounts
  3. Tmpfs mounts

 8. Docker Networking

  1. Bridge Network
  2. Host Network
  3. None Network
  4. Overlay Network

 9. Container Orchestration

 a. Introduction to Docker Swarms

Week 6 & 7

Infra as Code

Delivered through a mix of lectures and hands on demos one will

  • Understand the concept and principles of Infra as Code.
  • In depth understanding of how one could automate infrastructure using Chef in serverless mode
  • Practical knowhow of tools and concepts like InSpec, cookbook, recipes etc.
  • Be enabled to start with infrastructure automation using Chef readily.
  • Learn how to install and setup Ansible in your work environment
  • Will enable you to build your first Ansible playbooks.
  • You will understand advanced Ansible topics like roles, modules, facts etc.
  • Learn how to install and setup Puppet in your work environment
  • Will enable you to build your first Puppet manifests.
  • You will understand advanced Puppet topics.

1. Introduction to Infrastructure as code

a. Overview of application infrastructure

b. Why Infrastructure as code?

c. Tools for Infrastructure as code

2. Chef

a. Chef Installation and configurations

b. Get started with the “Hello World” example using Chef.

c. Chef Cookbooks

d. Test Kitchen concepts

e. Chef and OHAI

f. Chef Architecture

  1. Chef Server
  2. Chef Node
  3. Chef Workstation

g. Advanced Cookbook topics

h. Cookbook versioning Understanding Compliance

3. Ansible

a. Installation and setup of Ansible

b. Introduction to Ansible

  1. Modules
  2. Plugins
  3. Inventories
  4. Playbooks

c. Agentless Ansible Architecture

d. Ad-hoc commands in Ansible

e. Overview of YAML language

f. First Ansible playbook

i. Setup an Nginx server

ii. Deploy a Spring pet clinic application

g. Introduction to Ansible Tower

4. Introduction to Puppet

a. What is Puppet?

b. Why do we use Puppet?

c. Why Puppet is preferred?

d. Installation and setup of Puppet

e. Puppet Terminologies

i. Modules

ii. Resource

iii Manifests

iv. Facts

e. Catalogues

f. Puppet Architecture

g. Puppet Master-slave communication

h. Writing your first Puppet code

5. Overview on Terraform

a. Installing Terraform

b. Build Infrastructure using Terraform

c. Change Infrastructure

d. Destroy Infrastructure

6. AWS CloudFormation

a. Overview on AWS CloudFormation

b. Writing first CloudFormation script

c. Advanced CloudFormation

d. Automatic using CloudFormation (Participants should have their AWS account)

7. Chef InSpec

a. InSpec Overview

b. InSpec installation

c. Writing first InSpec Code

d. TDD using InSpec

Week 7 & 8

Decoding Kubernetes

This is structured such that one will

  • Learn how to install and setup the Kubernetes cluster in your work environment.
  • Will enable you to perform deployments in the Kubernetes cluster.
  • You will understand advanced Kubernetes topics

1. Overview on containerization

a. Containers vs VM’s

2. Introduction to Kubernetes

a. What is Kubernetes?

b. Why do we use Kubernetes?

c. Kubernetes vs Docker Swarm

3. Installation and setup of Kubernetes cluster

a. Minikube

b. kubeadm

4. Fundamentals of Kubernetes

a. Nodes

b. Pods

c. Deployments

d. Replica Sets

e. Services

5. Kubernetes Architecture

a. kube proxy

b. kube-apiserver

c. kube-scheduler

d. kube-controller-manager

e. kubelet

f. Container run time

6. Kubernetes dashboard

a. Installation and setup

b. Working with dashboard

7. Deployments in Kubernetes cluster

Week 8

Monitoring with Nagios 

This is structured such that one will

  • Learn how to install and setup Nagios in your work environment.
  • Will enable you to perform monitoring health of servers and applications
  1. Continuous Monitoring
  2. Nagios overview
  3. Nagios Architecture
  4. Features of Nagios
  5. Objects and states of Nagios
  6. Nagios dashboard
  7. Nagios competitors

Upcoming Batches:

 • • Weekend Batch for 8 weeks.

Classes on every Saturday and Sunday from 8 pm to 11 pm IST

 • Weekday Batch for 8 weeks.

Classes on every Tuesday, Wednesday, Thursday from 8 pm to 10 pm IST.

Q & A and Doubt clearing session:

2 -3 hours per week on Monday every week 8 pm to 11 pm

• • 3 hrs of personalised coaching could be blocked after the 8 weeks of training (Participants should utilise this by blocking Trainer’s time beforehand).

Participants will receive the DevOps Master Certification on successful completion of the course with 80% attendance