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.
Duration7 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
