How much is your public cloud bill? Even if you have an entire team led by FinOps experts to manage your enterprise cloud costs, you’re likely spending around 2X of what you should.
While engineering teams consume cloud resources without taking cost-efficiency into consideration, finance teams struggle to keep up with these expenses.
It’s time you took control over your cloud bill.
Read my guide to eliminate a few expensive mistakes from your cloud cost management strategy:
- Why do cloud costs spiral out of control so easily?
- Avoid these 5 cloud cost management mistakes
- Are there risks to cloud cost optimization? Try an automated approach risk-free
Why do cloud costs spiral out of control so easily?
Here’s a handful of statistics that give you a snapshot of the cloud challenges facing organizations today.
Enterprises turn to the cloud to reduce infrastructure costs, become more agile, and compete with startups transforming practically every industry. But sooner or later, they realize that the cloud comes at a price.
1. Overprovisioning is more common than you expect
Depending on the study you pick up, some 30 to 40% of cloud budgets are wasted. To better understand where their budgets are allocated, companies invest in cost monitoring and reporting solutions.
Based on these reports, they estimate future spend in the hope that buying additional resources won’t be necessary. But it’s hard to achieve a balance here, even if you have a team of talented DevOps engineers or IT Ops/FinOps specialists.
Take Pinterest as an example. When one holiday season rolled around, people spent so much time using the platform that the company’s cloud bill went over the initial estimates. By then, Pinterest had already committed to paying $170 million for AWS – and was then forced to buy extra capacity at a much higher pricing tier, spending $20 million more than forecasted.
2. Skills shortage makes controlling your cloud budget even harder
Take a look at the IT job market, and you’ll quickly see that recruiting skilled DevOps/IT Ops/FinOps experts is costly and time-consuming.
And depending on the structure of your team, these specialists might have to juggle more responsibilities than just cloud cost management.
Less focus on cost optimization will leave you helpless against wasted resources or overprovisioning, especially if finding the right people to fill this skills gap takes months.
3. And you might get hit by an outage anytime
Despite their immense resources, cloud service providers aren’t immune to disasters and downtime. Just to give you an idea, here’s a list of major outages that happened over the last year:
Each of these events had an impact on businesses – cutting them off from services, making key SaaS solutions unavailable, and potentially causing loss of revenue and reputation.
The risk of interruptions increases as the public cloud infrastructure develops and becomes more complex. That’s why so many businesses are now looking into multi cloud opportunities. Ensuring business continuity is easier if you can smoothly move an application from an affected provider to one that’s running.
Avoid these 5 cloud cost management mistakes
1. Not starting with full cost visibility
If multiple teams use cloud resources assigned to a single account, you need to know which team contributes to which part of your bill.
- Are any of your resources not being used to the fullest?
- Is any department running shadow IT projects?
- Which team generates the highest spend?
If you don’t know the answers to these questions, how can you start optimizing your cloud expenses?
How to solve this:
Start with tools cloud providers offer to categorize costs by accounts, organizations, and projects. You can also set spending thresholds for teams to guarantee that they never overrun their budgets.
- Organizations – this is a handy feature for managing and governing your infrastructure when scaling resources. Create new accounts, group them, allocate resources, and apply budgets or policies.
- Resource tagging – another great feature is tagging resources directly and then breaking down your data by tags when you generate a report in the Cost Explorer (naturally, this takes some time to prepare).
- Resource groups – Azure allows grouping resources together in a container, but when doing that, ensure that they all have the same lifecycle to deploy, update, and delete them together.
- Resource tagging – you can also apply tags to resources, resource groups, and subscriptions to organize them better. In Azure, tags consist of names and values – for example, to group all resources used in production, add the name Environment and the value Production.
Google Cloud Platform
- Projects – In Google’s cloud service, a project consists of users, billing settings, authentication, enabled APIs, and monitoring settings for APIs. Group cloud resources in projects to understand your spending better.
- Labels – just like tags, labels come in handy for billing (note: not all resources work with labels option at the moment).
Apart from vendor-provided solutions, you can use specialized cost monitoring and reporting solutions. They usually provide you with detailed insights into your cloud spend and recommendations to be implemented by your team. Naturally, this means that optimizing costs manually will take even more time and effort.
To avoid that, pick an automated solution that doesn’t only analyze your costs and generate recommendations but also applies them in real-time to help you save up without any extra work.
2. Reserving cloud capacity
Many companies with consistent resource requirements reserve cloud capacity in advance and enjoy pricing discounts.
Recent IPO filings revealed many such examples recently:
- Pinterest is going to spend at least $750 million on AWS by July 2023.
- Lyft committed to allocate at least $300 million to AWS services over 3 years.
- Snap plans to spend a smashing $1 billion on AWS and $2 billion on GCP over the course of the next 5 years.
Committing to specific resources or levels of usage as you do with AWS Reserved Instances and Savings Plans makes sense under one condition:
You have a clear picture of how many resources you’ll need within the next 1 or 3 years AND you assume that these requirements aren’t going to change while the contract is running AND you have the cash ready (but didn’t you move to the cloud to avoid CapEx in the first place?).
Meeting these conditions is tricky when estimating cloud requirements is so challenging. Also, one or three years of commitment is an eternity in the cloud world.
How can you tell whether your company will need the same VMs or levels of usage three years from now? The example of Pinterest’s failure to accurately forecast user demand and cloud costs is a case in point.
On top of all that, reserving capacity also means running the risk of vendor lock-in, preventing your teams to use best-in-class cloud services from providers with whom you haven’t signed a contract.
3. Not monitoring cloud costs against your budget
The go-to strategy for budgeting in the cloud is setting limits and alerts for specific spend thresholds and applying them to teams or departments. This may sound really simple, but trust me – it can have a massive impact on your cloud bill.
That said, budgeting for the cloud isn’t a walk in the park. Even companies that were born in the cloud struggle with this. Take Airbnb as an example:
In its early days, growth was their primary goal,usingfrom and tech teams paid little attention to the costs of running their infrastructure. At some point, Airbnb’s monthly AWS costs were growing faster than revenue. To address this problem, the company planned architectural and infrastructure changes that would impact future bills.
Monitoring and real-time alerts are critical for pinpointing the moment when your cloud expenses start spiraling out of control.
One of Adobe’s teams accidentally spent $80,000 in unplanned charges per day because of a computing job left running on Azure. It took one week for anyone to discover this and pull the plug – by then, the bill snowballed to more than half a million dollars. One alert could have prevented this.
How to avoid going over your cloud budget?
- Get a solution for real-time cost monitoring (and, ideally, automated adjustment of resources).
- Set alerts and notifications to match your budget and team requirements.
- Establish your requirements upfront and make sure your assumptions about how applications work and scale are as accurate as possible.
- Ask your team to develop an autoscaling design for your applications, remove faulty provisioning logic in IaC that might contribute to increasing your costs, and use parallel scaling when using serverless functions.
4. Forecasting costs without proper data sources
Cloud bills tend to fluctuate, but forecasting is still a valuable activity because it helps you to develop an approximate picture of your spendings in the future.
Cloud service providers offer a number of helpful solutions for forecasting your bill:
- AWS Budgets – use it to set custom budgets and track costs against usage, or set alerts for actual or forecasted costs going over the set budget.
- AWS Cost Explorer – this is the most important cost-related dashboard for AWS users as it offers custom reports you can use to analyze costs vs. usage and identify unusual cost drivers or anomalies.
- AWS Cost & Usage Report – this report gives you detailed cost and usage data together with metadata about pricing, services, Reserved Instances, and Savings Plans (at different levels of granularity).
- Cloud cost management – a dashboard for tracking and managing costs across Azure and AWS.
- Pricing calculator – a good tool for estimating the cost of different Azure configurations by either products or ready-made scenarios (for example, CI/CD for Containers).
Google Cloud Platform
- Google Cloud Billing – this dashboard works great for exploring the trends in your spendings and shows how much you’re likely to spend in the future (down to a specific group or SKU in one project).
All of these tools provide plenty of information you can use to anticipate your spendings. Here are a few more things you can do to forecast your costs better:
- Explore your usage reports – Monitor these reports regularly and set up alerts to never let a service run unchecked.
- Model your costs – Consider different pricing models and plan future requirements to develop a cost plan at the application level. Place all the data in one place to understand your cost trends better.
- Identify peak usage scenarios – Run analytics on a regular basis and report on your usage to identify seasonal customer demand patterns and prepare for the future.
5. Not using automated cost optimization
Cost monitoring and reporting tools are valuable because they bring you greater visibility. But you still need a human engineer to implement all of their static recommendations.
Instead of making your employees tie all the loose ends manually, equip your teams with an automated cloud optimization solution that removes all the effort related to keeping track of your cloud resources and their associated costs.
Back in the day, we had phone operators switching and connecting cables. Teams in charge of enterprise cloud costs are currently doing the modern equivalent of that by manually provisioning and selecting instance types.
Software like CAST AI saves your team hundreds of hours that would otherwise be spent on researching, installing, maintaining, patching, and observing your infrastructure.
Are there risks to cloud cost optimization? Try an automated approach risk-free
A legacy manual approach to cost optimization usually came with the tradeoff between buying more resources than you need or risking a drop in performance. Automation can react to the changing requirements in real time. On top of that, it reduces the risk of errors and expands the pool of options.
If your teams use Kubernetes, CAST AI is a good place to start your journey into automated optimization. It generates and implements cost-saving optimizations automatically for guaranteed savings without using additional human resources.