​DevOps

DevOps Training in hyderabad

What is DevOps

DevOps is a process to deliver software quickly and effectively by fostering collaboration between different departments like developers and Ops team. This is supported by automation, and by analyzing organization-wide metrics to see what’s going right and what’s going wrong.

Who can learn

 People who is having B.E/B.Tech/MCA/B.Sc/M.Sc/M.Sc degree
 Developers/Testers/Middleware/Ops/Systems admins
 Anyone who is looking for IT prospects
Do I need experience
 Absolutely not

Course Objective

>Course content is designed as per latest requirements, tools used in most of the IT organizations and prepared to balance job descriptions for interviews and infrastructure. Devops Tools Covered

1. Docker
2. Chef
3. Puppet
4. Ansible
5. Jenkins
6. Linux
7. Vagrant
8. Maven
9. SVN
10. ANT
11. GIT
12. Kibana
13. Logstash
14. Nagios
15. Git
16. ITIL Process

 Fundamentals

1. Devops Overview

 Why Devops
a. Organizational view
b. Stakeholders view
c. Developers/ Testers view
d. Operations view
 DevOps definition
 Agile and SDLC
a. Introduction
b. Phases
c. Roles
 DevOps and Agile
a. Overview
b. Roles of Dev team
c. Roles Ops team
 How effective DevOps is!
 Roles and responsibilities
a. Who is a DevOps engineer
b. what he does
c. Other teams to communicate
d. Automate
 Overview of DevOps Automation
a. Introduction
b. Build tools
c. Source code management/version control tools
d. Configuration tools
e. Monitoring tools
f. Continuous Integration
g. Continuous Testing
h. Continuous Deployment
i. Planning
j. Issue Tracking
k. Types of environments
2. Cloud Computing
 Cloud Computing Models
a. Software As A Service (SAAS)
b. Platform As A Service(PAAS)
c. Infrastructure As A Service(IAAS)
 Understanding Public, Private and Hybrid clouds
 Cloud Computing Benefits
 Cloud Computing Challenges
 DevOps in Cloud

3. Linux

 Commands
 Files and hierarchy
 Remote server access using ssh

 Bash Scripting
 DevOps Tools

1. Build Tools

ANT

a. Ant Introduction
b. Ant tasks
c. Ant properties and command line calls
d. Advanced ant tasks and external tasks

Maven

a. Environment Setup and configuration
b. Build life cycle
c. Build profiles
d. Repositories
e. Plug-ins
f. Creating, Building and testing projects
g. Project templates
h. Snapshots
i. Build automation
j. Manage dependencies
k. Web application
2. Source Code Management Tools

SVN (Subversion)

a. SVN introduction
b. SVN and Apache installation and configurations
c. User Administration
d. Directory structure
e. SVN Commands
f. Branching and merging strategies
g. Configuration management

Git

a. Installation
b. Various levels of configuration
c. Staging and Committing
d. Tracking
3. Continuous Integration

Jenkins

1. Jenkins Introduction
2. Installation and configuration
a. Prerequisites
b. Download & installation
c. Configuration tour
3. Managing Jenkins
a. Managing Jenkins
b. Managing Credentials
c. Plugin Management
d. Jenkins Backup
e. Create a Build Slave
4. Creating Application Builds
a. Anatomy of the build
b. Cloning sample project
c. Manual compilation with Maven
d. Manually Testing, Packaging and Running the App
e. Creating a Jenkins Job and configuring a Git Repo
f. Compiling in Jenkins
g. Browsing the workspace in Jenkins
h. App Packaging in Jenkins
i. Archiving artifacts
j. Cleaning up Past Builds
k. Build time trend
l. The jenkins Dashboard
m. Troubleshooting build failures
n. Importing Job config.xml
o. Anatomy of the job
p. Build linking upstream and downstream
5. Plugins
a. Introduction
b. Plugin Architecture
c. Extension Points
d. Getting Plugins
e. Plugin Wiki
f. Useful Plugins Overview
g. Source Code Plugins
h. Trigger Plugins
i. Build Tool Plugins
j. Wrapper Plugins
k. Notifier Plugins
l. Reporting Plugins
m. Artifact & UI Plugins
n. Installing a plugin
o. Plugin configuration
p. Security Overview
6. Continuous Testing and Continuous Integration and Testing
a. Adding steps to Freestyle Project
b. Creating a Pipeline job to execute Maven
c. Archiving in a Pipeline
d. Checking out git repository in pipeline
e. The Master Agent Model
f. Allocating a node and workspace in Pipeline
g. High level progress with Pipeline stages
h. Triggering Automated Builds
i. Configuring an Email Server
j. Notifications when a build fails
k. Duplicating a job
l. Executing unit tests
m. Executing selenium tests
n. Visualizing Test Results
7. Finding and Managing Plugins
a. The need for plugins
b. Integrated Code Coverage
c. Assessing a plugin
d. Installing the HTML Publisher plugin
e. Publishing HTML Reports
f. Testing Plugins and Plugin Types
g. BlueOcean UI Plugin
8. Building Continuous Delivery Pipeline
a. Continuous Delivery
b. Backup and Restore
c. Starting point and Pipeline stashing
d. Browsing Workspaces in Pipeline Jobs
e. A Second Node Allocation
f. Adding an Agent Node
g. Setup parallel integration testing in a pipeline
h. Executing and Monitoring Parallel pipelines
i. Manual Approval for Deployments
j. Setup Deployment to staging
k. Executing a Deployment pipeline
l. Checking pipeline script to Git
4. Configuration Management Tools

