Book Image

DevOps Adoption Strategies: Principles, Processes, Tools, and Trends

Book Image

DevOps Adoption Strategies: Principles, Processes, Tools, and Trends

Overview of this book

DevOps is a set of best practices enabling operations and development teams to work together to produce higher-quality work and, among other things, quicker releases. This book helps you to understand the fundamentals needed to get started with DevOps, and prepares you to start deploying technical tools confidently. You will start by learning the key steps for implementing successful DevOps transformations. The book will help you to understand how aspects of culture, people, and process are all connected, and that without any one of these elements DevOps is unlikely to be successful. As you make progress, you will discover how to measure and quantify the success of DevOps in your organization, along with exploring the pros and cons of the main tooling involved in DevOps. In the concluding chapters, you will learn about the latest trends in DevOps and find out how the tooling changes when you work with these specialties. By the end of this DevOps book, you will have gained a clear understanding of the connection between culture, people, and processes within DevOps, and learned why all three are critically important.
Table of Contents (18 chapters)
1
Section 1: Principles of DevOps and Agile
5
Section 2: Developing and Building a Successful DevOps Culture
8
Section 3: Driving Change and Maturing Your Processes
12
Section 4: Implementing and Deploying DevOps Tools

Exploring the goals of DevOps

The subject of DevOps is one that tends to prompt many different opinions on what it means and exactly how you do DevOps within your organization. The goals of DevOps and what it helps you achieve within your organization is also something that you will get different answers for from different people, depending on their experience, the industry they work in, and how successful those organizations have been at adopting DevOps.

For many organizations, you can define the following common goals of DevOps. These are goals that apply to most organizations:

  • Deployment frequency
  • Faster time to market
  • Lower failure rates
  • Shorter lead times
  • Improved recovery time

Of course, your organization may be driven by different reasons and even for similar organizations, I would expect their goals to be slightly different. After all, while most organizations share the same challenges, how these challenges can be addresses and which of these challenges will result in the biggest gain in value will also differ, depending on the organization.

Deployment frequency

Improving the frequency at which you release or deploy software in your organization is often a key driver of the adoption of DevOps. We must start to change the way we collaborate and communicate within our organization to deliver value to our end users.

When developers and operations teams start focusing on the same shared goals, they start working together more effectively and deliver better value.

Faster time to market

Most organizations will compete with another for the services they provide. Having a faster time to market gives you a competitive edge over your competitors. With DevOps, you can work to increase value by reducing the amount of time it takes from idea inception to product release.

As a business, your value degrades the longer it takes you to release features to your product and the quicker your competition can get ahead of you. So, achieving a faster time to market is a key goal of not just DevOps but the business as well.

Lower failure rates

Every organization has failures, but with DevOps, you can, over time, expect to realize lower failure rates through teams collaborating with each other and communicating better with each other.

Tip

Cross-functional in DevOps denotes where people from different areas work together in one team.

DevOps gives teams the ability to work more closely and communicate more effectively. In mature organizations, it allows for cross-functional teams. The shared knowledge between these teams and the individuals within them and the greater understanding of each other's roles leads to lower failure rates.

Shorter lead times

Lead time is the amount of time between the initiation and completion of a specific task. In DevOps, this would be the amount of time between work starting on a user story and that story making it to release.

Tied hand in hand with faster time to market, shorter lead times is not just about your product but everything in the whole life cycle. This could be anything from planning where you capture requirements more effectively all the way to building infrastructure quicker than before.

Through slick processes, effective communication and collaboration, and high levels of automation, the lead times throughout your cycle will be quicker, leading to high performance within your team.

Improved recovery time

Of course, we all know that most organizations have Service-Level Agreements (SLAs) to measure the performance of key service-based metrics such as availability. However, how many organizations can tell you, on average, how long it takes to recover a service? Not many.

Having the level of collaboration that lets you discuss the reasons behind failures, understand them, and implement steps to prevent them from happening again is a sign of a mature organization. An organization that measures this metrics and takes steps to reduce them is an even more mature organization.

Downtime is lost revenue and reputational damage to your organization, so reducing that level of downtime is very important.

In this section, we have explored what the key goals of DevOps are and the business value behind the adoption of DevOps. Next, we'll take this further by looking at the values that make DevOps successful.