DevOps 

DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes. This speed enables organizations to better serve their customers and compete more effectively in the market. 

H/W Requirement: 

1. Laptop with 6+ GB RAM to run all tools on VM to be hosted on students Laptop.

2 . All Practical on AWS.

2. All sessions must be attended regularly


Course Duration: 2.0 Months 


DevOps Course Content

1

1) Brief Overview to DevOps

a. What is DevOps?

b. Why DevOps is popular?

c. DevOps in Agile Practices

d. DevOps Benefit 

e. DevOps Tool Ecosystem.

f. DevOps LifeCycle

g. DevOps Market Conditions, Jobs & Future.

h. How DevOps is Going to be 2019.


2

Linux Basics

a.Exposure of Linux

b.Understanding Type of OS available. 

d.Basic command in linux

e.Installing service in Linux via yum


3

AWS Basics

a.What is Cloud?

b.What is AWS?

c.Why Cloud is required for DevOps?

d.How to create linux Server on AWS ?

e.How to connect the Servers and install DevOps Tools?


4

Networking Basic

===============

What is Ip Address

What Network, subnet and sub-netting.

Understanding OSI Layer and TCP IP

Understanding Difference between Switch and Router

Difference between IPv4 and IPv6


5

Git and SVN

==============

a. What is version Control 

b. Why Git

c. Git WorkFlow.

d. Understanding Git and GitHub.

e. Installation of Git.

f. Code Merge Strategies 

g. Branch Permission

i. Cloning repositories

J. Understanding and using most important Git commands .


6

Maven

=======

Introduction to build tools

a. Importance of build tools

b. Installation of Maven on AWS EC2

c. Maven Build life-cycles

d. Understanding artifacts

e. Understanding POM.xml 

f. Difference between Maven and ANT.


7

DevOps Project Management

======================

What is Scrum ?

How Scrum Team Work?

Scrum Meetings 

Issue and Bug Management Tool: JIRA

Project Documentation Confluence



8

Jenkins Overview

================

a. Jenkins installation on AWS 

b. JAVA setup for Jenkins

c. Jenkins Security

d. Jenkins Plugins 

e. Understanding Jenkins Installation Directory

f  Email notifications on Jenkins

g. Managing Users & permission.

h. Creating Jobs 

f. Integration between GIT,Maven & Jenkins


9

Ansible & Puppet

================

Overview of Configuration Management Tool

Understanding difference between popular tools in Market.

Overview of Puppet

Ansible Installation

Ansible Playbook creation

Ansible Roles 


10

Docker

========

Brief Over View of Docker 

What is Containers?

Why Containerization

Difference between VM and Container,

Docker Basic, Creating & Running Docker Images, 

Creating Docker Registry on Docker Hub, 

Docker  Compose Scripts

Write Docker File -> Create Image from Docker File  -> Create Docker contrainer from Docker file.


11

Kuberntes 

=========

Brief of Kubernetes ?

Understanding kuberntes  architecture.

Understanding Control Plane and Minions

Architecture of Kubernetes on AWS

Writing Kubernetes DSL 

Understanding and creating objects like ingress, service, serviceaccount, deployment, configmap & hpa



12

Nagious 

========

Understanding importance of Continuous Monitoring .

overview of nagios and other monitoring tools in market.

Nagios Setup and commands 

Understanding NRPE 


14

Project : CI/CD Pipeline .


Benefits of DevOps

Speed

Move at high velocity so you can innovate for customers faster, adapt to changing markets better, and grow more efficient at driving business results. The DevOps model enables your developers and operations teams to achieve these results. For example, microservices and continuous delivery let teams take ownership of services and then release updates to them quicker.

Rapid Delivery

Increase the frequency and pace of releases so you can innovate and improve your product faster. The quicker you can release new features and fix bugs, the faster you can respond to your customers’ needs and build competitive advantage. Continuous integration and continuous delivery are practices that automate the software release process, from build to deploy.

Reliability

Ensure the quality of application updates and infrastructure changes so you can reliably deliver at a more rapid pace while maintaining a positive experience for end users. Use practices like continuous integration and continuous delivery to test that each change is functional and safe. Monitoring and logging practices help you stay informed of performance in real-time.

Scale

Operate and manage your infrastructure and development processes at scale. Automation and consistency help you manage complex or changing systems efficiently and with reduced risk. For example, infrastructure as code helps you manage your development, testing, and production environments in a repeatable and more efficient manner.

Improved Collaboration

Build more effective teams under a DevOps cultural model, which emphasizes values such as ownership and accountability. Developers and operations teams collaborate closely, share many responsibilities, and combine their workflows. This reduces inefficiencies and saves time (e.g. reduced handover periods between developers and operations, writing code that takes into account the environment in which it is run).

Security

Move quickly while retaining control and preserving compliance. You can adopt a DevOps model without sacrificing security by using automated compliance policies, fine-grained controls, and configuration management techniques. For example, using infrastructure as code and policy as code, you can define and then track compliance at scale.