Puppet

1. Introduction
a. Introduction to puppet
b. Puppet Head First
c. Puppet Enterprise Stack And Core Concepts
d. Nodes
2. Puppet Components
a. Installing the puppet master & learning puppet master layout
b. Installing the puppet Enterprise layout
c. Puppet.conf
d. Resource Abstraction Layer
e. Facter
f. Live Management
g. Catalog Compilation
3. Building Modules and Classes
a. Module Structure & Class Naming
b. Defining & Testing our first class
c. Declaring classes & creating node definitions
d. Auto loading
4. Puppet DSL
a. DSL Overview
b. Getting Started and Looking at arrays
c. Relationships & Dependencies
d. Adding SSH Class to Node Definition
e. Conditional Statements & Best Practices
f. Regular Expressions If statements
g. Adding Ubuntu Node & testing
h. Meta parameters
i. Files & Resource Defaults
j. Variables, parameterization& Scope
k. Inheritance
l. Rvalue Functions
m. Templates
n. Creating the NTP Class
o. Resource Collectors
p. Class Parameters & Scope
5. Roles & Profiles
a. Overview
b. Creating a profiles module
c. Creating a roles module
6. Hiera
a. Overview
b. Setting up configuration file & Data Sources
c. Use Hiera by example
7. Building an Apache Module
a. Building the Environment & Overview
b. Building the Apache Classes & Parameters
c. Building the Core Classes & Resource Type
d. Adding Directory Management
e. Adding defined Resource Type
f. Creating the required templates & testing
g. Adding multiple host files
8. Node Classification
a. Site.pp and Node definition matching
b. External Node Classifiers
c. Classifying the Node with the Console
d. Using Site.pp with ENC
9. Puppet Management
a. Common Console Tasks
b. Troubleshooting
c. Reporting
d. Preparing Modules for puppet forge & downloading forge modules
e. Deactivating a puppet Enterprise node
f. Event Inspecto
g. External fact
h. Checking Values of Setting
i. Puppet Resource Command
10. Resource Type Practice
a. Host
b. Resource Type Titles
c. Mount

Chef

