Introduction to DevOps
AGENDA
Agile Model
Why DevOps?
What is DevOps?
DevOps Lifecycle
DevOps Tools
AGILE
MODEL
© Copyright. All Rights Reserved.
AGILE MODEL
To overcome the challenges faced in the
Waterfall Model, we came up with the
Agile Methodology
Agile Method believes in creating shorter
development lifecycles
Shorter Development Lifecycles are
achieved by not releasing all the features
at once by following an incremental model
of development
© Copyright. All Rights Reserved.
ADVANTAGES OF AGILE MODEL
Customer Satisfaction is high
Less Planning Required
Requirements can be dynamic in nature
Functionality can be created and tested quickly
© Copyright. All Rights Reserved.
DISADVANTAGES OF AGILE MODEL
Not suitable for handling complex
dependencies inprojects
Knowledge transfer to colleagues can be
difficult since there is littledocumentation
Success of the project depends heavily on
customer interaction
© Copyright. All Rights Reserved.
WHY
DEVOPS?
© Copyright. All Rights Reserved.
WHY DEVOPS?
Although, the software quality was improved.
Software Company
We still had a lack of efficiency among the
development team. A typical software
development team consists of Developers and
Operations employees. Let us understand their
job roles
Developers Operations
© Copyright. All Rights Reserved.
WHY DEVOPS?
A developer’s job is to develop The operations team job is to test the
applications and pass his code to the code, and provide feedback to
operations team developers in case of bugs. If all goes
well, the operations team uploads the
code to the build servers
Developer Operations
© Copyright. All Rights Reserved.
WHY DEVOPS?
Developer Operations
The developer used to run the The operations when tried to
code on his system, and then run the code on their system,
forward it to operationsteam. it did not run!
© Copyright. All Rights Reserved.
WHY DEVOPS?
Developer Operations
But, the code runs fine on the The operations then marked
developer’s system and hence this code as faulty, and used
he says “It is not myfault!” to forward this feedback to
the developer
© Copyright. All Rights Reserved.
WHY DEVOPS?
Developer Operations
This led to a lot of back and forth betweenthe
developer and the operations team, hence
impacted efficiency.
© Copyright. All Rights Reserved.
WHY DEVOPS?
Developer Operations
This problem was solved using Devops!
© Copyright. All Rights Reserved.
TRADITIONAL IT VS DEVOPS
Traditional IT Devops
Less Productive More Productive
Skill Centric Team Team is divided into specializedsilos
Smaller and Frequent releases lead to easy
More Time invested inplanning
scheduling and less time in planning
Frequent releases, with continuous feedback
Difficult to achieve target or goal
makes achieving targets easy
© Copyright. All Rights Reserved.
WHAT IS
DEVOPS?
© Copyright. All Rights Reserved.
WHAT IS DEVOPS?
Devops is a software development methodology which improves the collaboration
between developers and operations team using various automation tools. These
automation tools are implemented using various stages which are a part of the Devops
Lifecycle
© Copyright. All Rights Reserved.
DevOps Lifecycle
HOW DEVOPS WORKS?
The Devops Lifecycle divides the SDLC lifecycle into the following stages:
Plan Release
Continuous Continuous
Development Deployment
Code Continuous Deploy
Integration
Build Operate
Continuous Continuous
Testing Test Monitor Monitoring
© Copyright. All Rights Reserved.
HOW DEVOPS WORKS?
Continuous
Development
Continuous
Integration
Developer Version Control
System
Continuous
Deployment
Continuous Continuous Testing
Monitoring
Testing Server Production
Server
Feedback
Automated CI/CDPipeline
© Copyright. All Rights Reserved.
HOW DEVOPS WORKS?
This stage involves committing code to version control tools
such as Git or SVN for maintaining the different versions of
Continuous Development the code, and tools like Ant, Maven, Gradle for building/
packaging the code into an executable file that can be
forwarded to the QAs for testing.
Continuous Integration
Continuous Deployment
Continuous Testing
Continuous Monitoring
© Copyright. All Rights Reserved.
HOW DEVOPS WORKS?
The stage is a critical point in the whole Devops Lifecycle. It
deals with integrating the different stages of the devops
Continuous Development lifecycle, and is therefore the key in automating the whole
Devops Process
Continuous Integration
Continuous Deployment
Continuous Testing
Continuous Monitoring
© Copyright. All Rights Reserved.
HOW DEVOPS WORKS?
In this stage the code is built, the environment or the
application is containerized and is pushed on to the desired
Continuous Development server. The key processes in this stage are Configuration
Management, Virtualization and Containerization
Continuous Integration
Continuous Deployment
Continuous Testing
Continuous Monitoring
© Copyright. All Rights Reserved.
HOW DEVOPS WORKS?
The stage deals with automated testing of the application
pushed by the developer. If there is an error, the message is
sent back to the integration tool, this tool in turn notifies the
Continuous Development developer of the error. If the test was a success, the message
is sent to Integration tool which pushes the build on the
production server
Continuous Integration
Continuous Deployment
Continuous Testing
Continuous Monitoring
© Copyright. All Rights Reserved.
HOW DEVOPS WORKS?
The stage continuously monitors the deployed application for
bugs or crashes. It can also be setup to collect user feedback.
Continuous Development The collected data is then sent to the developers to improve
the application
Continuous Integration
Continuous Deployment
Continuous Testing
Continuous Monitoring
© Copyright. All Rights Reserved.
DEVOPS
TOOLS
© Copyright. All Rights Reserved.
DEVOPS TOOLS
We have discussed the Devops Methodology, but this methodology cannot be put into
action without it’s corresponding tools. Let us discuss the devops tools with their
respective lifecycle stages
© Copyright. All Rights Reserved.
DEVOPS TOOLS
Git is a distributed version-control system for tracking changes
in computer files and coordinating work on those files among
Continuous Development multiple people. It is primarily used for source-code
management in software development, but it can be used to
keep track of changes in any set of files
Continuous Integration
Continuous Deployment
Continuous Testing
Continuous Monitoring
© Copyright. All Rights Reserved.
DEVOPS TOOLS
Jenkins is an open source automation server written in Java.
Jenkins helps to automate the non-human part of the
Continuous Development software development process, with continuous integration
and facilitating technical aspects of continuousdelivery
Continuous Integration
Continuous Deployment
Continuous Testing
Continuous Monitoring
© Copyright. All Rights Reserved.
DEVOPS TOOLS
Continuous Deployment
Continuous Development
Continuous Integration
Virtualization & Configuration
Containerization Management
Continuous Deployment
Continuous Testing
Continuous Monitoring
© Copyright. All Rights Reserved.
DEVOPS TOOLS
Selenium is a portable software-testing framework used for
web applications. It is an open source tool which is used for
Continuous Development automating the tests carried out on web browsers (Web
applications are tested using any webbrowser).
Continuous Integration
Continuous Deployment
Continuous Testing
Continuous Monitoring
© Copyright. All Rights Reserved.
DEVOPS TOOLS
Nagios is an open-source devops tool which is used for
monitoring systems, networks and infrastructure. It also offers
Continuous Development monitoring and alerting services for any configurable event.
Continuous Integration
Continuous Deployment
Continuous Testing
Continuous Monitoring
© Copyright. All Rights Reserved.
DEVOPS TOOLS
Developer GitHub
Jenkins
Selenium
Production Server Testing Server
© Copyright. All Rights Reserved.
DEVOPS TOOLS
© Copyright. All Rights Reserved.