DEV Community

Cover image for The future of DevOps is FinOps
cheesiong
cheesiong

Posted on • Updated on

The future of DevOps is FinOps

DevOps has significantly changed the way companies approach developing and deploying applications. DevOps is a philosophy that combines Development (Dev) and Operations (Ops) to provide a collaborative and simpler approach to delivering software. This is very different from the traditional Software Development Life Cycle (SDLC), also known as the “Waterfall” model, where development and operations are usually two different teams.

Technologies such as Cloud, Infrastructure-as-Code (IaC), Containers, etc provide great flexibility and agility to the Development teams. The Developers can now easily provision infrastructure rapidly at scale using scripts or automation tools and this can result in unnecessary cloud spending. This leads to the emergence of FinOps, which offers a new perspective on optimising software delivery in terms of cost-efficiency and financial transparency.

In this article, I will talk about the future path of DevOps and the critical role that FinOps will play in that trajectory.

Why DevOps

In the past, the Software Development Life Cycle (SDLC) was largely following the “Waterfall” model. In such SDLC, each phase would take a few weeks (or even months) to complete before the next phase could effectively be commenced. Some Project Managers might have “optimised” the project schedule, by compressing the timeline with overlapping of the phases, but by and large, the phases were stacked like a waterfall.

Image description

The limitations of Waterfall SDLC are three-fold:

Firstly, the implementation timeline is typically long by today’s standards — a few months and if there are some changes in the requirements, you could not effectively handle that unless you roll back to the prior phases.

Secondly, because it would take a few months, sometimes as long as 9–12 months, before the end users could actually see the actual system, the failure rates are high as the systems are deemed to be very different from the expected outcomes.

Thirdly, the Development and Operations teams are usually two separate teams. The Development team may not have enough motivation to ensure the systems they developed to have as few bugs as possible or are easy to maintain when they are not the ones maintaining the systems post-production. The Operations team see these systems as entirely black-box and does not have as much knowledge about them as the Development team.

This gives rise to DevOps, which is a philosophy that combines Development (Dev) and Operations (Ops) to provide a collaborative and simpler approach to delivering software. Together with the Agile software development approach, DevOp resolves the “Waterfall” SDLC problems by promoting cooperation among the cross-functional teams, and their work is supported with automation, and Continuous Integration and Delivery (CI/CD).

Image description

This enables companies to expedite software delivery and encourage innovation where incremental software value is generated in each Sprint cycle, which typically lasts 2–3 weeks, by pushing teams to explore, fail rapidly, and iterate quickly.

Hence, it is not difficult to imagine that teams practising DevOps are building software with improved quality control, less downtime, and at a pace not possible with the “Waterfall” model. This naturally resulted in increased customer satisfaction.

FinOps = Finance + DevOps

DevOps resolves many of the issues from a traditional “Waterfall” approach for software development and delivery. However, the power of DevOps creates some problems that could be better resolved by FinOps.

As companies scale their DevOps practices, they often struggle with the financial implications of increased infrastructure usage. Developers can easily spin off cloud resources using IaC, but such cloud spending may not be properly optimised. In many situations, cloud spending could be reduced by a significant percentage while fully meeting the same business and technical requirements, with a better solution design.

Similarly, there is little visibility in cost allocation and cloud spending. Current DevOps practices promote tagging and labelling as best practices, but this may provide little help in some situations where granular cost allocations are needed. For instance, Sprint cycles in Agile delivery allow products to be developed and launched at a fast pace, but it is difficult to know and tie back each product feature launched to the actual cloud spending.

Product owners do not know whether it makes business sense to release such product features, and even if they do, whether these features provide an optimum Return-on-Investment (ROI). Would it cost more than $100 to implement a product feature that gives the business value of just $1?

Why FinOps

FinOps is the natural next step in the DevOps journey as companies want to strike a balance between innovation, speed, and cost efficiency. FinOps incorporate financial management practices into DevOps processes, and more importantly allows the Finance, Operations and Engineering teams to work together hand-in-hand to manage and optimise cloud spending.

The key point to note is “optimise cloud spending”, and not “reduce cloud spending”. For instance, when your business is growing at scale, naturally your cloud spending will be increased significantly, and that is not an issue, but a happy problem. What matters more is whether such an increase in cloud spending helps the business reach its goals.

Moreover, a culture of accountability is promoted when everyone involved in the SDLC is aware of the financial implications of their choices. This would encourage various IT, finance, and business stakeholders to work together and assume shared responsibility for cost optimisation.

Conclusion

The path towards FinOps is inevitable as more companies embrace DevOps. DevOps changes the way we deliver software and similarly, FinOps would change the way we approach DevOps. The future lies in integrating financial considerations seamlessly into DevOps so that each dollar invested is optimised for the best ROI.

About the Author

Chan Chee Siong is an AWS Community Builder with many years of IT professional experience. He can be connected at http://www.linkedin.com/in/chancheesiong.

Top comments (0)