Overview of Advanced DevOps
This Advanced Devops Corporate Training is extremely faced paced walk-through of Devops Methodology and various tools. It takes participants through the concept of Continuous integrations & Deployment with Jenkins, the concept of containers and deployments with Docker & Kubernetes, concept of configuration management with Ansible as well as deploying Microservices.
Duration
7 Days
Prerequisite for Advanced DevOps
At least one or more years of experience in any of the programming language and Linux basics.
Course Outline for Advanced DevOps
DevOps essentials CI/CD (Jenkins) Pipeline
Module 1: Devops Big Picture ( Theory)
- 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 , 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 students) o Understand sonarqube ( deployed by a trainer)
- Students to Integrate Jenkins (CI) server with Sonarqube o 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
Docker Essentials and Kubernetes
Module 1: Course Overview
Module 1.1: Introduction to the course
Module 2: Understanding Docker
Module 2.1: Module Introduction
Module 2 .2: Virtualization Basics
Module 2.3: Containers
Module 2.4: Containerization and virtualization differences
Module 2.5: Summary
Module 3: Installing Docker
3.1: Module Introduction
3.2 – Installing Docker on ubuntu Server 16.04 Server
3.3 – Install Docker on win 2016 server
Module 4 : Docker Containers
4.1 : Module Introduction
4.2 : Introduction to Docker containers
4.3 : Running linux containers on Docker host-Ubuntu
4.4 : Running windows containers on Docker host-windows 2016
4.5 : Summary
Module 5 : Docker Images
5.1 : Module Introduction
5.2 : Introduction to Docker Images
5.3 : Docker hub – create your account
5.4 : Image operations ( Pull and push images)
5.5 : Build image using Dockerfile
5.6 : Module Summary
Module 6 : Docker Networking
6.1 : Module Introduction
6.2 : Introduction to Docker Networking
6.3 : working with Default bridge
6.4 : Port Mapping
Module 7 : Docker Volumes
7.1 : Module introduction
7.2 : Introduction to Docker volumes
7.3 : Container with volume attach
7.4 : Recovering volume
7.5 : Module Summary
Module 8 : Kubernetes
Module 8.1 : Module introduction
Module 8.2 : Introduction to Kubernetes
Module 8.3 : Crreate kubernetes cluster on google cloud continer egine
Module 8.4 : write your resource file for web app deployment
Module 8.5 : kubernetes application access
Module 8.6 : Summary
Ansible – Configuration Management
Module 1: Ansible Big Picture ( Theory)
What and why of Ansible
Ansible use cases and terminologies o Controller server
- Nodes
- Playbook
- Ansible tower
Module 2: Ansible management server deployment ( Hands on Lab by students)
- Ansible– Deploy a centos7 server
- Ssh to centos7 server
- Install and configure Ansible
- Create password less authentication keys
- Define nodes to be managed by ansible control server
Module 2: Ansible Node server deployment ( Hands on Lab by students)
- Deploy a centos7 server + 1 ubuntu 16.04 server
- Ssh to centos7 server
- Create password less authentication keys
Module 3: Ansible HTTPD Playbook for centos7 node( Hands on Lab by students)
- Create a httpd playbook directory
- Write .yml file
- write httpd package install code for centos server
- write httpd service restart code
- write template resource type to push index.html and log.png to node
- write user and group creation code
- Apply the playbook on centos node and validate if website is up
Module 4: Ansible Apache2 Playbook for ubuntu node( Hands on Lab by students)
- Create a apache2 playbook directory
- Write .yml file
- write apache2 package install code for ubuntu server
- write apache2 service restart code
- write 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 website is up
Microservices
DEPLOYING MICROSERVCES
- Evaluating Application readiness based on a framework
- Transforming Applications to Microservices Architecture – “A sample case study”
- Barriers to Microservices adoption and our Learnings
- Lookouts and developer checklist while migrating to Microservices
CONTAINEROLOGY
- Managing Containers with Dockers – “What” and “How”
- Running your containers at scale: Container orchestration with Kubernetes
- -Managing Microservices with OpenShift – “ Barclay’s case study :
DEVOPS: Bringing it all together