Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 25

K PRASANTH KUMAR M.

Tech CSE (JNTUA)


Asst.Professor
DevOps
Unit-3
III B.TECH I SEM
DevOps Text Book
DevOps adoption in projects: Technology aspects
Growing consumer demand for more products and smart applications that ease
processes have really changed the pace of the IT industry. This resulted in
growing competition among firms in adopting the right technology solutions
that can offer them a competitive edge in the market.
Many such solutions have arrived over the years, but there is one such
technology trend that has turned into a buzzword across firms over a couple of
years. It’s none other than DevOps!
More than a technology, firms adopting that technology love to call it a culture
as
it’s the trend that reinvented the collaboration between the two key teams of
any organization i.e. Developers (Dev) and Operations (Ops).
Moreover, technology has also been most sought as a one-stop solution for
achieving continuous and quality product delivery, faster recovery time and
innovation, and most importantly, all in a collaborative environment.
Four adoption paths best describe an organization’s path to success right from
being Inefficient to becoming Leaner in the second stage and Smarter finally:
1. Steer Inefficiency: This is the first stage of transition that defines companies’
success through DevOps adoption. At this stage, the organization gets
transformed from process-based to product-based and finally become smarter
enough to optimize its processes for further efficiency.
2. Develop/Test: The next stage after transformation to a product-based
approach would be pacing up accelerating the development process and
adopt agile methodologies to test. This forms the second stage of transition
after DevOps adoption.
3. Deploy: Once the pace in development is achieved, the next stage would be to
make it faster and smart, which is where Automation steps in, forming the
third stage on the path to success through DevOps adoption. Automate the
process for transparency, quick release and ease further deployment.
4. Operate: At this stage of DevOps, the organizations start moving away from
siloed to become collaborative
These four stages form the clear-cut DevOps strategy that made DevOps deployers
(organizations) stand smart enough in dealing with the entire software process
chain to gain a competitive edge over their competitors.
Mentioned below are the factors that influence DevOps Adoption
Speed to Market – The world industries are running at mad speed to fulfill the needs of
customers alongside keeping their foot stable in the face of competition. Resultant, business
owners are looking at solutions that can help them do both. Therefore, DevOps is turning out
to be an efficient and reliable solution for leveraging business operations while surpassing
industry expectations.
Operational Efficiency – Organizations are beginning to see the speed at which software is
deployed and internal application errors are fixed. The enhanced workflow has led business
owners to believe in the potential of DevOps.
Lowering Costs – Companies have minimized wasteful expenditure on recruiting people with
limited or No DevOps knowledge and on maintaining unnecessary tools and resources. This
drives the ‘company spends’on the most important things. The cost factor is the key influencer
in the DevOps adoption.
Better Quality – Bugs don’t disrupt occur, workflows generate the desired results and
applications respond in no time to fulfill your request. What more! The quality of work and
reliability of applications have made key business stakeholders to realize the power of DevOps.
Employee Retention – With the dawn of the DevOps concept, employers have begun to
realize that they don’t require new staff or people with given knowledge rather their existing
workforce is enough to chalk out a successful DevOps plan. This trend has made business
owners retain their ‘cream of the crop’.
Technology Disruption – Technology malfunctioning can throw your business prospects out of
gear. With the DevOps system in place and the systematic approach of coding, testing and
deployment, you know that your technology can never disappoint you. Not everyone is in to
deal with downtime.
6 Steps to a Successful DevOps Adoption
1. Embrace a DevOps Mindset
2. Make the Most of Metrics
3. Understand and Address Your Unique Needs
4. Adopt Iteratively
5. Emphasize Quality Assurance Early
6. Take a Smart Approach to Automation
Note:
Is DevOps better than Agile?
The key difference between Agile versus DevOps is : 
Agile is a philosophy about how to develop and deliver software, while
DevOps describes how to continuously deploy code through the use of modern tools
and automated processes.
DevOps focuses on uniting the Development and Operations teams in a continuous
development process.
Agile focuses on embracing mid-project changes. DevOps focuses on the end-to-end
software engineering process that embraces constant development and testing.
Is DevOps possible without Agile?
Agile Is Not Possible Without DevOps.
Agile capabilities in devops
In today’s fast-paced technological development and deliveries, companies
focus on accelerated deliveries while maintaining high customer value.
DevOps and Agile are two different technologies focused on delivering the same
output.
The primary function of the DevOps application is to reduce the number of
steps during the software development process for faster delivery of the
software into the market. Of course, the scalability of the software,
deployment of the software, and its monitoring and maintenance are also kept
in focus while its implementation. Simply put, software development and IT
operations work together to bring down the software implementation
delivery time.
On the other hand, Agile software development is more focused on software
development to increase the velocity of project delivery. As mentioned
earlier, the end goal is similar. Thus, combining the two, making it Agile
DevOps,  will help overcome the challenges and shortcomings of each other
with benefits like faster delivery, and higher customer satisfaction resulting in
higher revenue and profit growth.
What is Agile DevOps?
 To bring two technologies together, we must understand both of them
