Devops Advanced

Duration:

5 Days

Prerequisite:

Atleast one or more years of experience in any of the programming language.

Agenda:

Day 1 and 2 – CI/CD (Jenkins) Pipeline

Module 1: Devops Big Picture (Theory)

  • What and why of Devops
  • Devops Tools – Overview and Usecase
  • Source Control Management (SCM Tools)

    Continuous Integration

    Static ode Analysis Tool

    Storage Artifacts

    Continuous Deployment

    Containerization

    Configuration Management

     

    Module 2: Devops in Action (Hands on Lab by students)

  • SCM Live demo
  • Github – Create an account and fork your application code

    Git clone the github code , Use maven to compile and package java source code

    Deploy .jar file manually

     

  • Continuous Integration Tool – (Hands on Lab by students)
  • Jenkins – Deploy Jenkins on Ubuntu 14.04 server (each student will deploy his Jenkins server)

    Continuous Integration setup – Jenkins and Github

     

  • Code Packaging automation – (Hands on Lab by students)
  • Automation Maven test, Compile and Package (.jar) using Jenkins

     

  • Static Code Analysis – (Hands on Lab by trainer)
  • Understand sonarqube (deployed by trainer)

    Students to Integrate Jenkins (CI) server with Sonarqube

    Sonarqube –static code analysis and set quality gates

     

  • Storage Artifact – (Hands on Lab by students)
  • Understand Nexus (deployed by trainer)

    Nexus storage artifact integration

    Store your end software products in Nexus

     

  • Continuous Deployment – (Hands on Lab by students)
  • Add slave nodes to Jenkins

    Automate deployment of your .jar file to server

    Building Pipeline scripts and stages in SDLC

     

    Day 3 – Docker Essentials

    Module 1 : Course Overview

  • Introduction to the course
  •  

    Module 2 : Understanding Docker

  • Module Introduction
  • Virtualization Basics
  • Containers
  • Containerization and virtualization differences
  • Summary
  •  

    Module 3 : Installing Docker

  • Module Introduction
  • Installing Docker on ubuntu Server 16.04 Server
  • Install Docker on win 2016 server
  •  

    Module 4 : Docker Containers

  • Module Introduction
  • Introduction to Docker containers
  • Running linux containers on Docker host-Ubuntu
  • Running windows containers on Docker host-windows 2016
  • Summary
  •  

    Module 5 : Docker Images

  • Module Introduction
  • Introduction to Docker Images
  • Docker hub – create your account
  • Image operations (Pull and push images)
  • Build image using Dockerfile
  • Module Summary
  •  

    Module 6 : Docker Networking

  • Module Introduction
  • Introduction to Docker Networking
  • Working with Default bridge
  • Port Mapping
  •  

    Module 7 : Docker Volumes

  • Module introduction
  • Introduction to Docker volumes
  • Container with volume attach
  • Recovering volume
  • Module Summary
  •  

    Module 8 : Docker Compose

  • Module introduction
  • Introduction to Docker compose
  • Creating docker compose file(WordPress and DB)
  • Fire up you compose file
  • Docker compose operations
  • Summary
  •  

    Day 4 – Chef Essentials

    Module 1: Chef – Overview

  • Infrastructure-As-A-Code
  • Chef Components – 10000 feet overview
  • Chef Server

    Hosted Chef Server

    Chef Development kit

    Chef Nodes

    Recipes

    Cookbooks

    Chef Analytics

    Chef Push job server

     

    Module 2: Creating your own Chef server- Install and configure (Hands on lab by students)

  • Deploy Ubuntu 14.04 Server
  • SSH to Ubuntu Server
  • Install Chef-Server on Ubuntu 14.04 Linux Server
  • Install Chef-Manage on Chef-Server
  • Install and configure Chef-Reporting
  •  

    Module 3: Working on hosted Chef server (Hands on lab by students)

  • Create a user account on hosted chef server
  • Create organization on hosted chef server
  • Download chef-starter kit
  •  

    Module 4: Install and configure Chef-Workstation on Ubuntu (Hands on lab by students)

  • Deploy a Ubuntu 14.04 server
  • SSH to Ubuntu server
  • Install and configure Chef development kit
  • Configure knife to interact with your own Chef-Server
  • Configure knife to interact with your Hosted Chef-Server
  • Configure SSL based connection to Chef Server
  •  

    Module 5: Register a Chef-Node running Ubuntu server (Hands on lab by students)

  • Deploy a Ubuntu 14.04 server
  • Register the Ubuntu server under chef server management
  •  

    Module 6: Create a cookbook for Ubuntu server (Hands on lab by students)

  • Create a new cookbook for apache2 installation on Ubuntu server
  • Write recipe for package install, service restart
  • Create templates to be used in recipe
  • Create index.html and log file to be used by recipe
  •  

    Module 7: Creating dependency cookbook for Ubuntu server (Hands on lab by students)

  • Create a new cookbook for OS update installation on Ubuntu server
  • Write recipe for update of Operating system
  • Edit metadata.rb file to include dependency for apache2 cookbook
  •  

    Day 5 – Puppet Essentials

    Module 1: Puppet – Overview

  • Infrastructure-As-A-Code
  • Puppet Components – 10000 feet overview
  • Puppet server

    Puppet agent

    Puppet Enterprise

    Puppet forge

    Puppet modules

     

    Module 2: Creating your own Puppet Server on Ubuntu – Install (Hands on lab by students)

  • Deploy Ubuntu 14.04 Server
  • SSH to Ubuntu Server
  • Install Puppet-server on Ubuntu 14.04 linux server
  • Configure Puppet-server
  •  

    Module 3: Deploy your Puppet-node-01 on Ubuntu (Hands on lab by students)

  • Deploy Ubuntu server
  • SSH to Ubuntu server
  • Install and configure puppet agent on Ubuntu
  • Request certificate with puppet server
  • Configure SSL based connection to puppet-server
  •  

    Module 4: Working with default manifests (Hands on lab by students)

  • Create a manifest
  • Write file resource type manifest
  • Run puppet-agent test to deploy your resource mentioned in default manifests
  •  

    Module 5: Working with modules (Hands on lab by students)

  • Download apahce2 module
  • Apply apache2 module to Ubuntu node
  •  

    Module 6: Student Tasks Puppet environments (Hands on lab by students)

  • Register a rhel Node to your puppet server
  • Write web server manifests
  • Apply web server manifest to RHEL node
  •