Have you been bitten by unexpected costs in the cloud? Whether you are all in with serverless, cloud-native services, on demand and reserved instances, or you build systems and applications with all those things, it is very likely you have had a bad experience with unexpected costs. Why is that? Let me ask you, what is your DevOps tool for observing cost? And I don’t mean a daily, weekly or monthly reports, I mean where is your technology for observing the real-time costs of your application, resources and features?
Cost management solutions were built for governance, compliance and reporting and not for DevOps where a continuous feedback loop is required. You likely have tools to continuously monitor performance metrics, why don’t you have one for the financial performance of your systems and applications? Curious isn’t it… since money is the primary metric to measure a business.
Good news! It is now possible to observe cloud software systems and their real-time performance in their entirety. The next evolution in application development and operations is upon us - FinDevOps. It furthers the three ways of DevOps (focus on the entire system, feedback loops, culture of experimentation and understanding) by integrating finance into the process as well - It’s the culture and process of DevOps with the added dimension of measuring operational cost. It’s 100% additive to the DevOps experience.
When operational costs are put into the hands of DevOps it becomes a powerful and easy key performance indicator (KPI). Cost and revenue (i.e. dollars) are metrics just as important as errors, latency and invocations, and in many cases more so because unit-dollars is a cross-cutting metric. Every single change to your system can be measured in dollars, so why isn’t it today? Measuring and knowing your dollar metrics empowers you to better manage the operations of your cloud systems and applications, including cost, right from the start.
To further understand this important paradigm shift, that is occurring right now, we outline below the 5 core capabilities you will gain from FinDevOps.
5 Core Capabilities of FinDevOps
#1 - Collaborative Knowledge
Knowing the inventory of all the resources in your cloud environments, their relationships, and their costs is the “single source of truth” for FinDevOps. Rather than finger pointing when there is disagreement about what your systems actually cost, a single source of truth will enable you to have a constructive dialogue and work the DevOps process. Imagine deploying a resource (any resource) and observing its cost, or making a code or configuration change and observing its effect on cost. This is just the beginning… when combined with relationships, you can begin to see how a change to one resource affects the costs of others.
#2 - Anomaly Detection
Knowing real-time resource costs enables you to observe billing anti-patterns. Some cost spikes may be easy to detect visually, when you have your bill in hand, but most are hidden in the vast volumes of your billing data. The ability to automatically observe your system costs, discover the needles in the haystack and differentiate between recurring spikes and true outliers will help you manage operational costs. You will know the risk to your business caused by varying degrees of anomalies and end of the month billing surprises will become a thing of the past.
#3 - Cost Prediction
Knowing and analyzing your costs over long periods of time will uncover invisible trends and predict costs to a point in the future. Invisible trends can result in high costs because they have accrued for some time. Identifying trends is almost impossible to do visually and analysis typically requires machine learning algorithms. With trend detection and cost prediction, instead of receiving billing surprises, you and your team will surprise others with a high level of control over your costs.
#4 - Budget Monitoring
Knowing how your costs are accruing, and by whom, to a point in the future tells you how your operational costs are tracking to budget. Furthermore, if you use a multi-account strategy and consolidated billing, and want to assign costs and budgets to multiple cost-centers, then knowing the real-time breakdown of real costs will enable you to accurately allocate costs to business units, teams, products and features.
#5 - Continuous Cost Control
Knowing real costs, anomalies and trends is very important feedback, but where do you begin to take action to debug or optimize your system? You might use a DevOps tool today to monitor performance metrics and perhaps that tool helps you find the source of an issue, whether that’s errors or CPU utilization. A tool for FinDevOps needs to do the same thing and it must be built and designed for the DevOps cycle and those who can actually effect change. When you can observe cost connected directly to your infrastructure and architecture then you will quickly be able to improve your system and control operational cost.
When you achieve these 5 core FinDevOps capabilities your organization will be able to observe and manage operational cost from development to production. A true FinDevOps culture requires cost information to be just as accessible within engineering as is performance metrics like errors or latency - and to make that information accessible and collaborative to all other relevant groups in the organization.