1. Introduction to chef
a. Defining chef
b. Common Chef Terminology
c. Chef Server
d. Chef Workstation
e. Chef-Repo
f. Chef-Client
g. Server and Nodes
h. Chef Configuration Concepts
2. Setting up the Environment
a. Intro to ChefDK
b. Chef Workstation Setup
3. Chef Server
a. Installing Chef Server
b. Chef-Repo, Setting Up the Work Station, and Bootstrapping
c. Chef Solo vs Chef Zero vs Chef Server
d. Chef Client, Nodes and Run Lists
e. Building A Quick Apache Cookbook
f. Managing Node Run_Lists
g. Chef-Client Configuration
4. Resources
a. Understanding Chef and Chef Convergence
b. Common Chef Resources
c. Default Resource Actions
d. Applying Chef Resources Hands On
e. Working with not_if and only_if Guards
f. Extending Chef with Custom Resources
5. Recipes and Cookbooks
a. Understanding Chef Recipes and Run Lists
b. Understanding Chef Cookbooks Generating
c. Cookbook
d. Cookbook Pro-Tips
6. Local Cookbook Development Basics
a. Generators
b. Test Driven Development
c. ChefSpec
d. Test Kitchen Configuration
e. Using Test Kitchen
f. InSpec
g. Static Code Analysis
h. Troubleshooting
7. Cookbook Components
a. Cookbook Structure
b. Metadata Anatomy
c. Versioning
d. Attributes
e. Common Resources
f. Templates
g. Libraries
h. Custom Resources
8. Design Patterns and Theory
a. Cookbook Disposition
b. Wrapper Cookbooks
c. Community Cookbooks
d. Managing Cookbook Dependencies
e. Data Bags
f. Vault
g. Search
9. Nodes and Search
a. Node Object
b. Working With Ohai and Node Attributes
c. Understanding Search
d. knife Search
10. Roles and Environments
a. Setting Up A New Node
b. Understanding Roles
c. Creating Roles
d. Understanding Environments
e. Bootstrapping The Staging Node
f. Creating And Using Environments
11. Desired State Configuration
a. Imperative Vs Declarative Approach To Configuration Management
b. Pull vs Push Approach
c. Windows DSC
d. Removing Resources From Recipes
12. Chef Supermarket
a. Chef Supermarket
b. Using A Private Supermarket
13. Building Web Server Cookbook
a. Getting Setup
b. Adding Platform Support to the Cookbook
c. Adding Local Chef-Repo to Github
d. Install and configure Chef Reporting
14. Chef Offerings
a. Chef Automate: Overview
b. Chef Automate: Workflow
15. Deploying Nodes In Production

Vagrant

1. Introduction
a. What is Vagrant
b. Virtualization Overview
2. Setting Up Vagrant
a. Virtual Box Installation
b. Vagrant Installation
c. Vagrant without Virtual Box
3. Using Vagrant
a. Vagrant Machine
b. Vagrant Files
c. Boxes
d. Running Vagrant Machines
e. SSH to Vagrant Machine
f. Synced Folders
g. Networking Basics
4. Automated Provisioning
a. Provisioning
b. Installing Apache /Shell Script
c. Installing Apache /Chef
d. Installing Apache/ Puppet
5. Networking
a. Private Networking
b. Public Networking
6. Multiple Machines with Vagrant
a. Managing Multiple Machines
b. Hands on multiple machine using vagrant
7. Boxes
a. Vagrant Boxes
b. Basic Box Management
c. Creating Boxes from existing environment
d. Creating custom boxes

Ansible

1. Introduction
a. Introduction to Ansible
b. Ansible vs. Other Tools Ansible vs. Other Tools
c. Ansible Documentation: Modules
2. Setup and Configuration
a. Test Environment Setup
b. Download and Installation
c. Ansible Configuration File
d. Ansible Python Dependencies
e. The HOSTS File
f. Overriding the Default HOSTS File
g. Overriding the Default System Ansible.Cfg File
h. Overriding the Default Roles Path
i. Understanding the core components of Ansible
j. Ad-hoc commands in Ansible
3. Use both static and dynamic inventories to define groups of hosts
a. Overview of static and dynamic inventories in Ansible
b. Static Inventories
c. Dynamic Inventories
4. Ansible Playbooks
a. Configuring Your 'Ansible' Account
b. Ansible Command Line
c. System Facts
d. System Facts: Common Values for Playbooks
e. Our First Playbook
f. Variables: Inclusion Types
g. Create a Playbook from Outline
h. Optimizing Playbook
i. Taking Playbook for a Dry Run
j. Simple Variable Substitution
k. Lookups
l. RunOnce
m. Local Actions
n. Loops
o. Conditionals
p. Until
q. Notify
r. Vault
s. Prompt - Interactive Playbook
t. Basic Include Statements Tags
u. Basic Error Handling
v. Jinja2 Templates
w. LocalAction
x. DelegateTo
y. Use a playbook to copy a program and customize it for the target host.
5. Ansible Modules
a. Commonly used Modules
b. Using modules in playbooks
c. The 'Setup' Module
d. The 'File' Module
e. The 'Pause' Module
f. The 'WaitFor' Module
g. The 'Yum' Module
h. The 'Apt' Module
i. The 'Service' Module
j. The 'Copy' Module
k. The 'Command' Module
l. The 'Cron' Module
m. The 'Debug' Module
n. The 'Fetch' Module
o. The 'User' Module
p. The 'AT' Module
q. The 'DNF' Module
r. The 'Apache2_Module' Module
s. The 'SetFact' Module
t. The 'Stat' Module
u. The 'Script' Module
v. The 'Shell' Module
w. The 'SELinux' Module
x. The 'SEBoolean' Module
y. The 'Raw' Module
z. The 'Ping' Module
aa. The 'Package' Module
bb. The 'Unarchive' Module
cc. The 'HTPasswd' Module
dd. The 'GetURL' Module
ee. The 'Group' Module
ff. The 'Mail' Module
gg. The 'Filesystem' Module
hh. The 'Mount' Module
ii. The 'Notify' Module
jj. The 'AptRepo' Module
kk. The ' AptKey' Module
ll. The ' ACL' Module
mm. The 'Git' Module
nn. Creating a Jinja2 Template File
oo. The 'Template' Module
pp. The 'MySQL_DB' Module
qq. The 'MySQL_User' Module
rr. The 'Kernel_Blacklist' Module
6. Create and use templates to create customized configuration files
a. Introduction
b. Templates
7. Working with Ansible facts and variables.
a. Let see how we get ansible facts and how we use facts.d
b. Using Ansible facts
c. Using variables to gather server info
8. Roles
a. Introduction to Roles
b. Roles - The Directory Structure
c. Role Based Tasks
d. Task Order - Pre and Post Tasks
e. Roles - Conditional Execution
f. Roles - Variable Substitution
g. Roles – Handlers
h. Roles - Using Notification
i. Roles - Configuring Alternate Roles Paths
j. Roles - Conditional Include Statements
k. Roles - Waiting For Events
l. Roles - Executing a Task Until
m. Roles - Using Tags
n. Roles - Breaking a Playbook Into a Role
o. Roles - Passing Variables from Command Line
p. Roles - Using Jinja2 Templates
q. Roles – DelegateTo
r. Roles – LocalAction
s. Roles - Lets create a role to install apache. Lets
t. use the previous role and add a new one. Lets
u. build on the previous roles

