“Isn’t AWS too expensive?” is often the first question we hear when helping startups set up their new cloud solution. This concern doesn’t come from nothing, AWS bills can often appear a little scary. The root cause isn’t that AWS itself is expensive, but rather that companies aren’t properly optimizing their implementation, leading to avoidable excess costs.
This can be particularly problematic because the customer is entirely responsible for selecting the resources they use in their AWS environment, and thus the cost. Improper optimization can lead to outsized bills and the appearance that AWS is expensive. This also means that reducing these costs is also within your control, you just need to understand how to cost-optimize your AWS implementation.
To help startup founders and technical officers get a better grasp of this, our team of experts has compiled our top AWS cost optimization tips to reduce your AWS bill.
Tip #1 Start Rightsizing From Day One:
The most important thing to understand about AWS is that you pay for the resources you’re actually using. This means that rightsizing is the first and quickest method to reduce the amount that you pay for AWS.
The best moment to rightsize is when you first migrate to the AWS cloud. Unfortunately, many startups don’t view it as a priority it is and put it off for later. This leads to a situation where speed and performance are prioritized over cost, even where gains are marginal. This results in oversized instances and significant amounts of wasted spending on underutilized resources.
Balancing Performance and Cost with EC2 Instances
With over 400 different EC2 instance types and sizes to choose from, finding the balance can be tricky. It is good practice for startup founders and technical leaders to understand the general instance types and their implications.
For example, you can choose to over-provision resources, which ensures good application performance but creates unnecessary cost, and if you under-provision resources, you’ll save money but could compromise the performance of your applications.
Rightsizing Specific AWS Services: EC2, S3, and RDS
To understand how rightsizing works, let’s take a look at some specific examples:
EC2: Basic steps can be applied to your compute resources – including choosing the right number of instances running, selecting the right type and size of instances, and making sure your resources are not over- and under-provisioned.
S3: AWS offers a wide range of storage classes, each designed for a specific use case. Choosing the right storage class is essential for cost optimization best practices; here’s a comparison that you may follow. Our tip – try out the S3 Intelligent-Tiering class, which automatically sorts the objects into the right classes depending on their access patterns.
RDS: Amazon RDS provides a selection of instance types optimized to fit different relational database use cases. Instance types comprise varying combinations of CPU, memory, storage, and networking capacity and give you the flexibility to choose the appropriate mix of resources for your database. There’s even a serverless option for Aurora RDS databases suited for serverless or unpredicted workloads.
Tip #2 Learn How To Use The AWS Compute Optimizer:
If you didn’t begin with rightsizing in mind, don’t worry, there are tools out there to help you understand where you can start cutting costs. The most obvious one is the AWS Compute Optimizer.
This free tool is a built-in AWS service that evaluates your instance types and sizes and provides recommendations on how you can optimize your implementation. The tool will show you which instances are optimized and provide recommendations for those that are not. For example, it can tell you which instances are over-provisioned, recommend what kind of instance you should use, and what its on-demand price should be.
This ensures that your compute resources are never over or under-provisioning. AWS Compute Optimizer is compatible with EC2, EBS, and Lambda.
Tip #3 Considering Transitioning To ARM Infrastructure
The AWS team is always trying to find new ways to maximize both performance and cost efficiency. To that end, AWS regularly updates its range of instance types with new technologies that often provide immediate savings to the end-user.
For example, AWS Graviton processors are specifically designed to deliver the best performance for cloud workloads operating in Amazon EC2. Graviton CPUs are based on ARM architecture, so they can’t be instantly applied to workloads designed to run on x86/x64. With that said, up to 25% better performance, and up to 2X higher floating-point performance might push you to dedicate the resources to transition into ARM architecture (and we can help with that!).
Tip #4 Understand How To Take Advantage Of Reserved Instances and Saving Plans
Reserved instances (RIs) and saving plans (SPs) are two of the most commonly used commitment-based options that startups can choose from in order to reduce their AWS bill. Unlike on-demand pricing, these methods require you to purchase computing capacity in advance. This is less flexible, but the savings can be significant if used correctly.
While both RIs and SPs save you money, there are some important differences between the two that will determine which one is a better fit.
Reserved Instances
EC2 RIs provide a discounted hourly rate compared to on-demand pricing. AWS billing automatically applies this discounted rate when your EC2 instance usage matches the attributes of a valid RI. In general RIs are suited to applications with steady-state usage.
There are two types of RIs – Standard and Convertible.
Standard
Standard RIs are less flexible but offer the potential of bigger discounts, sometimes as high as 72%. Their inflexibility makes them best suited for purposes with predictable usage levels over longer periods of time. If you no longer need your standard RI, it is possible to sell it in the RI marketplace, so you do maintain some level of flexibility.
Convertible RIs
Convertible RIs offer a lower discount, up to 52%, compared to on-demand, but enable you to change the attribute of your RI so long as the exchange results in the creation of a new RI is with greater or equal value.
If you’re unsure about what kind of RI you should purchase, recommendations can be found in Cost Explorer.
Savings Plans
SPs tend to be more flexible than RIs. Instead of paying for instances, startups can obtain a discount compared to the On-Demand rate in exchange for a specific usage commitment, measured in $/hour, for a one or three-year period. It’s important to note that the $/hour is expressed with SPs discounts already applied, which can be confusing.
There are two main types of SPs: Compute and EC2 Instance SPs.
Compute SPs
In most cases, Compute SPs are the choice we recommend to our customers. This is because they are the most flexible option. Users can change almost any aspect of their compute infrastructure, which is invaluable in a startup environment, where companies often need to pivot to take advantage of new market conditions.
Compute SPs can be applied to EC2, Lambda, and Fargate services.
EC2 Instance SPs
We generally don’t recommend EC2 Instance SPs for startups as they are more restrictive than compute SPs. Generally, they are comparable to standard RIs in their restrictions and provided discounts, but you don’t have any way to sell them if you find the plan isn’t working for you.
Tip #5 Take Advantage Of AWS Budgets
AWS Budgets is a great feature that our team uses daily, but we rarely see startups take full advantage of them. This tool allows you to set up alerts and track your cost and usage in a variety of different scenarios.
You can select to be alerted by email or SNS when actual or forecasted cost and usage exceed your budget threshold. You can even use AWS Budget Actions to configure specific responses to cost and usage status in your accounts, for example, closing certain non-critical operations or approving a temporary budget increase.
AWS Budgets integrates with AWS Cost Explorer, so it’s easy to take advantage of.
Tip #6 Work With The Experts and Access AWS Activate
While you can achieve many of these things yourself, working with AWS-approved partners has a number of benefits that startups can’t achieve on their own. For example, Cloudvisor is an Advanced AWS Partner, which gives us access to skills, knowledge, and offers that startups can’t easily access elsewhere.
For example, you can immediately reduce your costs by taking advantage of our AWS reselling service. We can offer an immediate 3% discount on your AWS spend, with a 90% discount on CloudFront service rates. This even includes consolidated billing, so you have a single invoice to pay every month instead of paying for every AWS app and service individually.
In addition to this immediate discount, we offer a comprehensive cost optimization service, where we review your AWS implementation and make recommendations about steps you can take to improve its efficiency and cut costs.
Finally, we can help guide your startup through the process of applying to the AWS Activate program. AWS Activate enables startups to obtain up to $100,000 in AWS credits over their lifetime, which can be applied to all AWS services and applications. We have already helped 1000+ startups obtain more than $7 million in credits.