DevOps is a set of practices that automates the processes between software Development (Dev) and Operations (Ops). It handshakes between development and operations that emphasizes a shift in mindset, better collaboration, and tighter integration. It integrates various underlying technology at one place in order to produce very productive output in very smooth way.

In the DevOps course, we will be covering following technologies/topics:

Introduction to DevOps

  • What is DevOps?
  • History of DevOps
  • Dev and Ops
  • DevOps definitions
  • DevOps and Software Development Life Cycle
  • DevOps main objectives
  • Infrastructure As A Code
  • Prerequisites for DevOps
  • Tools (Git, Jenkins, Puppet, Ansible, Docker, Nagios etc.)
  • Continuous Integration and Deployment

Introduction to Cloud and Virtualization

  • History and evolution of cloud
  • Cloud computing concepts
  • Characteristics and Benefits of Cloud
  • Cloud service models
  • IaaS, PaaS and SaaS
  • Cloud service model implementations
  • Cloud Deployment Models
  • Virtualization
  • Virtual Machines

 Version/Source Control Management using GIT

  • Git basic concepts
  • Git working flow
  • Git Repo creation and way to manage it
  • Git environment set up
  • Git clone operation
  • Git pull, commit, push, review operation
  • Handling commit conflicts
  • Git branching
  • Git merge and handling merge conflicts

 Continuous Integration with Jenkins

  • Jenkins overview
  • Installation and configuration of Jenkins
  • Jenkins administration (System/Global configuration, manage plugins, Jenkins CLI)
  • Freestyle Project/Job creation
  • Pipeline Project/Job creation (Jenkins File Creation)
  • Integration of Jenkins with other sub-system like GIT, etc
  • Jenkins setup on Docker Container

 Configuration Management using Puppet

  • Basic architecture
  • Puppet master and agents
  • Installation and configuration
  • Puppet working architecture
  • Puppet components (Resource, Class, modules, manifests, functions)
  • Playing with modules from Puppet Forge
  • Puppet setup on Docker Container

 Configuration Management using Ansible

  • Installation & Configuration
  • Ansible Components
  • Introduction to YAML
  • Ansible Playbooks
  • System Facts
  • Target Section
  • Variable Section
  • Handler Section
  • lookups, Runonce, Local Action, Loops, Conditionals, Until, Notify, Tags, Error Handling
  • Ansible modules (File, Setup, Pause, Yum, Service, Copy, Package)
  • Ansible setup on Docker Container

Containerization with Docker

  • Introduction to Docker
  • Docker components
  • Docker daemon and services
  • Docker Container
  • Docker Images
  • Docker Volumes
  • Docker Networking
  • Docker file
  • Docker hub (Official docker registry)
  • Set up private Docker registry
  • Docker useful commands

 Monitoring Infrastructure with Nagios

  • Introduction to Nagios
  • Nagios Architecture
  • Nagios Components
  • Alarm settings & Alert handling
  • Playing with Nagios plugins
  • Developing plugins
  • Nagios setup on Docker Container

Interview Preparations/Q&A