Using AWS could burn your pocket. This guide on AWS cost optimization will help you develop a plan for reducing AWS costs & working effectively.
AWS is based on the pay-as-you-go model. This means you only pay for what you opt for. Simple, right?
AWS offers a variety of products and services. Sometimes you don’t need all of it. Sometimes you aren’t using the right instance for your workload. And sometimes, there are just underutilized instances.
Let’s get started with it.
Table of Contents
- Get Rid of Zombie Assets
- Prioritize Reserved Instances
- Reduce Oversized Resources
- Choose the Right Storage Class
- Delete Obsolete Snapshots
- Use AWS Credits
- Schedule Redshift Instances
- Use Compute Savings Plans
Introduction – All About AWS
AWS allows users to keep costs under control and consistently reduce spending while designing modern, scalable solutions that meet business needs.
Pay-as-you-go is one of the best features of AWS. But it could easily go miscalculated and if not regulated properly, can be pricey.
But hey, businesses aren’t always to blame for failing to optimize AWS costs.
AWS costing is tricky.
There are the extra services that come with instances, which drive up prices and can continue to do so long after the instances are canceled.
Now, let’s build a strategy that fulfills your financial needs during this time of distress.
Managed AWS Hosting for AWS Cost Optimization
A managed services provider is the only viable option, which is why an entire business has sprung up around it. Managed Hosting takes the load from you and handles all the management for you. You get the time to focus on growing your business & sales.
AWS Managed Hosting aids in the effective and secure operation of your AWS infrastructure. For example, if you go with Webscoot.io’s base plan of $150, everything is included:
- Servers (Storage, Compute, Bandwidth)
- Sucuri Firewall
- 24*7 Support
- Proactive Monitoring
Hence, a wiser choice is to go with Managed Hosting for AWS. They will look after your servers on national holidays, at 3 AM, during random traffic surges all at a FIXED Cost. This gives you more operational flexibility, improves security and compliance, and assists you in optimizing capacity and implementing cost-cutting measures.
Managed Hosts’ expertise also acts as a major factor to reduce AWS costs.
7 Steps to AWS Cost Optimization
Here are 7 ways that will help you reduce AWS costs effectively.
1. Get Rid of Zombie Assets
What are zombie assets?
The term “zombie assets” is commonly used to denote any underutilized assets that drive up AWS costs.
In other words, infrastructure elements that are active in your cloud environment but aren’t being used are known as zombie assets.
They could, for example, be EC2 instances that were once used for a certain purpose but are no longer in use and were not turned off.
2. Prioritize Reserved Instances
Reserved capacity is offered for several AWS such as Amazon EC2 and Amazon RDS.
Amazon offers discounts of up to 72% when you reserve instances for a term of 1-3 years.
On-demand resources are higher in cost. Although you can still benefit from Amazon’s advanced automation options, there is not much flexibility left.
On-demand is suitable for enterprises that predominantly use the cloud to operate existing or legacy corporate applications. Applications with predictable demand can also use this by planning ahead of time or having a known growth pattern.
Keep in mind that regardless of whether or not you utilize an instance, you will be charged for it.
For reserved instances, there are two options:
- Standard Option
- Convertible Option
Standard RIs are cheaper than Convertible ones.
With Convertible RIs, you can’t downsize. You can only upgrade – from medium to large — each time you convert an instance. Therefore, start with a nano instead of a large size. Otherwise, you’ll be locked into a contract for 12 to 36 months, paying for wasted storage.
What determines the cost of a Reserved Instance?
- Type of Instance: For example, m1.small, where m1 is the instance family, and small is the size.
- Region: Region where you purchased it.
- Platform: The OS
- Tenancy: Whether your instance runs on a shared or dedicated server.
There are 3 payment options available:
- All-up-front (AURI): Full payment is done at the start of the term. No extra costs regardless of the hours used.
- Partial-up-front (PURI): A portion of the payment is paid upfront. Rest is charged at a discounted hourly rate, irrespective of the Reserved Instances being used.
- No-up-front (NURI): No need to pay upfront. You will be charged at an hourly rate.
3. Reduce Oversized Resource
Every instance option on AWS comes in a variety of sizes, and for many users, the default practice is to choose the largest size available. After all, you never know how much capacity you’ll need in the future, do you?
You can cut the cost of an instance by half by shrinking it by one size. By reducing by two sizes, you can save up to 75%.
Cutting out on entirely unnecessary resources is the simplest method for AWS cost optimization quickly and considerably.
But hey, don’t go all out; reduce the size of the instance gradually.
Reduce the size of each instance one at a time. Don’t reduce the size from t2.xlarge to t2.medium, for example. Reduce the size from t2.2xlarge to t2.xlarge first. After a week of monitoring, determine how much of the resources are being used and repeat the reduction cycle.
You’ll be less likely to have downtime or make mistakes if you do it this way.
4. Choose the Right Storage Class
AWS generally offers 4 storage classes:
4.1. Amazon Glacier
This is made for archiving data. Amazon Glacier allows you to store any quantity of data for a very low cost and in a secure manner.
This class would be a good fit for scientific research data, media archives, or historical customer data, but be mindful that the retrieval procedure can take hours.
4.2. Amazon S3 Standard-infrequent access
For data that requires less frequent access, this allows for a longer storage time than Amazon S3 Standard. This class offers the same levels of availability and durability at a reduced cost per GB of storage and a data retrieval fee.
Backups, long-term storage, and disaster recovery files are best suitable for this class of storage.
4.3. Amazon S3 One Zone-infrequent access
This option, which uses the same durability rates as the Amazon S3 Standard-infrequent access, stores data in a single availability zone and saves you 20% on your costs.
This class is appropriate for infrequently accessed data and is great for storing secondary backups or data that can be easily recreated.
4.4. Amazon S3 Standard
Amazon S3 Standard is used for data storage that needs to be accessed frequently.
The most expensive of all Amazon tiers, it is built for 99.99% availability and durability over the course of a year.
Amazon S3 Standard is usually used for Cloud applications, web hosting, and big data analytics.
All these classes have their varied prices, thus you can save a good sum of money by opting for the storage class that caters to your need the best.
AWS Auto Scaling analyses your applications in real-time and adjusts capacity as needed to ensure consistent, stable performance at the lowest cost possible.
Autoscaling is used to automate the start and stop of EC2 instances. Resource use, such as CPU, API Requests, and start/terminate timings, are taken into account by auto-scaling groups.
In other words, autoscaling increases or decreases the number of EC2 instances.
Because the number of instances can be dynamically increased or decreased, and you pay for the number of instances you have in AWS. Autoscaling is primary for AWS cost optimization. It can be achieved by deploying instances when they are required and terminating them when they’re not.
6. Delete Obsolete Snapshots
Snapshots are copies of your data that you can restore if something goes wrong.
It’s reasonable to maintain the most recent update; but, storing every snapshot is pointless, so search for previous versions and delete them.
Due to the frequency with which these data backups are used, you may have hundreds of snapshots recorded every 15 minutes for months or even years.
Individually, EBS snapshots are not expensive; but as they say “drop drop makes an ocean”.
Here’s how you can delete EBS;
- Open Trusted Advisor Idle Load Balancers check
- Retrieve a list of load balancers that had a RequestCount of less than 100 in the previous 7 days.
- Review & delete those EBS to reduce AWS costs.
7. Use AWS Credits
To begin, double-check that your business is authorized to get AWS credit. If you get a yes, create a business case for AWS that demonstrates your company’s growth, how granting credits would benefit Amazon, and why they should keep your account.
If you can persuade them that your company is on the right track, that it is growing and acquiring consumers, Amazon will recognize your potential and can give you up to $100,000 in credits.
There are a few ways you can get AWS credits;
- Startup Credits
If you’re a new company, I extremely recommend you to apply to accelerators such as YC, Wayra, or Alchemist. They provide a variety of benefits to help you build your business, including up to $100,000 in AWS credits.
You can also request assistance from Venture Capital Funds or Angel Groups to help you with spending and to provide you with benefits such as $10,000 in cloud service credits.
- Testing Credits
If you want to try out a new AWS service, try to ask for credits for those instances. The amount will vary based on how much you spend overall and how hard you work to enforce POC (Proof of Concept).
The given credits will only be valid for three months, so try to make the most of them.
8. Schedule Redshift Instances
Use the Amazon RDS Idle DB instances check from Trusted Advisor to find DB instances that haven’t had a connection in the last 7 days.
Stop these DB instances.
Use the Trusted Advisor Underutilized Redshift clusters check for Redshift to detect clusters with no connections in the last 7 days and less than 5% cluster-wide average CPU utilization for 99% of the time.
Review and reduce those clusters.
9. Use Compute Savings Plans
Compute Savings Plans apply to all EC2 instances, regardless of instance family, size, AZ, region, OS, or tenancy, and also to Fargate and Lambda.
When compared to On-Demand pricing, Compute Savings Plans offer a 54% discount over one year.
Make sure you’ve selected computing, one year, and no upfront options in AWS Cost Explorer’s suggestions.
Your compute usage is immediately charged at the discounted Savings Plans prices after you sign up for Savings Plans. Any consumption in excess of your commitment will be charged at On-Demand rates.
Best Practices for AWS Cost Optimization
Rather than these 7 ways to reduce AWS costs, here are some best practices that’ll help you either reduce or at least control AWS costs;
1. AWS Marketplace
Do you have stances you don’t need but you already paid a good sum for them?
You can resell them at the AWS marketplace. It goes another way around as well; Companies occasionally purchase an excess of reserved instances that they no longer require but continue to pay for. They would cut the pricing to speed up the selling process, allowing you to shop at a lower cost.
AWS Marketplace is your goldmine if you need to get rid of some of your instances quickly and monetize the unused services.
AWS Marketplace also allows for flexible contracts. You can utilize the service for 10 or 15 months instead of the standard 12 or 36 months or any other period that you and the seller agree on.
These instances are tough to come by on the Marketplace, so broaden your search by browsing in different availability zones. After you’ve made your purchase, you can adjust the parameters back.
Additionally, every item on AWS Marketplace is reviewed and authorized by the Amazon team, enhancing the trustworthiness of your offering.
Aside from that, the billing process is straightforward and transparent, making the transaction more pleasant and saving you time.
AWS Marketplace also allows potential purchasers to test out the instance for free, so that you can know if those instances fit them. Win-win.
2. Delete Idle Elastic Load Balancers
The cost of a load balancer is determined by the number of requests processed and the number of hours it has been running. So, if you have any idle load balancers, eliminate them. Otherwise, you’ll have to pay approx. $0.025 each hour.
3. Choose the Right Instance Family
AWS offers multiple instances optimized to work for specific purposes the best.
Choosing the right family type helps ensure that you get the most out of your resources while meeting your application’s requirements.
Few Instance families are –
- General Purpose Instances
- Compute Optimized Instances
- Memory-Optimized Instances
- Accelerated Computing Instances
- Storage Optimized Instances
There you have it; 7 ways for AWS cost optimization.
AWS cost reduction is a continual process that necessitates constant monitoring and audits. Furthermore, cost optimization is a difficult and time-consuming process that necessitates patience, skill, and time.
Consider rightsizing and optimizing your purchases to reduce AWS costs. You can even try scheduling so that you can track your usage and make the most of your time and money.
Take a look at the table below to see how much can you save;
|Schedule||Start Time||Stop Time||Hours Saved||You Save|
|Mon-Sun||8.00 a.m.||8.00 p.m.||84 per week||50%|
|Mon-Sun||9.00 a.m.||5.00 p.m.||112 per week||66%|
|Mon-Sat||8.00 a.m.||8.00 p.m.||96 per week||57%|
|Mon-Sat||9.00 a.m.||5.00 p.m.||120 per week||71%|
|Mon-Fri||8.00 a.m.||8.00 p.m.||108 per week||64%|
|Mon-Fri||9.00 a.m.||5.00 p.m.||128 per week||76%|
Well, that’s it.
Let me ask you now; How to save costs with AWS?
Here’s an idea, tell us your strategy on how you’d reduce AWS costs in the comments!
Interesting read – AWS Vs Digital Ocean: 5 Point Comparison.
He is the CEO and founder at MageHost. Sahil loves to solve problems and makes sure his clients have a speedy website. When not working hard on his Mac, he is seen traveling!