The widescale migration to cloud and the embracement of cloud-native application architectures has been a blessing to developers and those responsible for deploying and maintaining modern applications. Container-based apps allow fast changes compared to monolithic apps. And cloud services let DevOps teams quickly launch instances and acquire resources for all stages of their work. The downside is that cloud costs are often overlooked.
What many businesses are finding is that cloud costs are out of control. And worse, there is very little insight into how much is being spent. Instances fired up for one project may never be deleted. Increasing capacity to support a burst in compute demand may never be throttled back. Lack of detailed billing and the complexity of distributed applications can simply mask costs from stakeholders. Looking at monthly bills from multiple providers offers no easy way to tie costs back to specific projects, applications or business units.
Cloud costs on the rise globally
Overspending on cloud is easy to accomplish and quite common, especially if activities are not measured and tracked.
A report from the Cloud Native Computing Foundation (CNCF), in association with the FinOps Foundation, put the rise in spending into perspective. It found that spending on Kubernetes, the primary means of orchestrating containerized applications, was up year-to-year from 2020 to 2021. Of those surveyed, 67 percent reported an increase of 20 percent or more over the last 12 months, and 10 percent spent more than $1m per month on their deployments.
Most startling, less than 25 percent of those surveyed said they could accurately predict how much they’d spend to within 5 percent of the actual cost. And over 20 percent stated that they did not predict their cloud bill. That’s no way to run an operation.
Other recent studies have found comparable results. For example, Gartner predicts that almost two in three infrastructure and operations leaders through 2024 will experience public cloud migration cost overruns.
Best practices for managing cloud costs
What’s needed to rein in spending is visibility into cloud expenses and governance policies to control those expenses. In particular, organizations must gain visibility into their cloud resource usage to control costs. Organizations looking to do such things need a solution that helps them:
Tie expenses back to the business: Businesses need a way to understand how much money they are paying for different environments and connect cloud costs back to business applications. This will allow a business to allocate resources more accurately for future needs.
Spot trends: While some tools can provide visibility into cloud expenses, most only do so at the infrastructure level. What’s needed is the ability to view from a single-pane-of-glass view the cloud expenses at the environment level. A suitable solution should act as the cloud orchestrator, so users can apply run-time policies beforehand to manage costs, track environment changes by the business characteristics, and dig deep to identify the purpose, owner, size, project, and more to identify usage trends.
Optimize efficiency: When trying to optimize the use of cloud resources, identifying changes that will provide the most value is almost impossible with traditional billing reports. The reason is because the cost of using cloud resources varies depending on the environment’s scale and frequency. What’s needed is a way to track the use of each aspect of cloud use and the related costs. This information allows a business to focus on optimizing cost without impacting performance or operations.
Controlling cloud costs is challenging and requires deep insights into resource usage. An ideal solution provides real-time information in a single viewing plane that can eliminate uncertainty and avoid over-spending. To work, such a solution must make use of certain capabilities, including the ability to automatically tag and de-commission resources, embed policy management and provide Role-Based Access Control to resources. And most critically, any cloud cost management solution must be implemented in such a way as to not slow down application development and delivery.