individually, which in turn, will help us understand how well they can gel with
each other.
 Both DevOps and Agile are the modern software development practices that
are designed to produce a part of a product, launch, or release, the
approaches they follow are different.  Let us try and compare the approaches
that the two practices follow:
DevOps vs Agile
DevOps vs Agile: Similarities and Differences
Now that we have understood What is DevOps methodology and Agile methodology,
understanding the similarities and differences will help us in understanding Agile DevOps better.
Difference: The scheduling of the process followed is different from one another. 
Agile employs weekly or monthly sprints to set features to be created during this
sprint.
DevOps sets multiple schedules for deployment to minimize the associated
business impact.
Similarities:
 Both, Agile and DevOps methodologies complement each other and thus can
work in tandem.
Agile rapidly adapts to changing requirements while collaborating better between
the smaller teams.
DevOps enables continuous automated integration and deployment to enable frequent releases
while collaborating better between the smaller teams.
When applied in tandem, Agile DevOps enables significantly faster development
and deployment while keeping the customer’s needs at the forefront. Continuous
feedback and integration become quicker and easier.
Having understood the benefits and similarities, it is advised to choose the
resources carefully as in larger organizations, the cultural work methodology
differences might create hindrances and friction amongst the teams.
What can be Achieved by Integrating DevOps and Agile?
Integrating DevOps and Agile will lead to greater business performance. The
organizations that are embracing Agile DevOps practices are seeing
approximately 60% growth in their revenue. It is almost 2.4 times more than
their counterparts that are growing at a rate of over 20%. The major benefits of
bringing two approaches together are listed below:
1. Process releases are simplified and product offerings are improved
2. Allows maximized collaboration
3. Implementation of continuous integration/delivery pipeline
4. More value and fewer risks in every release
5. Fewer bugs and faster fixes
6. Increased visibility
7. Higher customer satisfaction
rates
8. More qualitative products
Points to Consider when Integrating Agile and Devops
1. Seamless Teamwork Flow
2. Defining the Software Lifecycle
3. DevOps Adoption in Sprints
4. Quality Assurance
5. Implement Service Backlog Under DevOps
6. Leveraging the Right Tools
7. Automation
8. Documentation
9. Measurement and Analysis
5 Ways to Use DevOps and Agile Services Together
FAQs
Q. Are Agile and DevOps the same?
Agile and DevOps are two different approaches/methodologies used for project
deliveries. However, Agile can be used as a part of DevOps.
 Agile approach focuses on fulfilling the customers’ needs and requirements.
 DevOps approach focuses on ease of communication between the team to deliver the
