0% found this document useful (0 votes)
358 views

Module 1 - Devops Foundation

devops foundation

Uploaded by

ashokteam
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
358 views

Module 1 - Devops Foundation

devops foundation

Uploaded by

ashokteam
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 66

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)

[email protected]

24X7 Chat with our Course Advisor

Copyright IntelliPaat, All rights reserved

You might also like