Introduction to DevOps
Copyright IntelliPaat, All rights reserved
Agenda
01 WHAT IS 02 WATERFALL 03 AGILE MODEL
SOFTWARE MODEL
DEVELOPMENT?
04 LEAN MODEL 05 WATERFALL VS 06 WHY DEVOPS?
AGILE VS LEAN
07 WHAT IS DEVOPS? 08 DEVOPS 09 DEVOPS TOOLS
LIFECYCLE
Copyright IntelliPaat, All rights reserved
What is Software
Development?
Copyright IntelliPaat, All rights reserved
What is Software Development?
Software Development is the process of transforming customer requirements
into a complete software product.
Copyright IntelliPaat, All rights reserved
Software Development Life Cycle
In broader terms, software development involves the following stages:
Requirements
Design
Implementation
Verification
Maintenance
Copyright IntelliPaat, All rights reserved
Software Development Life Cycle
Requirements This is the most important phase in the software
development lifecycle. In this stage, the requirements are
gathered from the customers and the requirements are
Design then analysed to ensure their feasibility.
Implementation
Verification
Maintenance
Copyright IntelliPaat, All rights reserved
Software Development Life Cycle
Requirements
Once the requirements are received, the architect transforms
these requirements into technical specifications and plan the
software components which have to be designed
Design
Implementation
Verification
Maintenance
Copyright IntelliPaat, All rights reserved
Software Development Life Cycle
Requirements
The specifications are then passed on to the developers
which create the application based on these specifications
Design
Implementation
Verification
Maintenance
Copyright IntelliPaat, All rights reserved
Software Development Life Cycle
Requirements
Once the development work is done on the application. It is
verified by a group of testers to map the application’s
functionalities with the specification given by customers
Design
Implementation
Verification
Maintenance
Copyright IntelliPaat, All rights reserved
Software Development Life Cycle
Requirements
Once the code is verified, it is pushed to production. Post
this, the application is updated with any future
enhancements or optimizations, if and when required.
Design
Implementation
Verification
Maintenance
Copyright IntelliPaat, All rights reserved
SDLC Models
Since the time software development started, various software development models have been
curated which implement SDLC. Each of these models solve problems that existed before these
models were invented.
Traditionally, there have been 3 major software development models that most companies follow:
Waterfall Model
Agile Model
Lean Model
Copyright IntelliPaat, All rights reserved
Waterfall Model
Copyright IntelliPaat, All rights reserved
Waterfall Model
Feasibility Check
Analysis Waterfall Model was among the first
development models which followed SDLC
Design
The Waterfall model follows a linear
sequential model of development i.e until
Coding & Unit
Testing the first stage is not finished, the next
stage will not start
Integration & System
Testing
Maintenance of
Software
Copyright IntelliPaat, All rights reserved
Advantages of Waterfall Model
Clear Objectives
Specific Deadlines
No ambiguous requirements
Well understood milestones
Process and results are well documented
Copyright IntelliPaat, All rights reserved
Disadvantages of Waterfall Model
Working Product is not available until the
later stage in lifecycle
Poor model for large and complex projects
Cannot accommodate changing
requirements
High risk and uncertainty
Copyright IntelliPaat, All rights reserved
Agile Model
Copyright IntelliPaat, 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 IntelliPaat, 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 IntelliPaat, All rights reserved
Disadvantages of Agile Model
Not suitable for handling complex
dependencies in projects
Knowledge transfer to colleagues can be
difficult since there is little documentation
Success of the project depends heavily on
customer interaction
Copyright IntelliPaat, All rights reserved
Lean Model
Copyright IntelliPaat, All rights reserved
Lean Model
7 Principles of Lean Methodology
Eliminate Waste
Amplify Learning Lean development is a philosophy of
increasing quality in software delivery by
Decide as late as possible making use of agile methods
Deliver as fast as possible Ignore the clutter for later and focus on
what is required now
Empower the team
Lean Methodology has it’s primary focus
on two things – Respect for frontline
Build Integrity workers and Continuous Improvement
See the whole
Copyright IntelliPaat, All rights reserved
Advantages of Lean Model
Carries the same advantages as Agile Methodology
Creates a positive working environment
Customer Feedback is given the utmost importance
Limiting Wastes saves time and money
Copyright IntelliPaat, All rights reserved
Disadvantages of Lean Model
Largely dependent on the skill set of the
team, therefore requires a strong team
No room for error, a missed delivery can
be bad for business
Success of the project depends heavily on
customer interaction
Copyright IntelliPaat, All rights reserved
Waterfall vs Agile vs Lean
Copyright IntelliPaat, All rights reserved
Waterfall vs Agile vs Lean
Waterfall Model
Agile Model
Lean Model
Requirements
Design
Implementation
Verification
Release
Customer Feedback
Eliminate Waste
Copyright IntelliPaat, All rights reserved
Summarizing
Problem with Waterfall Model was, the development lifecycle took a lot of time to complete. Therefore, by the time
finished product was delivered, the customer requirements were no longer the same.
Customers Software Company
Copyright IntelliPaat, All rights reserved
Summarizing
This problem was fixed by Lean and Agile methodologies. These methodologies strictly focussed on customer
feedback and improving the software quality that too in a shorter development lifecycle
Customers Software Company
Copyright IntelliPaat, All rights reserved
Summarizing
This problem was fixed by Lean and Agile methodologies. These methodologies strictly focussed on customer
feedback and improving the software quality that too in a shorter development lifecycle
Customers Software Company
Why do we need DevOps?
Copyright IntelliPaat, All rights reserved
Why DevOps?
Copyright IntelliPaat, 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 IntelliPaat, 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 IntelliPaat, 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 operations team. it did not run!
Copyright IntelliPaat, 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 my fault!” to forward this feedback to
the developer
Copyright IntelliPaat, All rights reserved
Why DevOps?
Developer Operations
This led to a lot of back and forth between the
developer and the operations team, hence
impacted efficiency.
Copyright IntelliPaat, All rights reserved
Why DevOps?
Developer Operations
This problem was solved using Devops!
Copyright IntelliPaat, All rights reserved
Traditional IT vs DevOps
Traditional IT Devops
Less Productive More Productive
Skill Centric Team Team is divided into specialized silos
Smaller and Frequent releases lead to easy
More Time invested in planning
scheduling and less time in planning
Frequent releases, with continuous feedback
Difficult to achieve target or goal
makes achieving targets easy
Copyright IntelliPaat, All rights reserved
What is Devops?
Copyright IntelliPaat, 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 IntelliPaat, All rights reserved
DevOps Lifecycle
Copyright IntelliPaat, All rights reserved
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 Monitoring
Test Monitor
Copyright IntelliPaat, 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/CD Pipeline
Copyright IntelliPaat, 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 IntelliPaat, 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 IntelliPaat, 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 IntelliPaat, 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 IntelliPaat, 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 IntelliPaat, All rights reserved
Devops Tools
Copyright IntelliPaat, 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 IntelliPaat, 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 IntelliPaat, 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 continuous delivery
Continuous Integration
Continuous Deployment
Continuous Testing
Continuous Monitoring
Copyright IntelliPaat, All rights reserved
DevOps Tools
Continuous Deployment
Continuous Development
Continuous Integration
Virtualization & Configuration
Containerization Management
Continuous Deployment
Continuous Testing
Continuous Monitoring
Copyright IntelliPaat, 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 web browser).
Continuous Integration
Continuous Deployment
Continuous Testing
Continuous Monitoring
Copyright IntelliPaat, 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 IntelliPaat, All rights reserved
DevOps Tools
Developer GitHub
Jenkins
Selenium
Production Server Testing Server
Copyright IntelliPaat, All rights reserved
Quiz
Copyright IntelliPaat, All rights reserved
Quiz
1. Which of these Software Development Methodologies are not suitable for large
and complex projects?
A. Waterfall Model
B. Devops
C. Agile Methodology
D. None of these
Copyright IntelliPaat, All rights reserved
Quiz
1. Which of these Software Development Methodologies are not suitable for large
and complex projects?
A. Waterfall Model
B. Devops
C. Agile Methodology
D. None of these
Copyright IntelliPaat, All rights reserved
Quiz
2. Devops Methodology was focused on solving the problems between the customers
and the software company.
A. True
B. False
Copyright IntelliPaat, All rights reserved
Quiz
2. Devops Methodology was focused on solving the problems between the customers
and the software company.
A. True
B. False
Copyright IntelliPaat, All rights reserved
Quiz
3. Which of these principles are NOT included in Agile Methodologies?
A. Frequent Release Cycles
B. Focus on Customer Feedback
C. Eliminating Waste
D. None of these
Copyright IntelliPaat, All rights reserved
Quiz
3. Which of these principles are NOT included in Agile Methodologies?
A. Frequent Release Cycles
B. Focus on Customer Feedback
C. Eliminating Waste
D. None of these
Copyright IntelliPaat, All rights reserved
Quiz
4. Which Lifecycle stage in Devops helps in Transition from one stage to another?
A. Continuous Development
B. Continuous Testing
C. Continuous Monitoring
D. Continuous Integration
Copyright IntelliPaat, All rights reserved
Quiz
4. Which Lifecycle stage in Devops helps in Transition from one stage to another?
A. Continuous Development
B. Continuous Testing
C. Continuous Monitoring
D. Continuous Integration
Copyright IntelliPaat, All rights reserved
Quiz
5. Which tool among the following helps in containerization?
A. Jenkins
B. Git
C. Kubernetes
D. Docker
Copyright IntelliPaat, All rights reserved
Quiz
5. Which tool among the following helps in containerization?
A. Jenkins
B. Git
C. Kubernetes
D. Docker
Copyright IntelliPaat, All rights reserved
India : +91-7847955955
US : 1-800-216-8930 (TOLL FREE)
support@intellipaat.com
24X7 Chat with our Course Advisor
Copyright IntelliPaat, All rights reserved