Learn Azure DevOps with a PRODUCTION grade project
VProfile is a web application written in Java by our Developers, it is a social networking website
like Facebook. This entire application is designed as it’s their in real time to train you on automating
all these components.
In the first place, you will learn different components and services in this application like Nginx,
Tomcat, Apache, Rabbit MQ, Elastic search, Mem cache, MySQL, Mongo dB etc.
Learn first to deploy them manually one by one on Virtual Machines and Azure | AWS |
On-prem. Then learn all the DevOps tools like Ansible, Jenkins, Git, Docker, and
Kubernetes toautomate everything.
Also you will learn to automate the entire Build process by combining all these developers’ tools
with Jenkins. We call it Continuous Integration.
Learn how to secure your services by creating a secure infrastructure in AWS
cloud. Learn High Availablity and Redundancy along with the project
implementation.
As we say Do it like a PRO.
By keeping the latest trend of the DevOps market in the mind it’s designed to make you a self-
learner in DevOps world. We are using a real time web application project to train you on
various DevOps tool.
Course is divided into Eight parts, Seven parts are mandatory and will be done in the same
flow. Seventh part will be an self-phased learning. Eight part (Realtime Project ) will be taken
after the completion of the course. It will be scheduled (mostly weekends) and notified to you
but it’s optional to attend and does not hamper your self-learning process.
Azure Administration Course Content--AZ-104
1) Cloud Computing Concepts
Cloud History
Cloud Types
Cloud Services
Benefits of Cloud Computing
2) Azure Overview
Azure History
Azure Services and Market Place.
Azure Regions, Geos and Availability Zones
3) Azure Subscriptions and Resources
Subscriptions, Resources, Cost Analysis. Policies
RBAC
4) Azure Virtual Machines
Create and Configure Virtual Machines
Virtual Machine Settings.
Creation of Custom Images and deploying Virtual Machines with Custom
Images
Adding Additional Disks and Network Interface Cards
5) Azure Network Services
Azure Virtual Networks and Subnets
Vnet Peering
Network Security Groups and Route Tables. UDRs
Azure DNS
6) Azure Virtual Machines
Virtual Machine Availability Sets
Fault and Update Domains,Zones
Virtual Machine Scale Sets (VMSS) Auto scaling
7) Azure Network Services
Azure Loadbalancer
Traffic Manager, CDN
Site to Site VPN , Point to Site
Express Routes (only theory)
8) Azure Storage
Storage Accounts and Storage Types.
Blobs, Files, Tables and Queues
Storage Explorer,AZ copy,Azure File Sync
Managed vs UnManaged Storage
9) Azure PowerShell and Azure CLI
Creating Azure VMs by using the Azure portal
Azure PowerShell, and Azure CLI
Validating Azure VM deployment
10) Azure Resource Manager Templets. (JSON)
ARM Templets and Deploying Resources Using ARM templets
11) Azure Backup and Recovery
Backup and Restoration of VMs, File Shares.
Site Recovery (DR)
Migrations using azure migration tools. (vmware, physical servers, Cloud to
cloud)
12) Implementing Azure Active Directory
Creation of Custom Domains
Azure AD connector.
Creating and Azure Active Directory and Sync with on Prem
Azure Active Directory Services. MFA, Single Sign on
13) Concepts included for AZ-104
Azure WebApps, Service Plans
AKS (Azure Kubernetes Services)
ACS (Azure Container Services)
14) Troubleshooting and Support.
Monitoring Environment, Troubleshooting.
DEVOPS
Part – 2 : Redhat Ansible Automation
1 . Introducing Ansible
Automating Linux Administration with Ansible
Installing Ansible
Guided Exercise : Installing Ansible
2 . Deploying Ansible
Building an Ansible Inventory
Guided Exercise : Building an Ansible Inventory
Managing Ansible Configuration Files
Guided Exercise : Managing Ansible Configuration Files
Running Ad Hoc Commands
Guided Exercise : Running Ad Hoc Commands
LAB : Deploying Ansible
3 . Implementing Playbooks
Writing and Running Playbooks
Guided Exercise : Writing and Running Playbooks
Implementing Multiple Plays
Guided Exercise : Implementing Multiple Plays
LAB : Implementing Playbooks
4 . Managing Variables and Facts
Managing Variables
Guided Exercise : Managing Variables
Managing Secrets
Guided Exercise : Managing Secrets
Managing Facts
Guided Exercise : Managing Facts
LAB : Managing Variables and Facts
5 . Implementing Task Control
Writing Loops and Conditional Tasks
Guided Exercise : Writing Loops and Conditional Tasks
Implementing Handlers
Guided Exercise : Implementing Handlers
Handling Task Failure
Guided Exercise : Handling Task Failure
LAB : Implementing Task Control
6 . Deploying Files to Managed Hosts
Modifying and Copying Files to Hosts
Guided Exercise : Modifying and Copying Files to Hosts
Deploying Custom Files with Jinja2 Templates
Guided Exercise : Deploying Custom Files with Jinja2 Templates
LAB : Deploying Files to Managed Hosts
7 . Managing Large Projects
Selecting Hosts with Host Patterns
Guided Exercise : Selecting Hosts with Host Patterns
Managing Dynamic Inventories
Guided Exercise : Managing Dynamic Inventories
Configuring Parallelism
Guided Exercise : Configuring Parallelism
Including and Importing Files
Guided Exercise : Including and Importing Files
LAB : Managing Large Projects
8 . Simplifying Playbooks with Roles
Describing Role Structure
Reusing Content with System Roles
Guided Exercise : Reusing Content with System Roles
Creating Roles
Guided Exercise : Creating Roles
Deploying Roles with Ansible Galaxy
Guided Exercise : Deploying Roles with Ansible Galaxy
LAB : Simplifying Playbooks with Roles
9 . Troubleshooting Ansible
Troubleshooting Playbooks
Guided Exercise : Troubleshooting Playbooks
Troubleshooting Ansible Managed Hosts
Guided Exercise : Troubleshooting Ansible Managed Hosts
LAB : Troubleshooting Ansible
10 . Automating Linux Administration Tasks
Managing Software and Subscriptions
Guided Exercise : Managing Software and Subscriptions
Managing Users and Authentication
Guided Exercise : Managing Users and Authentication
Managing the Boot Process and Scheduled Processes
Guided Exercise : Managing the Boot Process and Scheduled Processes
Managing Storage
Guided Exercise : Managing Storage
Managing Network Configuration
Guided Exercise : Managing Network Configuration
LAB : Automating Linux Administration Tasks
11 . Comprehensive Review : Automation with Ansible
Comprehensive Review
LAB : Deploying Ansible
Creating Playbooks
LAB : Creating Roles and Using Dynamic Inventory
Part – 3 : Advanced GIT
Chapter 1 Introduction
Course Overview
Course Audience and Course Study Tips
Why Command Line?
Why Source Control?
Why Git?
Key Git Terminology
Chapter 2: Git Installation
Installation Overview
Prerequisites of Installing GIT
Installing Git for Linux
Chapter 3: Git Quick Start
Quick Start, Part 1: Starting with GitHub and
Project Setup
Quick Start, Part 2: Configuration, Clone, and
Git Basic Workflow
Quick Start Resources
Chapter 4: Text Editor Installation
Text Editor Installation Overview
TextMate 2 Installation
Configure Textmate 2 with Git
Text Editor Resources
Chapter 5: Basic Git Commands
Basic Commands Overview
Starting with a Fresh Project (git init)
Adding Git to an Existing Project (git init)
Starting on GitHub by Joining an Existing Project (git clone)
Basic Git Workflow (add, commit, pull & push)
Tracked Files
Editing Files
Recursive Add
Backing Out Changes
Renaming and Moving Files
Deleting Files
History
Git Alias
Ignoring Unwanted Files and Folders
Cleanup and Back to Origin (GitHub)
Git Basics Resources
Chapter 6: Visual Merge/Diff Tool Installation
Visual Merge / Diff Tool Installation Overview
P4Merge Install on Linux
P4Merge Configure on Linux
P4Merge for Linux Git Configuration
Visual Merge / Diff Tool Resources
Chapter 7: Comparisons
Git Repository Setup (for comparing examples)
Comparing Working Directory and the Staging Area
Comparing Working Directory and Git Repository (Last Commit)
Comparing between the Staging Area and the Git Repository (Last Commit) Limiting
Comparisons to one File (or path)
Comparing Between Commits
Comparing Between Local and Remote Master
Branches Comparison Section Cleanup and Push
back to GitHub
Chapter 8: Branching and Merging
Branching Basics
Happy Path / Fast Forward Merges
Happy Path / Disable Fast Forward Merges
Automatic Merges
Conflicting Merges and Resolution
Section Cleanup and Push back to GitHub
Chapter 9: Rebasing
Simple Rebase Example
Setup for rebasing conflict
Abort a Rebase
Rebase Conflict and Resolution Pull with
Rebase (GitHub)
Section Cleanup and push to GitHub
Chapter 9: Tagging
Simple Tag Example / Lightweight Tags Annotated Tags
Comparing Tags
Tagging a Specific Commit
Updating Tags
Using Tags with GitHub
Tagging Section Resources
Part – 4 : Docker Certified Administrator
Chapter 1: Course Introduction and Docker Introduction
Course Roadmap (overview)
Why Docker? Why Now?
Chapter 2: The Best Way to Setup Docker for Your OS
Docker Editions: Which Do I Use?
Installing Docker: The Fast Way
Code or Text Editor for Docker and Compose files
Terminal Shell and Tab Completion for Docker CLI
Docker Version Format Change
Chapter 3: Creating and Using Containers
Check Our Docker Install and Config
Starting a Nginx Web Server
What Happens When We Run a Container
Container VS. VM: It's Just a Process
Assignment: Manage Multiple Containers
What's Going On In Containers: CLI Process
Monitoring Getting a Shell Inside Containers: No Need for SSH
Docker Networks: Concepts for Private and Public Comms in Containers FIXME:
Change In Official Nginx Image Removes Ping
Docker Networks: CLI Management of Virtual Networks Docker Networks: DNS and
How Containers Find Each Other
Chapter 4: Container Images, Where To Find Them and How To Build Them
What's In An Image (and What Isn't)
The Mighty Hub: Using Docker Hub Registry Images
Images and Their Layers: Discover the Image Cache
Image Tagging and Pushing to Docker Hub
Building Images: The Dockerfile Basics
Building Images: Running Docker Builds
Building Images: Extending Official Images
Assignment: Build Your Own Dockerfile and Run Containers From It Assignment
Answers: Build Your Own Dockerfile and Run Containers From It Using Prune to Keep
Your Docker System Clean
Chapter 5: Container Lifetime & Persistent Data: Volumes, Volumes, Volumes
Container Lifetime & Persistent Data
Persistent Data: Data Volumes
Persistent Data: Bind Mounting
Quiz : Quiz on Persistent Data Volumes
Chapter 6: Making It Easier with Docker Compose: The Multi-Container Tool
Docker Compose and The docker-compose.yml File
Trying Out Basic Compose Commands
Assignment: Build a Compose File For a Multi-Container Service
Assignment Answers: Build a Compose File For a Multi-Container Service Adding
Image Building to Compose Files
Assignment: Compose For Run-Time Image Building and Multi-Container Development
Chapter 7: Swarm Intro and Creating a 3-Node Swarm Cluster
Swarm Mode: Built-In Orchestration
Create Your First Service and Scale It Locally
UI Change For Service Create/Update
Docker Machine Bug With Swarm
Creating a 3-Node Swarm Cluster
Quiz on Swarm Mode Basics
Part – 5 : Certified Kubernetes Administrator
Chapter 1: Kubernetes Course Overview
Introduction
Chapter 2: Pre-requisites
Monolithic Architecture and its drawbacks
Microservices and its advantages Containers
Physical Servers vs. Virtual Machines vs.Containers
Docker
Chapter 3: Introduction to Kubernetes
Container Orchestration Engine (COE)
TOP 3 Container Orchestration Engines
What is Kubernetes
Kubernetes Architecture made easy
Chapter 4: Setting up Kubernetes Environment
Kubernetes Installation Methods
Play-With-Kubernetes (PWK)
Demo: Play-With-Kubernetes (PWK)
Minikube
Demo: Minikube
Google Kubernetes Engine (GKE)
Demo: Google Kubernetes Engine
Installing Kubernetes using Kubeadm
Demo: Installing Kubernetes using Kubeadm
Using Kubectl
Chapter 5: Pods Basics
Pods
Demo: Pod
Chapter 6: Configuration
ConfigMaps
Demo: ConfigMaps
Secrets
Demo: Secrets
Chapter 7: Controllers
Replication Controller
Demo: Replication Controller
ReplicaSet
Demo: ReplicaSet
Deployments
Demo: Deployments
DaemonSet
Demo: DaemonSet
Jobs
Demo: Jobs
Chapter 8: Services
Services
NodePort Service
Demo: NodePort Service
LoadBalancer Service
Demo: LoadBalancer Service
ClusterIP Service
Demo: ClusterIP Service
Chapter 9: Storage
Storage Volumes
emptyDir
Demo: emptyDir
HostPath
Demo: HostPath
GCE Persistent Disk
Demo: GCE Persistent Disk
Persistent Volumes & Persistent Volume Claims ( PV & PVC )
Static Volume Provisioning
Dynamic Volume Provisioning
Demo: Dynamic Volume Provisioning
Part – 6 : JENKINS
1: Introduction to Continuous Integration and Jenkins-CI/CD
What is Continuous Integration
Jenkins Continuous Integration
What is Continuous Deployment
Jenkins Vs Jenkins Enterprise
2: Jenkins Installation
Downloading and Installing Jenkins using TomCat
Creating Jenkins as a Service.
Starting and Stopping Jenkins
3: Configure Jenkins and User Management.
Secure Jenkins
Create a new user
Generate ssh key for Jenkins user
Plug-in management
4: Jenkins jobs setup
Setting up a Jenkins job (Freestyle, Pipeline, maven, MSBuild, Pybuild)
Jenkins parametrized jobs setup (choice params,boolean params etc)
Email notification jobs
Parallel jobs configuration
nodes (slaves) configuration
5: Jenkins Integration
Git integration with Jenkins
Maven Integration with jenkins
ansible , artifactory integration
Docker and scanning tool integration
AWS and code review tool
6: Jenkins User administration
Role based administration
Project based administration
Metric based administration
Slaves configuration
Users and groups creation
Part – 7 : TERRAFORM ( Self Phased-Learning )
Modules :
Unit:1 Introduction to Terraform
Introduction to terraform
Infrastructure Automation
Install Terraform
Providers
Resources
Basic Syntax
Unit-2 Getting started with Terraform
Terraform Plan, show, Apply, Destroy
Exploring Terraform Registry
Interpolation
Tainting and Updating Resources
Terraform Console and Output
Terraform Variables
Breaking Out Our Variables and Outputs
Unit-3 Terraform Modules
Introduction to Modules
Module repositories
First Basic Module
The Module code
Main Terraform Code
Using git repositories to save modules
Guide Exercise-1 Modules for Docker
Guide Exercise-2 The Docker Image Module
Guide Exercise-3 Modules The Container Module
Guide Exercise-4 Modules - The Root Module
Unit-4 Terraform: Writing in a more
organized way
Maps and Lookups
Terraform Workspaces
Breaking Out Our Variable Definitions
Null Resources and Local-Exec
Terraform Console
Unit-5 Terraform with AWS Cloud
Setting up the system for AWS
AWS Storage: The S3 Bucket and Random ID
AWS Storage: The Root Module
AWS Compute: AMI Data, Key Pair, & File Function
AWS Compute: The EC2 Instance
AWS Compute: User Data and Template Files
AWS Compute: The Root Module
Unit-6 Terraform with AWS cloud
advance practice
AWS Networking: VPC, IGW, and Route Tables
AWS Networking: Subnets, Security & Count Attribute
AWS Networking: The Root Module
Unit-7 Terraform basic labs: Templates, Conditionals and Functions
Remote state
Data Sources
Templates
Conditionals
Built-in Functions
Working with state files
Outputs, count and Join Function
Unit-8 Terraform Integration with S3, Git, Jenkins
Adding S3 backend
Integration with Git
Packer introduction
Terraform with Packer
Terraform with Jenkins
Terraform Formatting and Remote State
Terraform RandomID and S3 Buckets
Unit-9 Terraform Troubleshooting and Testing
Terraform Plan revisited
Debugging the script
Terraform Testing
Error Handling
Unit-10 Terraform with Azure , Google Cloud and plugins Examples
Terraform with Azure cloud
Terraform with Google Cloud
Terraform Templates
Terraform plugins
Integrating Go Plugins
Unit-11 Terraform advance features and examples
Best practices in writing terraform scripts
Terraform Workflow
Terraform projects
Other Hashicorp tools
New features of Terraform
Projects that we cover in this course.
Project setup on Local Machines (VM’s)
Project setup on AWS cloud
CI/CD pipeline Project
Ansible Projects
Containerzation Project
Kubernetes Project
DevOps job profiling, Interview questions.
How to keep up with DevOps latest tool
Frequently Asked Questions ( FAQ ‘S) :
Q1. What is DevOps?
Ans: DevOps isn't a product but rather a culture and process. There are certain
technologies and skills someone working in a DevOps environment should have.
Q2. How DevOps helps organization?
Ans: The recently released 2017 State of DevOps Report uncovers some impressive
statistics. Highperforming organizations that effectively utilize DevOps principles
achieve:
46x more frequent software deployments than their competitors.
96x faster recovery from failures.
440x faster lead time for changes.
Higher levels of customer satisfaction and operational efficiency.
Sources: https://www.forbes.com/sites/chriscancialosi/2017/06/19/the-state-of-
devops-in-2017-transformational-leadership-is-key/#4c3c7de563dc
https://puppet.com/resources/whitepaper/2016-state-of-devops-report
Q3. How many IT companies are using DevOps Model?
Ans: DevOps adoption has jumped from 66% in 2016 to 74% in 2016. With such a rate in
2 years it willgo more than 90 %.
Source: https://devops.com/state-devops-adoption-trends-2017/
Q4. Why should I learn DevOps?
Ans: With such a high adoption rate of DevOps across IT industry, it has opened lot of
Job Windows that are not yet fulfilled. Companies are desperately looking for DevOps
Engineers who can help themsetting up DevOps Environment.
Q5. Do DevOps Engineers/Consultant/Architect get paid well?
Ans: DevOps are one of the highly paid job as per Business Insider, Glassdoor & Pay Scale
survey.
Q6. How will this course help me learn DevOps?
Ans: Our focus is on training you on Real Time use cases and not just one by one
introduction to tools. For this very reason we have created Vprofile application. You will
learn all the latest and greatest DevOps tool in the market and most importantly integrate
them together to setup Orchestration of continuous Delivery. Yes we said orchestration
and not simple automation scripts.
Q7. What is Vprofile Application?
Ans: Vprofile is a java based Web Application written by our expert
Developers. It’s a social networking website like Facebook.
In Real time you will have multiple services/servers working together to create a web service
like
Facebook or Twitter or Amazon or Flipkart. To deliver features to the website, developers
will code new features and Operations team will deploy them into production servers. By
using DevOps principals and Tools we can deliver features more rapidly to production
systems.
We have taken the same approach and will train you in the similar manner.
Q8. Do I need to have any background or prerequisite to join this course?
Ans: We are training you from the very scratch, we believe in building strong base. So we
start the courseby Linux systems and basic networking. Then we train you on virtualization
and Cloud computing. Once you have the infrastructure knowledge we will setup our
application on it manually. So you dont need anybackground but you have to practice well.
Q9. Is it possible to cover all the topics in given time frame?
Ans: Yes it is very much possible and we are talking from all our past experiences. The
course is well structured and very well documented. Apart from the time you spend in the
class you have to put your own efforts in going through the exercises. SO that will add
some more time in learning.
Q10. Will I be able to practice everything by myself?
Ans. Well we know no matter how much you concentrate in the class you still will have
chances of making mistakes while practicing by yourself. For that very reason we have
written a Book Decoding DevOps which you will get when you join the course. It’s a step
by step guide of everything you need forpracticing. Along with that you will get few more
Documents, Codes, Files and commands for practicing on regular basis
Q11. I am still not convinced, give the most valued reason to join this course.
Ans: Put an eye on the bullet points below and you will get your answers.
Decoding DevOps book (Complete guide for DevOps Implementation)
Vprofile real time project
Q12. My questions are not answered here?
Ans: Contact Pragathi Technologies through phone or email.