In this guest post, Doug Ko, director of product marketing at container monitoring software company Sysdig, provides some guidance on what enterprises can do to keep their cloud costs in check
Economic uncertainty is a top concern for all organisations and many are looking at ways to cut their spend during these challenging times. Yet the TechTarget/Computer Weekly IT Priorities research reveals a significant year-on-year increase in the importance of cloud-based projects. How can teams balance the speed they want to move at as well as the cost to deploy and run these implementations?
Teams view the cloud as key to not being left behind. It levels the playing field, giving them the ability to move faster with a simple pay-per-use model that starts off budget-friendly. However, as cloud adoption and use increases, costs can grow along with it.
According to a recent Flexera report, managing cloud spend has become a top priority for 82% of respondents. It’s easy to understand why, especially when cloud spend gets out of hand. A case in point – during a recent earnings call for cloud monitoring vendor Datadog, it was revealed a customer was billed $65 million in the first quarter of 2022.
So what can you do to avoid the same fate? Here are several effective strategies for better managing cloud costs:
Get full visibility
You can’t manage what you can’t see. Though the days of out-of-control shadow IT are declining with centralised cloud and IT teams collaborating, it can be difficult to understand where all your cloud spend is coming from, especially when – according to Flexera – 87% of organisations have adopted a multi-cloud strategy.
To manage this, they will need visibility into not only how much they are spending, but also into their cloud, application and microservices usage habits, and all the way down to what specific teams and users that are using, spending, and wasting the most.
Monitor Microservices and Spend
Cloud applications, especially native ones, are typically built using microservices that run on cloud-based containers and serverless technologies. Microservices provide a level of abstraction that makes applications easier to develop and faster to deploy and scale.
However, they have some drawbacks since they abstract away the physical layer and can be turned on and off within minutes, making them very difficult to track and monitor. As a result, cloud usage and costs can spike dramatically and the only time you may learn about this is when you get your cloud bill. Traditional tools that monitor physical or virtual infrastructure and built-in monitoring provided by the cloud providers are insufficient in tracking detailed usage, spend, and waste.
A lot of this is down to how developers set up their microservices in the first place. In a recent study, we found that container environments had 69% of CPU resources unused. Since companies pay for containers based on the image resources that are assigned, you can see how this can lead to millions of dollars of waste.
This makes it imperative to find better ways to monitor microservices and cloud usage and spend. The first option is to use open-source monitoring tools such as Prometheus that track usage alongside other projects that track spend.
These can be useful when getting started, but can pose challenges when needing to grow and monitor large-scale environments. The team will need to manage and operate the monitoring environment, and that can be a large undertaking of its own. Remember, just because open source software is free, it doesn’t mean it’s free to operate the monitoring environment itself.
The alternative approach is to use a third-party monitoring solution that supports multi-cloud and microservices. If taking this route, find a solution that not only provides surface-level monitoring, but one that also gives you the ability to drill down deeper across specific resources like pods, nodes, and namespaces as well as specific applications and users. The best solutions not only provide metrics on usage or spend, but also provide recommendations on how to right-size workloads so spend can be optimised without impacting application performance.
Track and optimise continuously
Once the cloud and microservices monitoring offering is in place, processes should be developed to track usage and optimise the environment and costs on a regular basis. For example, enterprises should look for big spenders broken down by application and users. Analyze how many resources were requested compared to the actual usage to determine safe guardrails to cut and right-size the workloads. Have these been overallocated or overprovisioned? If so, they are likely safe to be right-sized.
Ideally, there should be a feedback loop built into the enterprise’s processes. Once workloads have been right-sized, their performance needs to be monitored. This includes checking SLAs have been met after any change and the expected cost savings have been achieved.
Understand your cost model
Today, most cloud providers provide a high level of transparency on their pricing. However, knowing how much a service costs, doesn’t mean understanding how often and how much it will be used. A monitoring solution can help with providing a better understanding. However, don’t overlook the pricing model of the monitoring solution. The irony of the aforementioned $65 million cloud bill was it was for the monitoring solution itself.
Monitoring is essential to understand an application, and costs will grow as the application scales. Understanding how those monitoring costs scale can help to keep both cloud and monitoring bills down.
Cost management is not always a top priority for developers who are looking to take advantage of moving at cloud speed. It’s easy to grow an environment, but forget to pause to better understand the correlation between usage, performance, and cost. However, in these economic times where teams are being asked to scrutinise all spend, drilling into the company’s cloud costs could be an easy cost-savings win.