projects with greater efficiency and speed.
Q. How do Agile and DevOps Interrelate?
DevOps brings together the two teams that used to work in their silos to increase the velocity
of software development and release. While the Agile team works in smaller groups so that
they can react quickly as per customer requirements.
In other words, DevOps creates the software, and the Agile team tests it and deploys it.
Q. What are the challenges in bringing the two approaches together?
1. The major difference between Agile and DevOps is the culture that they work in. The 
Agile team works in small teams whereas DevOps, as the name suggests, is the
integration of development and operations teams.
2. To merge the two methodologies, the team and the leadership should be well prepared to
face the challenge in the way cross-functional teams will have to work together for
smooth and quick delivery of the projects.
Tool stack implementation in DevOps
What is tool stack?
 toolstack (plural toolstacks) (computing) A collection of software tools to work on
different parts of a related system, often used on information technology
infrastructure management.
How are DevOps tools implemented?
The DevOps Implementation Roadmap involves Six Steps:
1) Introduce DevOps Initiative: (a culture—or mindset—change that brings greater
collaboration between multiple teams—product, engineering, security..etc)
2) Develop DevOps Strategy: (Procedure : plan, build, deploy, maintenance)
3) Use Containerization: (a process of packaging your application together with its
dependencies into one package (a container)
4) Integrate Infrastructure with CI/CD Tools. ...
5) More Test Automation and QA-Dev Alignment. ...
6) Application Performance Monitoring.
what DevOps is not;
o DevOps is not a tool or software
o DevOps is not a separate team
o DevOps is not just blending Development & Operations teams
o But, DevOps is a never-ending process of continual improvement.
If you’re considering DevOps, you have many moving parts to consider. Core to this
structure are automated provisioning, automated testing, and automated build and
deployment. At the same time, you need to maintain continuous feedback, with information
continuously moving back and forth, as well as making sure that you log pretty much
everything.
Step 1: Understand the collaboration and shared tools strategy for the Dev, QA, and
infrastructure automation teams
DevOps teams need to come up with a common tools strategy that lets them
collaborate across development, testing, and deployment . This does not mean that you
should spend days arguing about tooling; it means you work on a common strategy that
includes DevOps...
1. Processes
2. Communications and collaboration planning
3. Continuous development tools
4. Continuous integration tools
5. Continuous testing tools
6. Continuous deployment tools
7. Continuous operations and CloudOps tools
Coming up with a common tools strategy does not drive tool selection — at least not at this
point. It means picking a common share strategy that all can agree upon and that is
reflective of your business objectives for DevOps.
Step 2: Use tools to capture every request
No ad hoc work or changes should occur outside of the DevOps process, and DevOps
tooling should capture every request for new or changed software. This is different from logging
the progress of software as it moves through the processes. DevOps provides the ability to
automate the acceptance of change requests that come in either from the business or from
other parts of the DevOps teams.
Examples include changing software to accommodate a new tax model for the business, or
changing the software to accommodate a request to improve performance of the database
access module.
Step 3: Use agile Kanban project management for automation and DevOps requests that can
be dealt with in the tooling
Kanban is a framework used to implement agile development that matches the amount of
work in progress to the team's capacity. It gives teams more flexible planning options, faster
output, clear focus, and transparency throughout the development cycle. 
Step 4: Use tools to log metrics on both manual and automated processes
Select tools that can help you understand the productivity of your DevOps processes, both
automated and manual, and to determine if they are working in your favor. You need to do two
things with these tools.
First, define which metrics are relevant to the DevOps processes, such as speed to deployment
versus testing errors found.
Second, define automated processes to correct issues without human involvement. An example
would be dealing with software scaling problems automatically on cloud-based platforms. 
Step 5: Implement test automation and test data provisioning tooling
Test automation is more than just automated testing; it’s the ability to take code and data and run
standard testing routines to ensure the quality of the code, the data, and the overall solution. With
DevOps, testing must be continuous. The ability to toss code and data into the process means you
need to place the code into a sandbox, assign test data to the application, and run hundreds — or
thousands — of tests that, when completed, will automatically promote the code down the DevOps
process, or return it back to the developers for rework.
Step 6: Perform acceptance tests for each deployment tooling
Part of the testing process should define the acceptance tests that will be a part of each
deployment, including levels of acceptance for the infrastructure, applications, data, and even the
test suite that you’ll use. For the tool set selected, those charged with DevOps testing processes
should to spend time defining the acceptance tests, and ensuring that the tests meet with the
acceptance criteria selected.
These tests may be changed at any time by development or operations. And as applications evolve
over time, you'll need to bake new requirements into the software, which in turn should be tested
against these new requirements. For example, you might need to test changes to compliance issues
associated with protecting certain types of data, or performance issues to ensure that the
enterprise meets service-level agreements.
Step 7: Ensure continuous feedback between the teams to spot gaps, issues, and inefficiencies
Finally, you'll need feedback loops to automate communication between tests that spot issues,
and tests that process needs to be supported by your chosen tool. The right tool must identify the
issue using either manual or automated mechanisms, and tag the issue with the artifact so the
developers or operators understand what occurred, why it occurred, and where it occurred.
People aspect & processes in DevOps
What is DevOps people process?
DevOps is the correlation of people, process, and products to enable continuous delivery
of value to end users. The outcomes are tightly connected to allow for frequent releases and at
the same time to keep the same level of quality.
DevOps: The Three Stage Conversation – People, Process and Products
1.  DevOps is a methodology interacting between Development and Operations to improve
collaboration and the joint effort between both functions.
2. DevOps can also be referred to as a methodology that overcomes the gap between Agile
software development and operations, as it enables a fluent process for Continuous
Development and Continuous Integration.
3.  It’s also very important to highlight that the usage of a DevOps methodology reduces the
stress in communication, helps to improve the communication between teams, collaboration
between all participants and integration between developers and operations teams.
4. In delivering valuable software to customers, too often development and operations are in
conflict with each other. When Development implements the changes, such as new features,
bugs or fixes, they want to quickly roll out these new changes into production. However, if
software has already been delivered, the operations department wants to avoid making
changes to the software. This is where DevOps can help to overcome the gap between both
teams.
5. initially, there was ‘Agile Development’, when the agility aspect was applied to operations
it became ‘Agile Administration’, thus DevOps was formed.
 The Three Stage Conversation – People, Process, Products
  DevOps is the correlation of people, process, and products to enable continuous
