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

devops

The document provides an overview of DevOps, highlighting its importance, principles, and practices aimed at enhancing software development and IT operations. It outlines the DevOps lifecycle through the 7 C's, emphasizing continuous integration, testing, and deployment, while also discussing the benefits and challenges associated with implementing DevOps. Additionally, it offers guidance on selecting the right tools for DevOps and the cultural shifts necessary for successful adoption.

Uploaded by

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

devops

The document provides an overview of DevOps, highlighting its importance, principles, and practices aimed at enhancing software development and IT operations. It outlines the DevOps lifecycle through the 7 C's, emphasizing continuous integration, testing, and deployment, while also discussing the benefits and challenges associated with implementing DevOps. Additionally, it offers guidance on selecting the right tools for DevOps and the cultural shifts necessary for successful adoption.

Uploaded by

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

DevOps

 Looping
Outline
 What is DevOps?
 DevOps Importance and Benefits
 DevOps Principles and Practices
 7 C’s of DevOps Lifecycle for Business Agility
 DevOps and Continuous Testing
 How to Choose Right DevOps Tools
 Challenges with DevOps Implementation
 Must Do Things for DevOps
 Mapping My App to DevOps –Assessment
 Definition, Implementation, Measure and Feedback
Limitation of Waterfall

3
Agile Model

4
Limitation of Agile

5
Solution is DevOps

6
What is DevOps?

7
What is DevOps?
 The word DevOps is the mixture of
Plan Code
two words Dev (it represents Software
Build Test Development) and Ops (It represents
IT Operations e.g. Application and
Development infrastructure planning, Automation
implementation, incident response, and
DevOps incident management, etc.)
 DevOps is a group of practices &
principals that perfectly blends
software development (Dev) and IT
operations (Ops).
 The main aim of DevOps is to provide
Operations continuous & high-quality delivery of
Releas Deplo the software by making shortening
SDLC (Software Development Life
e y
Operat Monit Cycle)
e or  DevOps bridges the gap between 8 the
DevOps Importance and Benefits
1 Technical benefits 3 Business benefits
Continuous software Faster delivery of features
delivery
Less complexity to More stable operating environments
manage
Faster resolution of Improved communication and collaboration
problems
Maximizes Efficiency with More time to innovate (rather than
Automation fix/maintain)
Optimizes the Entire Business
2 Cultural benefits Gets the focus on What Matters Most: People
Happier, more productive
teams
Higher employee
engagement
Greater professional
development
opportunities
9
DevOp Practices DevOps Principles
 Process automation DevOps principles guide how to organize a
 Continuous Integration DevOps environment.
(CI)  Incremental Releases
 Continuous Delivery  Automation
(CD)  DevOps Pipeline
 Continuous Deployment  Continuous Integration
 Infrastructure as code  Continuous Delivery
 Microservices  Continuous Monitoring
 Configuration  Feedback Sharing
management and many
more.  Version Control
 Collaboration

10
7 C’s of DevOps Lifecycle for Business Agility
 An agile relationship between development & operations are defined by
DevOps.
 DevOps is a set of rules and procedures followed by the development
team and operational engineers together from beginning to the final
stage of the product.
 To understand the DevOps lifecycle phases is essentials to Learn DevOps.
 The DevOps Life cycle is described by 7’C
 The 7’C approach to DevOps requires an efficient integration of
processes and tools to automate the seamless information exchange and
execution.
 The 7’C approach to DevOps also requires efficient collaboration between
all stakeholders empowering them to contribute more.
 The 7’C approach removes all deviation of information and execution.

11
7 C’s of DevOps Lifecycle for Business Agility
Continuous Development

Continuous Integration

Continuous Testing

Continuous Monitoring

Continuous Feedback

Continuous Deployment

Continuous Operations

12
7 C’s of DevOps Lifecycle for Business Agility
Cont.
1 Continuous 2 Continuous Integration
Development
 Planning and Coding of  This is the main stage of the DevOps lifecycle.
the software are involved  Developers should commit the changes to the source
in this initial phase. code more frequently as a software development
 During the planning practice. This should be on daily and weekly basis.
phase, the vision of the  Next step is to build the every commit, this is used for
project and scope is early detection of problems if they are present.
decided. Building the code involves not the compilation, but
 After the planning, also includes unit testing, integration testing, code
developers used to begin review, and packaging.
coding the application.  The new functionality is continuously integrated with
 For the planning no the existing code. So, there is continuous
DevOps tools available, development of software. The newly written code
but many tools available needs to be integrated continuously and smoothly
to maintain the code. with the systems to reflect changes to the end-users.
 Jenkins is a famous tool used for continuous
integration. Once the change in the Git repository is
ready, then Jenkins fetches the committed code 13 and
7 C’s of DevOps Lifecycle for Business Agility
Cont.
3 Continuous Testing 4 Continuous Monitoring
 In this phase, software continuously testing for  Monitoring is the phase where
bugs. The tools like TestNG, JUnit, Selenium etc important information about the
are used for the constant testing. use of software is recorded and
 This phase, where the developed software is processed to identify the
continuously testing for bugs. For constant problem areas. Monitoring is
testing, automation testing tools such as integrated with the operational
TestNG, JUnit, Selenium, etc are used. capabilities of the software
application. The system errors
 These testing tools allow QAs to test multiple such as server not reachable,
code-bases in parallel to ensure that there is low memory, etc are resolved in
no flaw in the functionality. Docker Containers this phase. It maintains the
can be used for simulating the test security and availability of the
environment. service.
 Replacing manually testing to Automation
testing saves a lot of time and effort for
executing the tests. The code is continuously
integrated with the existing code, after the
testing. 14
7 C’s of DevOps Lifecycle for Business Agility
Cont.
5 Continuous Feedback 7 Continuous Operations
 By analyzing the results from the operations  All the operations in DevOps are
