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
- SCM Live demo
- Continuous Integration Tool – (Hands on Lab by students)
- Code Packaging automation – (Hands on Lab by students)
- Static Code Analysis – (Hands on Lab by trainer)
- Storage Artifact – (Hands on Lab by students)
- Continuous Deployment – (Hands on Lab by students)
- Introduction to the course
- Module Introduction
- Virtualization Basics
- Containers
- Containerization and virtualization differences
- Summary
- Module Introduction
- Installing Docker on ubuntu Server 16.04 Server
- Install Docker on win 2016 server
- Module Introduction
- Introduction to Docker containers
- Running linux containers on Docker host-Ubuntu
- Running windows containers on Docker host-windows 2016
- Summary
- Module Introduction
- Introduction to Docker Images
- Docker hub – create your account
- Image operations (Pull and push images)
- Build image using Dockerfile
- Module Summary
- Module Introduction
- Introduction to Docker Networking
- Working with Default bridge
- Port Mapping
- Module introduction
- Introduction to Docker volumes
- Container with volume attach
- Recovering volume
- Module Summary
- Module introduction
- Introduction to Docker compose
- Creating docker compose file(WordPress and DB)
- Fire up you compose file
- Docker compose operations
- Summary
- Infrastructure-As-A-Code
- Chef Components – 10000 feet overview
- 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
- Create a user account on hosted chef server
- Create organization on hosted chef server
- Download chef-starter kit
- 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
- Deploy a Ubuntu 14.04 server
- Register the Ubuntu server under chef server management
- 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
- 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
- Infrastructure-As-A-Code
- Puppet Components – 10000 feet overview
- Deploy Ubuntu 14.04 Server
- SSH to Ubuntu Server
- Install Puppet-server on Ubuntu 14.04 linux server
- Configure Puppet-server
- 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
- Create a manifest
- Write file resource type manifest
- Run puppet-agent test to deploy your resource mentioned in default manifests
- Download apahce2 module
- Apply apache2 module to Ubuntu node
- Register a rhel Node to your puppet server
- Write web server manifests
- Apply web server manifest to RHEL node
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)
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
Jenkins – Deploy Jenkins on Ubuntu 14.04 server (each student will deploy his Jenkins server)
Continuous Integration setup – Jenkins and Github
Automation Maven test, Compile and Package (.jar) using Jenkins
Understand sonarqube (deployed by trainer)
Students to Integrate Jenkins (CI) server with Sonarqube
Sonarqube –static code analysis and set quality gates
Understand Nexus (deployed by trainer)
Nexus storage artifact integration
Store your end software products in Nexus
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
Module 2 : Understanding Docker
Module 3 : Installing Docker
Module 4 : Docker Containers
Module 5 : Docker Images
Module 6 : Docker Networking
Module 7 : Docker Volumes
Module 8 : Docker Compose
Day 4 – Chef Essentials
Module 1: Chef – 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)
Module 3: Working on hosted Chef server (Hands on lab by students)
Module 4: Install and configure Chef-Workstation on Ubuntu (Hands on lab by students)
Module 5: Register a Chef-Node running Ubuntu server (Hands on lab by students)
Module 6: Create a cookbook for Ubuntu server (Hands on lab by students)
Module 7: Creating dependency cookbook for Ubuntu server (Hands on lab by students)
Day 5 – Puppet Essentials
Module 1: Puppet – 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)
Module 3: Deploy your Puppet-node-01 on Ubuntu (Hands on lab by students)
Module 4: Working with default manifests (Hands on lab by students)
Module 5: Working with modules (Hands on lab by students)
Module 6: Student Tasks Puppet environments (Hands on lab by students)