Advanced DevOps

Overview

This is Corporate Training on Advanced Devops is extremely fast paced walk-through of Devops Methodology and its various tools. It takes participants through the concept of Continuous integrations (CI) & Deployment with Jenkins, concept of containers and deployments with Docker & Kubernetes, concept of configuration management with Ansible as well as deploying Microservices.

Duration
7 Days

Pre-Requisites
Basics of programming language and Linux

Course Outline

Module 1: Devops Big Picture 

  • What and why of DevOps
  • Devops Tools overview and Use case
  • 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
  • Using maven to compile & package java source code
  • Deploy .jar file manually
  • Continuous Integration Tool 
  • Deploy Jenkins on Ubuntu 14.04 server 
  • Continuous Integration setup Jenkins and Github
  • Code Packaging automation 
  • Automation Maven test
  • Compile and Package (.jar) using Jenkins
  • Static Code Analysis 
    • Understand SonarQube 
  • Students to Integrate Jenkins server with SonarQube
    • SonarQube static code analysis & set quality gates
  • Storage Artifact 
  • Understand Nexus 
  • Nexus storage artifact integration
  • Store software products in Nexus
  • Continuous Deployment 
    • Add slave nodes to Jenkins
    • Automate the deployment of .jar file to server
    • Building the Pipeline scripts and stages in SDLC
  • Course Overview
    • Introduction to the course
  • Understanding Docker
    • Module Introduction
    • Virtualization Basics
    • Containers
    • Containerization and virtualization differences
    • Summary
  • Installing Docker
    • Module Introduction
    • Installation of Docker on ubuntu Server 16.04 Server
    • Installation of Docker on win 2016 server
  • Docker Containers
    • Module Introduction
    • Introduction to Docker containers
    • Running linux containers on Docker host-Ubuntu
    • Running of windows containers on Docker host Windows 2016
    • Summary
  • Docker Images
    • Module Introduction
    • Introduction to Docker Images
    • Docker hub – create your account
    • Image operations (Pull and push images)
    • Build image using Docker file
    • Module Summary
  • Docker Networking
    • Module Introduction
    • Introduction to Docker Networking
    • working with Default bridge
    • Port Mapping
  • Docker Volumes
    • Module introduction
    • Introduction to Docker volumes
    • Container with volume attach
    • Recovering volume
    • Module Summary
  • Kubernetes
    • Module introduction
    • Introduction to Kubernetes
    • Create Kubernetes cluster on google cloud container engine
    • Write your resource file for web app deployment
    • Kubernetes application access
    • Summary
  • Ansible Big Picture

    • What and why of Ansible
    • Ansible use cases and terminologies o Controller server
    • Nodes
    • Playbook
    • Ansible tower

     

    Ansible management server deployment 

    • Ansible– Deploy a centos7 server
    • Ssh to centos7 server
    • Install and configure Ansible
    • Create password less authentication keys
    • To define nodes to be managed by ansible control server

     

    Ansible Node server deployment

    • Deploy a centos7 server + 1 ubuntu 16.04 server
    • Ssh to centos7 server
    • Create password less authentication keys

     

    Ansible HTTPD Playbook for centos7 node

    • Create a httpd playbook directory
    • Write .yml file
    • write a httpd package install code for centos server
    • write a httpd service restart code
    • write a template resource type to push index.html and log.png to node
    • write a user and group creation code
    • Apply the playbook on centos node and validate if website is up 

     

    Ansible Apache2 Playbook for ubuntu node

    • Create a apache2 playbook directory
    • Write .yml file
    • Write apache 2 package install code for ubuntu server
    • Write apache 2 service restart code
    • Write a template resource type to push index.html and log.png to node
    • Write user and group creation code
    • Apply the playbook on ubuntu node and validate if the website is up
  • Deploying microservices

    • Evaluating Application readiness based on a framework
    • Transforming Applications to Microservices Architecture: A sample case study
    • Barriers to Microservices adoption & our Learnings
    • Lookouts & developer checklist while migrating to Microservices

     

    Container ology

    • Managing Containers with Dockers – “What?” and “How?”
    • Running your containers at scale – Container orchestration with Kubernetes
    • Managing Microservices with the OpenShift: Barclay’s case study