9. Download roles from Ansible Galaxy and use them
a. Ansible galaxy and how its used
b. Lets use multiple roles
10. Ansible Command Line Usage
a. Ansible Command Line - Installing Packages
b. Ansible Command Line - Services and Hosts
c. Ansible Command Line - Commands and Shells
d. Ansible Command Line - Managing Users
e. Ansible Command Line - Create and Manage Cron Jobs
f. Ansible Command Line - Running Arbitrary Commands
g. Ansible Command Line - Output Tree
11. Managing Parallelism
a. What is parallelism?
b. Parallelism in a playbook
12. Using ansible-vault in playbooks to protect sensitive data
a. Lets discuss ansible-vault and see an example
b. Options useable with ansible-vault
13. Install ansible tower and use it to manage systems
a. Installing a trial version of ansible tower
b. Log into our Ansible tower and run a sample task Lets
c. add to the inventory and run a task against them
14. Use cases a. Creating a Web Server Deployment – Outline
b. Creating a Web Server Deployment - Playbook First Pass
c. Creating a Web Server Deployment - Playbook Optimization
d. Creating a Web Server Deployment - Breaking Into Role(s)
e. Creating an NFS Server Deployment – Outline
f. Creating an NFS Server Deployment - Playbook First Pass
g. Creating an NFS Server Deployment - Playbook Optimization
h. Creating an NFS Server Deployment - Breaking Into Role(s)
i. Creating a Database Server Deployment – Outline
j. Creating a Database Server Deployment - Playbook First Pass
k. Creating a Database Server Deployment - Playbook Optimization
l. Creating a Database Server Deployment - Breaking Into Role(s)

5. Containerization

Docker

1. Introduction
2. Installing Docker
a. Installing Docker on Windows
b. Installing Docker on Linux
3. Working with Containers
a. What is container
b. Docker run command
c. Theory of pulling and Running Containers
d. Working with images
e. Container Life cycle
4. Swarm Mode & Microservices
a. Swarm Mode Theory
b. Configuring Swarm Mode
c. Services
d. Scaling Services
e. Rolling Updates
f. Stacks & DABs
5. Introducing the App
a. The App
b. The Dockerfile
c. Pushing App to Github
6. Configuring Test Builds
a. Performing test Builds
7. Pushing App to Production

6. Monitoring

1. Nagios
a. Installation of Nagios
b. Configuring Nagios
c. Configuring Nagios
d. Triggering Alerts
2. Elasticsearch+logstash+Kibana
a. Installation of ELK stack
b. Configuring the ELK Stack
c. Monitoring logs with ELK

7. ITIL Process

1. Release process
2. Pre build and post build activities
3. Incident management
8. Cloud Environment
1. Environment setup
2. Cloud deployment
3. CI and CD activities in Cloud