Micro Focus is now part of OpenText. Learn more >

You are here

You are here

Making a cloud business case for DevOps

public://pictures/davidl.jpg
David Linthicum Chief Cloud Strategy Officer, Deloitte Consulting
Here's how to match the business benefits of DevOps to your own organization's unique business needs.
 

Agile and DevOps methodologies are joined at the hip. While agile knocks down obstacles that traditionally delay development, DevOps automates agile approaches, letting your code quickly move from development to production, while automating tasks such as testing, integration, and deployment. Adding cloud deployment to the mix can turbocharge the business case for DevOps.

DevOps provides more focus on continuous development, integration, and deployment, which directly benefits many enterprises. The business case for continuous everything (integration, deployment, testing, and development) is easy to make, given the benefits it offers, though the specific benefits will vary from organization to organization.

Many people attribute the rise of DevOps directly to the rise of cloud computing because it's easy to continuously update cloud-based applications and infrastructure. For example, each time you leverage a software as a service (SaaS)-based application, it typically uses 1,000 lines or more of changed or added code. Functionality is continuously updated, and that makes the cloud-delivered application, platform, or infrastructure that much more valuable to users.

A change in thinking

Most enterprise development shops and software vendors still use laborious manual processes for the design, development, testing, and deployment of new and incremental software releases. Why? Most say they don't practice DevOps or agile for reasons such as:

  • We're not moving to the cloud, so DevOps won't provide much benefit
  • We leverage a mixed approach using traditional and agile methods
  • We don't update our software often, so agile and DevOps won't provide enough value
  • DevOps technology is new and largely unproven

DevOps isn't at all cloud dependent, even though the use of cloud meshes nicely with it. Moreover, it works well with development shops that combine both traditional and agile methods. DevOps provides just as much value to enterprises and software vendors that don't have frequent releases, given that the cost of each release is reduced. Finally, while DevOps is indeed a new and over-hyped buzzword, the concept and technology behind it is now decades old.

Automation is key to DevOps. The ability to create an infrastructure to empower developers to quickly respond to user requirements and to go from code, to test, to integration, to deployment in the quickest possible way is extremely beneficial. This provides the agility development needs to better respond to user needs, and enables the business to thrive by allowing processes to change as quickly as business requirements demand.

Continuous development, integration, testing, deployment, and so on are the core concepts of automating the movement of code so that the value is quickly delivered to the end user using automation. This isn't just the ability to press buttons or monitor applications as they move through development, testing, and deployment. It's the true automation of the path of application code from the moment a change is made by a developer to the time it takes for the release to make it to the end user, solving an important business problem.

The idea is to provide an automated process from start to finish. Developers check in code to development repositories. From there, the continuous integration server picks up the changes, performs unit tests, then merges and moves to the staging environment using the test results as a baseline. The application then moves to production. If testing is successful, the code/application/binaries will deploy to the production environment and a new version is available to the user. The changes can be deployed on traditional systems or in public or private clouds.

Building your own business case

The business case you build for DevOps should be largely based on the needs of the business itself. While some organizations benefit greatly from the speed-to-deployment or speed-to-solution that continuous deployment provides, others won't find the same value. However, most development shops find that there's a compelling business case for DevOps, with a typical the return on investment (ROI) ranging from about 10 to 100 times.

For example, an enterprise with a development shop that maintains 4,000 applications may find that it can turn a $5 million investment in DevOps training, tools, and infrastructure into $500 million in additional value over two years. However, other businesses with about the same number of applications may only realize $250 million in value for that same investment, while a small number of enterprises that aren't ready to make the transition fail at DevOps altogether.

While you can use DevOps without deploying on public or private clouds, the use of newer cloud-based platforms typically multiplies the value that DevOps can bring. Clouds provide centralized deployment and have DevOps services already built into them.

Agility is the core value you want to measure for your business case. This is much like the benefit of agility and reuse around architectural patterns such as service-oriented architecture (SOA). Most businesses will benefit from agility and reuse. However, certain types of businesses or businesses at different maturity levels may not find value in agility and reuse, as we covered above.

The best way to calculate the business value of DevOps, both in general and in the cloud, is to consider a few factors. Here's an example, although your enterprise may need to take a different path depending on your needs.

Value of DevOps = Savings + Increased Profit + (increased productivity [in dollars]/investments made)

It's not unheard of to see something like this:

DevOps = $1 M + $2 M + ($ 2.5 M/$.75 M)

Or this:

DevOps = about $6.3 M

This is a conservative example. Your ROI will be largely dependent upon your business and specific problem domain. However, the general concepts of money, productivity, and investment are typically part of those calculations.

You can move from a general valuation of DevOps to a more specific one. An example would be the value to development, which centers on a few issues:

  • The ability to get almost immediate feedback from the end user, such as features and functions that work well and those that need work. This connects the users to the developers, which is not the case in most development shops. Both sides benefit from the increased communication and the ability to quickly deliver new requests and requirements.
  • The ability to get almost immediate feedback from testing, including how to improve approaches to development and make the application more solid. Developers can now submit an application to testing at the press of a button, and the feedback from the testing and integration is returned relatively quickly. This changes behavior as developers begin to focus more on delivering watertight code.
  • The ability to improve the coupling of development and deployment, including how best to automate application changes from the developer to the end user. The use of cloud computing brings specific advantages, including the ability to automatically handle scaling and resiliency.

The ability to automate DevOps is valuable to operations because it removes the manual processes involved in moving code from testing, to staging and production, which happens in many cases in the cloud. Indeed, the "Ops" in DevOps typically focuses on cloud operations, using continuous integration servers on a public cloud, as well as continuous deployment services to deploy code to production.

Using a public or private cloud at the end of the process lets operations automate many processes, such as moving code to the proper structures and binding application code to data and outside integrations. The automation provides consistency, which brings repeatability and therefore higher quality application services from the cloud (or on traditional systems).

Many would ague that DevOps is disruptive around most operations and organizations. In reality, it removes many of the mundane tasks required to promote code to production while reducing the potential for human error. Operations can then focus more on strategic operations tasks, such as improving DevOps automation.

Go forth and be productive

Considering the benefits of DevOps, most enterprises face minimal risk when building a DevOps organization—that is, if planners use the proper business case and automation technologies. Your call to action is to define the value of these approaches and technologies for your business. Both software vendors and enterprises can benefit.

The use of cloud-based platforms and DevOps is largely synergistic, although DevOps works just fine on non-cloud platforms. However, clouds are purpose-built to take advantage of the value that DevOps provides, and can accelerate the ROI that DevOps brings.

It's important during your move is that everyone understands the systemic changes that will occur, and the trade-offs you are willing to make in order to gain the potential value DevOps will bring. In many instances, you will face significant resistance to the larger idea of DevOps and the components of continuous everything. If that's the case, move from the business case to the solution, which allows everyone to understand the benefits before these changes are thrust upon them.

Keep learning

Read more articles about: Enterprise ITCloud