While the cloud can unlock innovation and agility, it’s easy to lose visibility and control of costs along the way. Finance teams accustomed to traditional IT projects often struggle with the opaque and variable costs associated with cloud platforms, while application teams may not understand the budgeting and fiduciary responsibility of the finance team. FinOps brings a suite of best practices for collaborative, real-time cloud financial management.
Cloudsoft are proud to be a member of the FinOps Foundation, as well as a FinOps Certified Service Provider (FCSP) and also a launch partner for the FCSP program. We are excited to be part of the growing community focused on developing and sharing best practices in cloud financial management. Our customers need to innovate without causing costs to explode. The FinOps principles and practices are crucial to gaining optimum business value from the cloud.
A common pattern for enterprise cloud adoption is that costs creep up until some tipping point (or cost-related incident) occurs, whereupon it suddenly gets the full attention of the leadership. This “spend panic” leads to an immediate push for accountability and controls, frustration with the complexity of the bill, and a strong desire to reduce costs.
Unfortunately, cloud financial management can be difficult to achieve without sacrificing innovation and losing much of the business value that the cloud provides. It can result in blame-and-shame rather than tackling the underlying issues, and imposing barriers (rather than guardrails) to enforce controls on application teams that are trying to move fast. In the worst case, it can torpedo the entire cloud strategy. Fortunately, help is at hand, with mature FinOps principles which we’ll cover at the end of this.
Common problems for finance teams include:
- Financial processes are often geared towards CapEx and predictable OpEx.
Cloud adoption shifts spend from Capital Expenditure (CapEx) to Operational Expenditure (OpEx) with on-demand pay-as-you-go services. Budgets, forecasts and reporting processes, used successfully for years, are often not appropriate for this variable spend.
- The traditional procurement model no longer fits.
A traditional procurement team would sign off on purchases before money is spent. Choosing suppliers, negotiating discounts, and forecasting were well understood problems. In contrast, development and operations teams now have the power to launch on-demand cloud resources. Budgets are usually not hard limits.
- Understanding and forecasting cloud costs is hard.
Cloud billing is incredibly complex. For example, some enterprises receive a monthly cost and usage report (CUR) with billions of line-items, often with multiple rows for the same resource where different rates apply. Even attributing these costs to the correct business units can be hard if there is not a good account structure and tagging strategy in place ahead of time.
Cost predictions by application owners are often wildly inaccurate. Without good processes in place, these might not be noticed until the bill at the end of the month, or worse they might be obscured by other parts of the cloud bill and go unnoticed.
Common problems for application teams include:
- Predicting cloud costs is hard.
Cloud costs are notoriously difficult to predict for anything but the simplest of applications, even if usage patterns are well understood. It is all too simple to architect or configure part of the system sub-optimally (from a cost perspective). For example, teams can be caught off-guard by extremely high variable costs for logging, metric collection, data egress, or per-request charging models.
- Innovation is the top priority.
Application teams are often incentivised to release new features faster and to deliver customer success — cloud costs are not an explicit priority until a sudden shift of focus by the leadership team. Architectures often involve tradeoffs, for example between reliability and cost. Other cost reduction opportunities often require engineering effort.
- Lack of cost visibility.
In large organisations especially, application teams may not even have visibility of the cloud costs they are incurring. For example, insufficient permission to view the billing and cost explorer console. The true cost (e.g. correctly taking into account reserved instances and discounted rates) is often not communicated. With shared services especially, proper cost allocation requires sophisticated processes for showback or chargeback.
- Wasted spend.
This lack of visibility, combined with prioritising innovation, can lead to big wastage. For example, dev/test resources left running 24/7 when only needed during office hours, or resources not being terminated at the end of a project, or simply sub-optimal choices due to a lack of knowledge about the true cost of a widely-used resource.
- Lack of understanding of financial processes.
Application teams often do not understand the bigger picture of how their budgets are used. For example, most teams do not appreciate the fiduciary responsibilities of the finance team — that the CFO can be fired or even go to prison if they do not correctly review costs and financial reports.
Enter FinOps: a collection of cloud financial management best practices and tools that allow organisations to see, understand, and take control of their cloud spend. Like “DevOps” before it, the name conveys the cross-functional nature of cost management and value realisation, involving stakeholders from finance, engineering, operations, and the management team (catchier but less accurate than the name DevSecFinBizOps).
This also links nicely to recent updates to the Cost Optimisation pillar of the AWS well-architected framework, which promotes cloud financial management. It includes great advice and best practices, including creating “a partnership between finance and technology”, which is in strong agreement with the best practices from the FinOps community.
There are six principles laid out in the excellent book Cloud FinOps: Collaborative, Real-Time Cloud Financial Management, and continually refined by the FinOps Foundation’s community:
- Teams need to collaborate.
As seen from the challenges described earlier, no one team can tackle this. It requires near-real time collaboration and continual improvement to deliver efficiency and innovation.
- Decisions are driven by the business value of cloud.
There are constant trade-offs between cost, quality and speed. By itself, total cost is often a poor measure (unit-economics is a better model, such as the cost-per-user). For example, sometimes it is strategically more important to increase revenue by focusing on short-term features or improved reliability, even if costs increase. Other times, cost considerations will influence the appropriate service levels to offer customers.
- Everyone takes ownership for their cloud usage.
Accountability and decentralised decision making is crucial for application teams to innovate fast.
- Reports should be accessible and timely.
Cloud resources can be charged by the second (or less), making near real-time cost analysis and reporting important. These costs should be shared with all relevant stakeholders, although each may require a different style of report.
- A centralised team drives FinOps.
Some activities must be centralised to reduce duplication, such as cost reporting and anomaly detection. Other activities make most sense when applied “in the aggregate”, such as identifying bulk discounts, or negotiating rates.
- Take advantage of the variable cost model of cloud.
This is an opportunity to reduce costs: turn off unused resources, experiment quickly without long-term commitments, and make regular incremental improvements to cloud usage.
The FinOps Lifecycle
FinOps practitioners encourage a repeated and fast cycle through the following three phases:
- Inform: gives visibility and allocation of cloud costs. It also gives comparison with budgets, forecasts, and the business value being delivered.
- Optimise: identifies the actions based on the business goals, such as purchasing savings plans or reducing waste by turning off unused dev resources.
- Operate: take the agreed actions, with a focus on continual improvement and measurable goals.
Each team and initiative may be going through these phases independently and at their own pace.
FinOps practitioners also encourage a “crawl, walk, run” approach. Start with low-hanging fruit and incremental improvements rather than trying to immediately copy sophisticated financial management processes that have taken other companies years to refine. One can easily trip over cultural and technical barriers if trying to “run” too soon.
A company will likely be at different levels of maturity for different aspects of cloud financial management. For example, the savings plan / reserved instance coverage may be excellent (a “run” stage), while allocating costs and budgets to individual teams is still at the “crawl” stage.
The centralised FinOps team needs a wide range of skills. They need to communicate with business executives, speak to and understand the world of finance, have meaningful conversations about cloud costs and architectures with application teams, analyse large volumes of data, and be FinOps advocates to educate and inspire the wider company.
There is huge variation between companies in the size of FinOps teams (from 1 person to 5+ people), and in where the FinOps team sits in the organisation (e.g. CIO, CFO, CTO, etc). It is often the area of the business that identifies the problem and pushes for FinOps adoption who end up “owning” the FinOps team.
Here is an example elevator pitch to executives. “Increase the business value of cloud — reduce costs without sacrificing innovation. Through increased collaboration and best practices, you can improve visibility, understanding, and accountability of cloud spend — helping with forecasting and planning.” However, it can be very hard to change the way a company thinks about and tackles such problems.
Broad executive sponsorship is needed to get the most from FinOps. It will require improved collaboration and communication across teams, cultural change, and greater alignment of incentives. It can be a slow process to convince all the stakeholders. Stories from peers in the FinOps Foundation can help here, with 1,800+ members and representatives from 500+ companies with over $1bn in revenue.
It is important to start simple (crawl, walk, run) and to look for low-hanging fruit (e.g. identify the largest costs and biggest wastage/opportunities). Work through the inform → optimise → operate cycle quickly. For example, don’t get bogged down in “perfecting” the inform phase the first time round — instead identify areas for improvement, both to reduce costs and to improve the cost reporting. This is especially true when the leadership have hit “spend panic” and are looking for quick results.
If there is a Cloud Center of Excellence (or Cloud Center of Enablement, as Forrest Brazeal convincingly argues), this aligns well with the goals of the FinOps team. Collaboration here is especially important.
Another strong alliance is with the security team. There can be a large overlap in objectives: for example separating applications into different AWS accounts simplifies cost allocation as well as improving security; turning off unused resources saves money while also reducing the attack surface; introduction of “guardrail” services such as Cloud Custodian or AWS Config Rules can be used to help enforce cost-related rules as well as security rules.
As described earlier, the FinOps team faces a wide range of challenges. Instead of solving these yourself, look to the wider community — the “members” section of the FinOps Foundation has great resources on best practices and many community discussions. You could also work with a FinOps Certified Service Provider (FCSP) partner to help accelerate your FinOps adoption.
About the author
Aled Sage works for Cloudsoft and is a certified FinOps Practitioner.
Cloudsoft are a FinOps Foundation member and a FinOps Certified Service Provider (FCSP), as well as a launch partner for the FCSP program, and an AWS Advanced Consulting Partner. Cloudsoft helps enterprises with cloud cost management and the adoption of FinOps across their organisations. Our experienced cloud consultants can help you to better understand and reduce your cloud bill, and can help you to keep future costs under control.