delivery of value to end users. The outcomes are tightly connected to allow for frequent
releases and at the same time to keep the same level of quality.
People:
  Initially, stakeholders would need to be identified, ensuring that everybody delivering
value to the business are working tightly together on the common goal of adding value to
the customer.
The latest study by Gartner, which involved 367 leading companies, from which 113
companies were using DevOps. From this study we can deduce that the biggest concern is
‘People’, with process and products being deemed less critical. From this, we can assume
that having highly motivated people with good collaboration is necessary.
 
Process:
1.  Next – DevOps is about improving process because even if you have highly motivated people that
are working well together, you may still have several business processes which may get in the
way and this could really block innovation.
2. For instance, having to seek approval from long chain advisory boards before implementing
changes or being restricted to doing things in a certain way can impede innovation. 
3. The process of designing, building and testing software should be well presented to each
individual team member, making them aware of all parts of the development process. The
implementation of DevOps can be hard work, as it completely changes the company’s structure as a
whole.
4. This is part of the bigger picture of DevOps. Enabling efficient flow of collaboration and making
sure that business structure and processes do not get in the way but instead have processes and pr
Products:
5. You can’t buy DevOps, as DevOps is not a software, tool, process, company or person, it’s a
methodology used especially by IT professionals. 
6. There are, however, products, tools and services that can help enable different DevOps practices
and different teams which can be used to make things easier.
7. From a very high level, these tools include Microsoft Azure, which is offering a lot of different
products and services, such as Microsoft Azure Stack and Microsoft Azure.
8. Besides Microsoft Azure there are also other products related to DevOps practices, such as 
Team Foundation Server (TFS).pactices that help improve the value and delivery to your
customers.

You might also like