of the software, one can improve the based on the continuity with
application development. complete automation of the
 This can be achieved by constant feedback release process. It allow the
among the development and the operations organization to accelerate the
of the next version of the current software overall time to market.
6applications.
Continuous Deployment  It is clear that continuity is the
 This phase deploys the code to the production critical factor in the DevOps in
servers. removing steps that often
distract the development, take it
 This is essential to ensure that the code is longer to detect issues and
correctly working on the production servers produce a better version of the
and real environments. The new code should product after several months.
be deployed continuously. With DevOps, we can make any
 The new code is deployed continuously, and software product more efficient
configuration management tools play an and increase the overall count of
essential role in executing tasks frequently interested customers in your
and quickly. Here are some popular tools product. 15
DevOps and Continuous Testing
 In DevOps Continuous testing is the most important process of the
continuous delivery pipeline along with Continuous Integration in the
same pipeline.
 The continuous testing in DevOps contains the execution of automated
tests repeatedly & continuously against the codebase in the various
deployment environments.
 Continuous testing contains unit tests, static code analysis, security code
analysis, integration tests & load and performance tests. These sets of
tests run in an automated continuous testing pipeline.
 To test every line of code, every time at different stages is almost
impossible to do each time manually when a line of code is updated into
version control. That’s where continuous testing comes into the picture.

16
DevOps and Continuous Testing Cont.
Continuous Delivery (CD) | Automated Deployment Pipeline
Continuous Integration Build Pipeline
Automate
Code Compile &
d Unit
Check In Build
Test

User Release to
Acceptanc
Acceptance Productio
e Test
Automatic
Test Manual
n
Approval Approval
Quality Quality
Gate Gate
Continuous Testing – Test Pipeline

17
DevOps and Continuous Testing Cont.
AAQG = Automated Approval
Quality Gate

Continuous Testing (CT)

Integration System Testing


On CI Server Environment Environment
AAQ AAQ
Unit Tests, System Tests &
Integration G
Cod

G
Security Non Functional
e

Tests
Tests Test

AAQ AAQ Manua


G G l Gate
Acceptance Release
Performan End User
Test, to
ce & Load Acceptance
Exploratory Productio
Test Test
Performance Test Pre
n
Production Like
Testing Production
Environment
Environment Environment
18
DevOps and Continuous Testing (CT) Cont.
 As per the continuous testing (CT) diagram, unit tests are carried out on the CI
server. It tests each unit of the system in an isolation.
 Integration tests are carried out on the Integration environment to verify the
components integrated.
 System tests are carried out in the system testing environment where the
system the integrated components and interfaces are tested through system-
level scenarios in a system testing environment.
 CT progressively becomes harder and longer with the progression towards the
production environment as environment complexity advances.
 The test cases are required to update each time at different phases. The
automated scripts required to update because the code becomes more mature
& progresses to a higher level of environment ill it gets into production.
 The time to execute the tests increases with the testing progress. E.g. the unit
test may take very little time to execute, the integration tests, system tests or
load tests may take a few hours to execute or may take a few days for
execution.
 The CT mainly running the automated test cases. It also involves certain manual
19
Benefits of Continuous Testing in DevOps
 Early identification of critical bugs
 Smooth collaboration among developers, QA and Operations team
 At each stage of SDLC, it helps to assess the quality of software
developed
 Leads to improvement in code quality by driving faster test results which
 Repeated testing ensures minimal failure rate for new releases
 Faster time to market with a viable product and continuous feedback
mechanism

20
Choose Right DevOps Tools
 At the time of adopting a DevOps approach for building and operating
software systems, one should rely on modern tools for each & every
aspect of build, release, and operations activities.
 The first step to choose Right DevOps Tools is one need to think more
broadly about what company need.
 Following are the guideline for selecting the right DevOps tools for any
organization
 Select tools which facilitate collaboration
 One should give proper importance to collaboration as a key selection aspect of
tools.
 Verify the main purpose of the tool to find collaboration opportunities.
 Check, “How does the use of selected tool helps in collaboration?”
 Select DevOps tools which provides APIs
 The company can get mixture of new capabilities from multiple API-driven tools.

21
Choose Right DevOps Tools Cont.
 Select the tools which can store configuration in version control
 Select tools that provides configuration to version control system available in
market.
 DevOps tools should encourages learning
 Few tools for DevOps are so much involved and complicated for the people new to
them; one should not expect everyone to understand or adopt complex new tools
immediately. If management selects a tool that is too tricky to use, some people
may start opposing, especially if management don't provide training.
 Company should select tools which is easy to use.
 Bring people with company into the DevOps journey.
 Avoid special production-only tools
 Select tool that enhance inter-team communications
 Consider the entire organization as a system you are building.
 Select separate tools for the separate teams.
 One should deploy shared tools for the collaborative teams.

22
Challenges with DevOps Implementation
 Lack of a Standard Definition for DevOps  Shortage of Tool
 Many companies are still not have the actual Knowledge
understanding of DevOps e.g. the purpose
behind it, or for that matter, the benefits of  Choice of Tools
using it.  Lack
 Many people believe that DevOps overrules
of Tool
existing methodologies like Scrum which are
Integration
practiced in most industries.  Cultural Challenges
 Actually, DevOps helps to improve the
execution of available methodologies.
 Isolated Teams
 The implementation of DevOps becomes risky  Risk Analysis
because of the lack of proper understanding.
 Lack of Vision
 It is difficult to have a vision without proper
understanding and definition of the problem or
solution. Because of it analysts may stuck to
ambiguous circle.
 It is really more difficult to break this ambiguous
circle & to become more receptive to the newer 23

You might also like