Introduction
DevOps is an innovative model, designed to improve software development and allow teams to deliver solutions faster whilst retaining security and quality standards. This article is the third in a series of DevOps centred pieces.
For background reading you many wish to read about the core features of DevOps, and about the benefits of DevOps for organisations.
The purpose of this article is to outline in greater detail the cost savings and cost efficiencies that DevOps facilitates. These benefits are realised for both the solution provider and the end-customer. This article also highlights how IT innovation and digital transformation can be viewed not only as cost but also as a means to realise cost savings and improved earning potential.
DevOps: the business case
Cost Savings: an overview
DevOps lifecycles always involve an examination, monitoring, and reporting of cost. Google, in their whitepaper ‘How to Measure ROI of DevOps Transformation’, identified two value drivers in a DevOps transformation. One was improved efficiency through the reduction of unnecessary rework and the second was the potential revenue gained by reinvesting the time saved in new offer capabilities.
Google has used these two value drivers to develop authoritative research on the potential value of DevOps transformation. Notably, this research involved 31,000 professionals worldwide over a period of 6 years. The key finding, according to Google, is that the financial savings of DevOps transformation varies from $10M to $258M a year. These savings are substantial and are backed by impartial industry data.
Cost Savings: resource & cost efficiencies
A major way in which DevOps produces cost savings is by increasing the pace of delivery and freeing up additional resources. The Agile manner of DevOps working processes facilitates faster development without sacrificing quality and security. It also reduces costs related to error resolution; for example, it reduces the time needed to resolve outages and, as a result, mitigates downtime as much as possible.
Notably, this has a cascading effect beyond individual projects because it helps to prevent bottlenecks from occurring. It also reduces the amount of avoidable rework which, in turn, improves efficiency. For example, when working in a DevOps model the likelihood of a project overextending is reduced because alignment to customer needs is prioritised. Similarly, the likelihood of a project suffering from exponentially increasing costs and/or resource demand is also greatly reduced because this is continuously evaluated. The implementation of DevOps, then, on a project-by-project basis, has obvious and wide-reaching cost saving/reduction benefits.
Google’s ‘The ROI of DevOps Transformation’ whitepaper estimates that the yearly return from the avoidance of unnecessary rework is substantial. For example, for a medium to large technical organisation it ranges from $4.3M to $8.6M. For a small to medium-sized business or non-technical organisation it ranges from $536K to $1M.
Notably, the whitepaper estimates a potential for high returns from the cost of downtime avoided. The cost of downtime is highly variable as it depends on the size and nature of the organisation. For example, a Fortune 1000 company with high-volume financial transactions would see much higher costs of downtime than a small construction company that has minimal online presence. This return estimation ranges from $9.6M to $222.6M. This breaks down in the following way:
- Elite IT performers: $13.7M
- High IT performers: $31.4M
- Medium IT performers: $9.6M
- Low IT Performers: $222.6M
Cost Savings: reinvestment & return
In its landmark study, and in years of DORA research, Google also highlights the potential revenue (re)gained by reinvesting the time saved in new offer capabilities. DevOps has the potential to allow Mobilise, as well as other DevOps practitioners, to rapidly discover/deliver new technologies and/or improvements.
This is important because although important traditional cost savings have a risk of diminishing returns after having a noticeable initial impact. DevOps, and the associated resource savings, allows organisations to reinvest these returns to features including:
- Research and Development,
- Resource augmentation/improvement, and
- The upskilling of personnel.
This reinvestment would allow an organisation to improve existing solutions, design/develop/onboard new technologies, and invest in the skills of technical team members. By doing this, the reinvestment improves the total value offered to the customer; in turn, this would facilitate greater customer discovery and improved business success.
Google’s ‘The ROI of DevOps Transformation’ whitepaper estimates that the potential value added from reinvestment for a small to medium business could be as high as $2.4M. For a medium to large technical organisation this return is estimated to be as high as $19.5M.
Overall ROI
Calculating an estimate for the total ROI of DevOps technology transformation is tricky to achieve. However, in their in-depth research Google have stated that is can be understood by combining the following values:
- Value of rework recovered
- Value lost from new features
- Cost of downtime
As a result, the whitepaper estimates that the yearly returns for medium to large technical organisations range from $18.8M to $231.3M. For small to medium businesses and non-technical enterprises the yearly return estimate ranges from $10.8M to $223.7M.
Further Cost Savings in DevOps
Solid Toolchain
The toolchain and services used in DevOps delivery should be regularly evaluated. This is to make sure you are not using and/or paying for any unnecessary services. Paying for and maintaining service licenses that are not being used will incur unnecessary costs that can eat into DevOps cost savings.
Cloud Infrastructure
Cloud infrastructure and computing is central to the DevOps model. However, cloud usage and the overall cloud environment should be periodically evaluated to make sure unnecessary costs are not incurred. The accumulation of unnecessary cloud costs has been termed cloud sprawl. This can include the uncontrolled increase of instances and the creation of new user accounts which are not used. As a result, monitoring your cloud usage and cloud architecture can provide insights into streamlining your DevOps budget. This, then, would enable you to make sure you can realise the full extent of potential DevOps cost savings.
Serverless Architecture
There is potential for DevOps spend to be reduced and minimised using serverless architecture. Serverless architecture is an approach to software development that allows developers to build/run services without needing to manage the underlying infrastructure. It is an approach that focuses on the application not the underlying infrastructure. This allows developers to write and deploy code while a cloud provider provisions servers and maintains all server management; in turn, this allows applications, databases, and storage platforms to run at any scale.
Cloud providers that support serverless architecture include AWS Lambda, Azure Functions, and Google Cloud Functions. These allow developers to create specific instances in the cloud which the execution of functions.
To develop serverless applications, you must use specific frameworks that are built for and/or support a serverless approach to code. These include the Serverless Framework (Javascript, Python, Golang), ClaudiaJS (Javascript), Apex (JavaScript), Sparta (Golang), Zappa (Python), and Gordan (JavaScript).
The advantages of serverless architecture include that you do not have to pay for running virtualized infrastructure. This is because you only pay for instances in relation to the time when a code is executed. An API gateway acts as a manager for serverless functions, this means that the function is only executed when it is clicked on by a user. The limit for this function is 15 minutes, though it may only run for a couple of seconds or even a few hundred milliseconds. A major cost benefit is that you only pay for this availability, whereas, in a non-serverless and non-cloud-based environments costs would be higher and more longstanding.
Additional savings can be made because there is less need to hire back-end infrastructure managers. This is because the amount of work needed on an infrastructure level is massively reduced. Furthermore, the reduced liability regarding backend infrastructure frees resources and can increase the efficiency of development/release cycles. When implemented with DevOps working practices, testing is streamlined because developers need access to only specific instances and can test/execute various functions in a more precise manner, this, then, reduces downtime and improves efficiency.