Time for some hard-hitting truths.
You initially chose AWS cloud infrastructure because it promised you unlimited scalability with considerably lower IT costs and that it would only charge you for the resources you’d use.
But the reality is that your AWS bills are out-of-control. They’re coming in higher than ever and you have no idea why, and no idea how to control your escalating cloud spend.
The cold, stark truth behind AWS cloud services is that the pay-as-you-go model doesn’t work as efficiently as you might expect. It’s not like an electricity bill where you only pay for the exact amount of power you use. You actually pay for the resources you purchase, regardless of whether you use them or not, in addition to the traffic that runs through them.
You’re likely to be over-allocating and paying for resources you’re not using without even realizing it.
But, because your AWS bills are complex and difficult to understand and there is no easy way to find the excess. Plus, there’s no real accountability for spending across teams within your business, which continues to drive costs up. Instead of being able to do something about this wasted spend, you’re left scratching your head, wondering if you’ve made the right decision to invest in AWS Cloud Services.
Am I right?
All is not lost though.
You can achieve cost savings in the cloud if you practice AWS cost optimization, which, coincidentally, is what this article is all about.
Keep reading as we go through:
- Why it’s so easy to waste AWS spend
- The 3 best AWS cost optimization practices
- How to practice AWS cost optimization
Ready to start optimizing your cloud spend?
Why it’s so easy to waste AWS spend
Businesses that have chosen to implement a cloud-based service, like AWS, have done so to grow their business without incurring the large capital expenditures of physical servers.
But, research shows that the average AWS account wastes up to 20% or more of their cloud spend.
Why is that?
They’re overprovisioning resources
One of the biggest causes of wasted cloud spend is overprovisioned infrastructure: According to research, around 40% of instances are at least one size larger than they need to be to handle the demand. To make sure they have enough resources to support potential spikes in demand, companies tend to overprovision their resource capacity. They pay for resources that they rarely use just incase they need them. Like a safety blanket.
But it’s a tough balancing act for cloud administrators. Because they’re faced with the difficult task of making sure that applications remain available at all times, they tend to purchase enough resources to handle the variable demand that’s placed on the applications and enough to keep backup systems in place, just in case one of the servers goes down. But, with over 1.7 million potential, different specification combinations for instances to choose from, getting the balance right is hard: Too much means unused resources and wasted spending, too little means a poor performance.
They’re stuck between a rock and a hard place.
They’re spending money on idle non-production resources
With cloud-based resources, virtual machines and instances are paid for by the hour, minute and second. If a developer spins up a temporary server to perform a function but then forgets to turn it off when the job finishes, or if they don’t remove the storage attached to a terminated instance, a company will be paying through the nose for a resource they’ve purchased but aren’t using.
About 44% of a company’s cloud compute spend is on idle non-production resources that are being used for development, staging, or testing activities. Non-production resources only need to run when people are actually at work, working on them. They don’t need to run 24x7. If idle non-production resources are left on, outside the average 40-hour working week, it means companies will be paying for 128 hours worth of resources that they’re not using. Ouch!
They have a lack of cloud cost understanding
73% of cloud decision-makers said they had no idea why their cloud costs were rising. This is worrying.
But there are two obvious reasons for this lack of understanding:
- There is no transparency and little accountability for cloud usage and spending within teams across the business.
- cloud costs are notoriously difficult to predict because of the pay-as-you-go model.
So, we know why it’s easy to waste AWS cloud spend, but how do we stop it? How do we stop pouring money down the drain?
By implementing cloud cost optimization practices like the three that are coming up next.
The 3 best AWS cost optimization practices
AWS cost optimization is about cutting down your AWS bill by cutting out the deadwood you don’t need. It’s about running your cloud infrastructure at optimal performance in the most efficient and resourceful way: Think lean, mean cloud machine.
These three AWS cost optimization best practices will help you achieve this.
Cloud cost optimization best practice #1: Right-size computing services
One of the best ways to save on AWS costs is to right-size your infrastructure. Right-sizing is about finding exactly the right cloud configuration to give you the best performance at the
Think about this: If you were to reduce an instance by just one size, the cost would reduce by 50%. If you were to reduce it by two sizes, it would reduce by 75%.
That’s huge, right? Imagine the cost savings you’d make by cutting your resource capacity down. But you can’t simply half or quarter your capacity overnight like that…Can you?
No, not if you want to sleep at night you can’t.
You have to continually monitor and analyze your performance, usage needs and historical usage patterns until you find exactly the right infrastructure size. Like Goldilocks did with the three bears: She had to try three differently sized porridge bowls, chairs and beds until she found her ‘right size’ (just don’t get lax and leave yourself exposed to the big bad wolf).
Alternatively, you have the option to use Elastic Scaling Groups which will adjust capacity according to performance. They will automatically bring on more resources, but only when the load requires it. This will help you to optimize how your application is used whilst reducing wastage and optimizing AWS cloud spend.
Cloud cost optimization best practice #2: Eliminate idle resources
As we established earlier, Amazon will continue to charge you for using resources, even when they’re idle.
On top of forgetting to turn off non-production resources like testing and staging environments, idle resources can also come into play if a resource isn’t being fully utilized. For example, if you only use 40% of an EC2 instance, 60% of that resource is lying there, idle. But you’re still paying for it.
Like with right-sizing your infrastructure, to make sure you aren’t paying for resources you aren’t using, effectively monitor, track and turn off all your idle resources.
Cloud cost optimization best practice #3: Build a culture of cost awareness
As we discovered earlier, a common problem with controlling cloud costs is understanding who is spending what, and why they’re spending it.
If there’s no transparency across different departments within the business, then it becomes incredibly difficult for teams to take accountability for their own, individual cloud usage and spending. They can spin up instances as and when they want to and rack up costs pretty quickly, without giving a second thought to the impact that’s likely to have on the overall budget. Plus, because AWS bills are notoriously difficult to understand, it can be hard to determine where increases in spending are coming from, and what’s causing it.
Encourage teams to be open and accountable for their usage and spending by creating a culture of transparency. This should help them relate what they’re doing to the price per unit, process, department, customer, segment, or product and enable them to make more cost-aware cloud utilization decisions in the future.
How to implement AWS cost optimization best practices
It’s one thing knowing what to do to optimize cloud costs, but it’s another thing knowing how to implement these best practices.
Whilst AWS does offer various cost optimization tools like the AWS Cost and Usage Report and AWS Cost Explorer, it doesn’t offer you anything that will truly help you to right-size your infrastructure, spot and eliminate idle resources, or build a culture of cost awareness.
This is why I’d like to introduce you to Aimably.
Aimably is a dedicated AWS cost optimization tool that has been designed to help you implement AWS cost optimization practices into your business.
Let’s take a closer look at how.
How to right-size computing services with Aimably
One of Aimably’s best features is Aimably Reduce. Aimably Reduce finds opportunities to cut costs without impacting performance. It monitors your usage patterns and tells you exactly what you should be spending on each server instance. It will provide you with a list of all your EC2 instances and tell you which ones are overprovisioned. It’ll establish which specific instances you can reduce, and also tell you the potential impact that this right-sizing is likely to have on performance, so you can sleep easy at night.
How to spot and eliminate idle resources with Aimably
Aimably Insight has been built to detect idle resources. It gives you a real-time view of all the resources you have running at any given time. It also highlights those “hidden” resources like S3 buckets housed in unattended regions or old staging servers that have been forgotten about and left switched on. Armed with this information, you’ll know exactly which resources are being wasted and you’ll be able to take steps to eliminate all idle and unused resources. Aimably Reduce can also help with switching off idle resources by giving you the ability to manage your server instances with work schedules. This will protect you from cases of “Whoops! I forgot to turn it off!”
How to build a culture of cost awareness with Aimably
To create accountability for AWS usage and spending within teams across the business you need to build a level of openness and transparency into your organizational culture. You need to find a way to display AWS cloud cost insights so that everyone, regardless of what department they’re in, can not only understand these costs but also see the impact their spending is having on the business as a whole.
Aimably Pulse can do just that. Aimably Pulse will give each and every team member complete accountability for their AWS spending by sending daily AWS spend emails and slack updates. These daily updates contain current spend vs historic spend data so everyone can keep on track and stay accountable for their spending. Aimably Pulse also assigns daily AWS spend goals to team leaders to make sure they’re keeping their teams in check when it comes to usage. With Aimably Pulse you can also dig deep into your AWS spending data to understand individual line items on your AWS bill and identify who has spent what and why. Plus, with Aimably Insight, anyone can research, analyze, and track detailed sources of AWS spend no matter what their role in the company is.
I don’t think you can get much more transparent than that.
With access to AWS cost optimization tools like Aimably, companies can find the right-size infrastructure, eliminate idle resources and build a culture of cost awareness that will allow them to start utilizing the benefits of the cloud without the escalating costs that can often come with it.