Some people think that running workloads in the cloud is a more expensive route to take. And some of them would be right, but not for the reasons you might expect. If your cloud spend is more than you expected it to be and you don’t know why, something is wrong.
Here’s the thing. Cloud services, although they’ve been around for over a decade, are not always properly optimized. In this post I’ll share some common causes and how to fix them.
The main problem I see my customers struggle with is that they have shifted over their workloads, but haven’t shifted into a cloud mindset. A mindset of understanding highly configurable, ephemeral, auto-scaling, on-demand, and just-in-time infrastructure. And a mindset of having more control and governance capabilities than ever before.
Yes, we’re 10+ years in with cloud adoption. But mainstream adoption has just taken off in the last few years. Large enterprises were reluctant to jump in at first, mostly because of existing capital expenditures and concerns about using nascent technology. That’s changing now.
For example, here’s a look at the popularity of the search term “public cloud” since 2004. Peak popularity: March 2017. Not too long ago!
New things take time to permeate and reach mainstream adoption. Especially with something as broad and transformational as cloud computing. Generally speaking, if you’re changing how and where you run your infrastructure, that’s a big undertaking on several fronts. These are big decisions.
People are playing catch-up when it comes to learning new skills. A new way of doing things. A new way of thinking. I suspect this will be the case stretching into 2022. Leaving lots of room for optimization work along the way. Here’s an example.
One Simple Example – Over Provisioning
This is the most boring charts of all time, but there’s an interesting story behind it. It shows average CPU utilization for a fleet of EC2 instances in AWS over a two week period.
Below 5% CPU utilization on average. This client was
spending wasting so much on compute capacity they didn’t need. Over provisioned. The result:
How did this happen? Because they lifted and shifted workloads over without leveraging the highly optimizable features of cloud resources. The mixture of auto-scaling rules, right-sized EC2 instances, and some reservations made a huge impact on reducing the overall monthly spend.
Unfortunately, I see this a lot. Again, it’s a mind shift to realize that you have more control and more levers to pull when it comes to fine tuning your infrastructure. Which can translate into extremely optimized cloud spend for those that spend time getting it right.
Why Are Some Companies Spending Too Much?
Considering the above example, which addresses how the issue happened, let’s consider the root causes for why it happens. This isn’t an exhaustive list, but these are common issues I’ve encountered.
- You moved too fast – The decree came down like this. “We need to move to the cloud now!” And so you did. With the best intentions, you said you’d optimize things later. Yet, here you are months (maybe years!) later and you’ve done no such optimization.
- Lack of skills – You moved workloads without knowing how to properly take advantage of cloud resources. Your staff isn’t aware of how to optimize properly. They’re stuck in an old way of thinking.
- Lack of visibility – You don’t know how to track spending month to month, annually, projected spend, etc. You don’t have a trusted single source showing you trends and projections, and offering suggestions for improvements.
- Lack of controls – Cloud resources are very easy to consume. If you don’t have controls in place, things are bound to sprawl. It starts out with one department dabbling in AWS. Another in Azure. And another in Google Cloud. Before you know it, you have a spaghetti bowl of cloud services with no clear route back to health, stability and control.
How To Fix the Common Issues
The good news is it’s not too late to make decisions and improve your position. You can get things back under control quickly. Remember, we’re not dealing with significant capital expenses (for the most part). You can make changes and see real results, sometimes in hours or days.
1. Understand What You’ve Got
Work with someone you can trust. Preferably an outside consultant that’s not part of your organization. This will ensure that you get an objective and holistic review and recommendations.
Let’s be honest, who on your team internally wants to admit that the things they’ve been working on aren’t optimized and are causing the company to waste money. Get a third-party trusted advisor to help you.
In fact, I built a service offering around this for customers using AWS. It’s my AWS Health Audit, which gives you a holistic view of your core services in AWS along with key recommendations to start optimizing your cloud spend right away. It goes beyond spend into tuning performance, security, reliability and operational aspects as well. Check it out!
2. Remediate the Biggest Issues
After a review of your account, you should have an actionable list of the biggest “bang for your buck” optimizations you need to make. Typical issues include over provisioned compute, poor architecture, incorrect use of storage classes, and not using cloud services such as serverless technology.
We’re focused on cost in this post, but there are other aspects that are important to consider. Optimization can and should happen around performance, reliability, security and operational excellence – which tend to translate into cost savings.
Again, find a partner you can trust to help you understand your current reality and provide a prioritized list of actionable recommendations. Tackle the big things first. 20% of the issues likely improve 80% of your cloud spend.
3. Level-Up Your Staff and Tweak as You Go
So far I’ve suggested finding a trusted partner to help. I stand by this recommendation. Unless you have the skills in-house and you can receive an objective review from within. If you can do it, go for it!
People make it all happen. Make sure your staff understands the vision of why you’re in the cloud and how important it is to the business. No matter what skill level you have in-house to handle your cloud services going forward, get people the ongoing training they need.
New cloud services and features are implemented frequently. To the tune of 1,000+ per year in AWS alone. This means you will never be done tweaking, and that’s a good thing. Take advantage of it. You can’t afford not to!
Thanks for reading this post. I hope you found it helpful. What is your #1 biggest challenge when it comes to controlling your cloud spend? Leave a reply in the comments below.