Cost optimisation is a top priority for organisations that use public cloud services. Whilst there are many ways to minimise and streamline cloud expenses, it is also important to consider the wider picture. This means taking into account governance and organisational culture, which support cost optimisation, as well as guardrails that ensure continued efficiency. Using effective cost allocation to group expenses into categories such as "projects," "applications," and "environments" is one of the most effective preparatory measures an organisation can take to optimise costs. This type of cost awareness helps avoid unnecessary expenses.
It is also important to consider unit economics. If an organisation has increasing cloud costs, it could be a cause for concern if viewed in isolation. However, taking a step back and analysing the bigger picture may reveal that this increase is due to investments made in the cloud to drive business value and, as a result, revenue growth. If costs are high, but revenue is increasing proportionally, these are seen as good costs. Nonetheless, it's worth noting that this blog or article discourages inefficient cloud practices.
The FinOps Foundation splits cost optimisation into two main categories; commercial and technical.
- Commercial optimisation includes reducing rates through various commitment and contract types. Examples of commitment discounts are Reservations and Savings Plans. Contract discount examples include Enterprise Agreement and Enterprise Discount Program agreements for Azure and AWS customers with larger volumes of cloud spend. It is recommended to have a central FinOps team or Cloud Centre of Excellence manage this. However, product/technical owners of subsections of an environment should be consulted and informed.
- Technical optimisation refers to any infrastructure changes, such as resizing underutilised resources, deleting unused assets, scaling and modernising applications, and scheduling non-production workloads to run only during office hours.
Communication between a central FinOps team and the wider owners of products and applications is essential. For example, suppose a central team is purchasing reservations whilst engineers are scheduling some workloads to shut off during off-hours. In that case, any reservations purchased for those workloads will become redundant for the periods when the machines are shut down. It is more cost-effective to schedule shutdowns/startups for workloads outside of 9-5 office hours instead of reserving capacity. Therefore, regular communication is crucial to ensure optimal cost optimisation.
Whilst striving for perfection is commendable, it's vital to remember that cloud and FinOps optimisation is a journey that takes time and is never truly complete. The FinOps Foundation breaks down this journey into 3 main steps; Crawl, Walk and Run. Even at the Crawl stage, which involves only a small amount of work, costs can be lowered compared to having no consideration for FinOps. Therefore, while it's important to progress through this journey, not achieving perfection should not be viewed as a failure. Having some focus on cost optimisation is always better than none. Perfection is nearly impossible, so an ongoing focus on improving the way the cloud is used from a technical and organisational perspective will ensure advances in cost optimisation as well as drive other benefits of using the cloud.