DevOps
Tutorial
[Link].7169709@[Link]
GR1WE5O83D
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
Module 1:
[Link].7169709@[Link]
DevOps Overview
GR1WE5O83D
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
[Link].7169709@[Link]
GR1WE5O83D
Why DevOps?
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
Waterfall Model
Requirements In the early year of software
development when it was just
Designing coming up, waterfall model was
used.
Implementation
[Link].7169709@[Link] Waterfall model is a very standard
GR1WE5O83D
model used in many different fields,
Testing not just software development.
It was very useful when the
Deployment
requirements were concrete and the
development cycles were long.
Maintenance
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
New Methodologies
Extreme Programming
[Link].7169709@[Link]
GR1WE5O83D Agile Spiral Model
Develop an Build a Plan by Design by Build by
overall model feature list feature feature feature
Feature Driven Development
Lean Methodology
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
[Link].7169709@[Link]
GR1WE5O83D
What is DevOps?
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
What is DevOps?
[Link].7169709@[Link]
GR1WE5O83D
Way of software Values & Principle Methodologies Tools
development
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
What is DevOps?
The name DevOps comes from Developer and Operations. DevOps bridges
the communication gap between the software developers and the It operation
teams.
[Link].7169709@[Link]
GR1WE5O83D
DevOps
Developers
This file is meant for personal use by [Link].7169709@[Link]
only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
What is DevOps?
“DevOps is a set of practices that combines software development (Dev)
and IT operations (Ops). It aims to shorten the systems development life
cycle and provide continuous delivery with high software quality. DevOps is
complementary with Agile software development; several DevOps aspects
came from Agile methodology.”
[Link].7169709@[Link]
GR1WE5O83D
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
Benefits of DevOps
[Link].7169709@[Link]
GR1WE5O83D
Productivity Returns
Excellence
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
[Link].7169709@[Link]
GR1WE5O83D
DevOps Phases
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
DevOps Phases
Continuous Continuous Continuous Continuous Continuous
Development Testing Integration Deployment Monitoring
[Link].7169709@[Link]
GR1WE5O83D
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
[Link].7169709@[Link]
GR1WE5O83D
Who is a DevOps Engineer?
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
DevOps Engineer
- Basically a DevOps engineer is responsible for designing, maintaining the
software development pipeline. He also makes sure that a software is
deployed properly without any issues. A DevOps engineer knows how to
automate processes and writing automation scripts. He also knows how to
keep the whole infrastructure secure and robust.
[Link].7169709@[Link]
GR1WE5O83D
- A DevOps engineer has excellent communication skills that help him to
convey ideas and exchange information between different teams.
- On daily level, a DevOps engineer is responsible for makes sure scaling
needs of cloud are fulfilled, optimisation, managing permissions,
documentations.
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
DevOps Engineer
A DevOps engineer has a wealth of knowledge such as:
• Knowledge of Linux, Windows Operating Systems
• Database Tech
• Server Tech
• Orchestration
[Link].7169709@[Link]
GR1WE5O83D
• Cloud tech
• Source Control
• Continuous integration & Deployment
• Automation
• Scripting
• Networking
• Excellent Communication
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
[Link].7169709@[Link]
GR1WE5O83D
Version Control - GIT
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
[Link].7169709@[Link]
GR1WE5O83D
What is Version Control?
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
What is Version Control?
These days when software is developed, It is not developed with the mind-set
that there will only be one piece of code that will be deployed and that’s it.
These days smaller snippets of code are deployed in regular successions with
regular feedbacks. This leads to many different versions of the code.
And that creates a need to organise the code and all of its different version of
it. This is where Version Control comes in. It is a practice of managing and
[Link].7169709@[Link]
GR1WE5O83D
storing different version of a source code.
This is especially the case with Larger companies that have multiple projects
and multiple teams working within it.
A1, A2, A3 B1, B2, B3 C1,C2,C3
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
[Link].7169709@[Link]
GR1WE5O83D
What is Git
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
What is Git?
Git is an open source version control system that allows the user to keep track
of all the changes that have been made to the source code of the software.
[Link].7169709@[Link]
GR1WE5O83D
Developer 1
GitHub
Developer 2
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
What is Git?
The lifecycle of the code within Git.
[Link].7169709@[Link]
GR1WE5O83D
Working Directory Initialization Staging Local Storage GitHub
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
[Link].7169709@[Link]
GR1WE5O83D
Getting started with GitHub
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
[Link].7169709@[Link]
GR1WE5O83D
Installing & Configuring Git
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
Git Installation & Setup
Linux Windows MAC
[Link].7169709@[Link]
GR1WE5O83D
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
[Link].7169709@[Link]
GR1WE5O83D
Git Common Commands
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
[Link].7169709@[Link]
GR1WE5O83D
Branches
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
[Link].7169709@[Link]
GR1WE5O83D
Microsystems & Containerization
– Docker This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
[Link].7169709@[Link]
GR1WE5O83D
Issues we faced before Containerization
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
Issues we faced before Containerization
[Link].7169709@[Link]
GR1WE5O83D
Developer Tester
Standard Delivery Pipeline
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
Issues we faced before Containerization
Operating Pytest 5.4.3 Pycharm IDE
[Link].7169709@[Link]
System
GR1WE5O83D
Backend Code Dependencies
Backend Developer
Developer’s Environment
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
Issues we faced before Containerization
Operating Pytest 5.3.0 Spyder IDE
[Link].7169709@[Link] System
GR1WE5O83D
Backend Code Dependencies
Tester
Tester’s Environment
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
Issues we faced before Containerization
Developer Tester
[Link].7169709@[Link]
GR1WE5O83D
- This Code runs fine on my computer - This Code does not run on my system
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
Issues we faced before Containerization
Developer Tester
[Link].7169709@[Link]
Operating
GR1WE5O83D
Pytest 5.4.3 Pycharm IDE Operating Pytest 5.3.0 Spyder IDE
System System
Backend Code Dependencies Backend Code Dependencies
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
Issues we faced before Containerization
[Link].7169709@[Link]
GR1WE5O83D - Now Let’s see what happens
when we introduce Containers.
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
Issues we faced before Containerization
- This Code runs fine on my computer
- This Code runs fine on my computer
[Link].7169709@[Link]
GR1WE5O83D
Developer Tester Prod
Similar Delivery Pipeline but with containers
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
[Link].7169709@[Link]
GR1WE5O83D
What is a Container?
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
What is a Container?
Containers are software that wrap up all the parts of a code and all its
dependencies into a single deployable unit that can be used on
different systems and servers.
[Link].7169709@[Link]
GR1WE5O83D
Code Libraries
Container Systems & Servers
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
[Link].7169709@[Link]
GR1WE5O83D
What is Docker?
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
What is Docker?
Docker is a tool that helps in developing, building, deploying and executing software in
isolation. It does so by creating containers that completely wrap a software.
[Link].7169709@[Link]
GR1WE5O83D
The Isolation provided by container gives a layer of security to the
containers.
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
Why Docker?
Simple Fast Easy Collaboration
[Link].7169709@[Link]
GR1WE5O83D
Built for Developers, by
Docker Community
Developers
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
[Link].7169709@[Link]
GR1WE5O83D
Docker Installation & Setup
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
Docker Installation & Setup
Linux Windows MAC
[Link].7169709@[Link]
GR1WE5O83D
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
[Link].7169709@[Link]
GR1WE5O83D
Docker Environment
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
Docker Environment
Docker Engine Docker Objects Docker Registry
[Link].7169709@[Link]
GR1WE5O83D
Docker Compose Docker Swarm
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
[Link].7169709@[Link]
GR1WE5O83D
Docker Engine
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
Docker Engine
Docker engine is as the name suggests, its technology that allows for
the creation and management of all the Docker Processes. It has three
major parts to it.
[Link].7169709@[Link]
GR1WE5O83D
Docker CLI Docker API Docker Daemon
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
[Link].7169709@[Link]
GR1WE5O83D
Docker Objects
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
Docker Objects
Docker Images Docker Containers Docker Volumes
[Link].7169709@[Link]
GR1WE5O83D
Docker Swarm Nodes &
Docker Networks
Services
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
Docker Objects - Images
Docker images are sets of instructions that are used to create
containers and execute code inside it.
[Link].7169709@[Link]
GR1WE5O83D
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
Docker Objects - Images
[Link].7169709@[Link]
GR1WE5O83D Let’s pull an image and work with
it.
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
[Link].7169709@[Link]
GR1WE5O83D
Docker Common Commands
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
[Link].7169709@[Link]
GR1WE5O83D
Continuous Integration - Jenkins
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
Agenda
1. Why Continuous integration?
2. What is Jenkins?
[Link].7169709@[Link]
GR1WE5O83D 3. What are Jenkins Features?
4. Jenkins architecture
5. Jenkins installation & setup
6. Setting up a CI/CD pipeline
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
[Link].7169709@[Link]
GR1WE5O83D
Why continuous integration?
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
Why continuous integration?
[Link].7169709@[Link]
GR1WE5O83D
Code
Source Code Deployment
Manager Tester
Standard Delivery Pipeline
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
[Link].7169709@[Link]
GR1WE5O83D
What is Jenkins?
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
What is Jenkins?
Jenkins is an Open Source continuous integration tool written in java
that allows us to automate the software development process, making
sure that there is minimum involvement from us. It also integrates all
the different parts of the development.
[Link].7169709@[Link]
GR1WE5O83D
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
What is Jenkins?
[Link].7169709@[Link]
GR1WE5O83D
Code
Source Code Deployment
Manager Jenkins
Tester
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
Benefits of Jenkins
- Jenkins is a community tool – Its open source and has a very very
large community that contributes to it regularly.
- It’s free, so you don’t have to accrue anymore subscription costs.
[Link].7169709@[Link]
GR1WE5O83D
- It is highly modifiable and adaptable and has a support for a very
large number of plugins.
- It can run on any major platform without any compatibility issues.
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
Jenkins Pipeline
feedback
Staging
[Link].7169709@[Link] building
GR1WE5O83D
Testing
Jenkins
Source Code
Manager
Production
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
[Link].7169709@[Link]
GR1WE5O83D
Jenkins Installation & Setup
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
[Link].7169709@[Link]
GR1WE5O83D
Continuous Monitoring – ELK &
Prometheus & grafana
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
[Link].7169709@[Link]
GR1WE5O83D
Why Continuous Monitoring?
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
Why Continuous Monitoring?
Continuous Monitoring is an important part of Software Development. It
is something we take up as measure to maintain the health of a
software and to improve the quality of the software, and this is based
on the feed back we get from the insights gained from monitoring.
[Link].7169709@[Link]
GR1WE5O83D
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
Why Continuous Monitoring?
Continuous Monitoring is an important part of Software Development. It
is something we take up as measure to maintain the health of a
software and to improve the quality of the software, and this is based
on the feed back we get from the insights gained from monitoring.
[Link].7169709@[Link]
GR1WE5O83D
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
Why Continuous Monitoring?
Continuous Monitoring is an important part of Software Development. It
is something we take up as measure to maintain the health of a
software and to improve the quality of the software, and this is based
on the feed back we get from the insights gained from monitoring.
[Link].7169709@[Link]
GR1WE5O83D
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
Why Continuous Monitoring?
Continuous Monitoring is an important part of Software Development. It
is something we take up as measure to maintain the health of a
software and to improve the quality of the software, and this is based
on the feed back we get from the insights gained from monitoring.
[Link].7169709@[Link]
GR1WE5O83D
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
[Link].7169709@[Link]
GR1WE5O83D
What is ELK stack?
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
What is ELK stack?
ELK stack is a set of open-source tools that allow us to monitor, collect, process
analyze & visualize data, this data can be of different types and formats and
from almost any source. It was developed by Elastic co. iteratively. They started
with Elastic search and kept on adding more tools to the stack. The primary
purpose of ELK stack is log management.
[Link].7169709@[Link]
GR1WE5O83D
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
ELK features
System & Application Stack Security &
Logging
Performance
[Link].7169709@[Link] Alerting
GR1WE5O83D
Scalability and Dashboards &
Resiliency Visualisations
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
ELK Stack
Logstash
Elastic search Kibana X-Pack
[Link].7169709@[Link]
Filebeat
GR1WE5O83D
Security Reporting
Alerting ML
Elastic Cloud / Infrastructure
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
[Link].7169709@[Link]
GR1WE5O83D
This file is meant for personal use by [Link].7169709@[Link] only.
Sharing or publishing the contents in part or full is liable for legal action.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited