How to optimize your AWS costs? 10 ways to reduce your AWS bill

How to optimize your AWS costs? 10 ways to reduce your AWS bill

Back4App is a heavy Amazon Web Services user and we run most of our infrastructure on this cloud provider. We will show you how we delivered $500,000 in yearly Amazon Web Services savings. Software development companies, startups, and enterprises can benefit from this article because:

  • It provides effective and proved ways to reduce AWS spending;
  • We show how to have short-term and low hanging fruit gains;
  • Most of the procedures are simple and demand only planning and hard work.

The actions described in this article are based on our own experience managing cloud infrastructure and translated in successful cost reductions. Here is a brief checklist of what you will find reading this report.

  • EC2 – Reduce instance sizes
  • EC2 – Optimize idle resources with auto-scaling
  • EC2 – Reserve instances on the Marketplace 
  • EC2 – Standard instances are cheaper than Convertible instances
  • EC2 – Try Spot Instances
  • EC2 – Upgrade to new generation instances
  • EC2 – Enable enhanced network for maximum performance
  • EC2 – Cost varies by region. North Virginia is the cheapest option
  • EBS – Terminate Instances instead of stopping it
  • EBS – Prefer Magnetic storage over SSD
  • S3 – Choose your S3 storage class
  • S3 – Place an endpoint in your VPC
  • S3 – Monitor your S3 requests very closely
  • S3 – Backup your data here. Avoid EBS for this purpose
  • Data Transfer – Make sure you replace REST for GraphQL APIs
  • Data Transfer – Make sure you are connected to a CDN service
  • Data Transfer – Moving to CloudFront may save you a lot of money
  • Data Transfer – Single availability zone will reduce inter-AZ costs
  • CloudFront – Evaluate a long term Private Contract
  • Global – Get volume discounts bundling all your accounts
  • Global – Request credits every time there is an AWS related downtime
  • Credits – Look for AWS credits every time as you can
  • Monitoring & Reporting – Have clear cost reduction goals
  • Monitoring & Reporting – Establish a regular cost-saving routine
  • Monitoring & Reporting – Tag everything

Our cost reduction actions were monitored using a simple but very effective spreadsheet. You can download it using with the link below:

Download your AWS Cost Reduction Template Here

1. EC2 – Elastic Compute Cloud

The most straightforward savings are obtained optimizing EC2 – Elastic Cloud instances. Usually, it’s not so hard to have easy and fast gains simply reevaluating instances sizes and shutting down unused ones. Please make you use last generation instance types. They are cheaper and have more processing power.

Please download the spreadsheet that will support you in this process.

Download your EC2 Cost Reduction Template Here

The next cost-saving step is to have long-term (12 or 36 months) reservations for the instances you run 24/7. You can reserve the instances directly from AWS or purchase them on AWS Marketplace. If you use Elastic Cache (Redis), you can also reserve nodes.

A more sophisticated action is to implement autoscaling to optimize idle resource utilization. Pay only when you actually use the instances. To reduce costs even further, use Spot Instances to scale-up your resources.

2. EBS – Elastic Block Store

Generally speaking, please make sure you don’t backup data here. Use S3 for it.

Understand if you have the right EBS volume attached to each instance. Each volume must have an accurate size and the correct type. SSD volumes are twice as expensive as Magnetic volumes.

3. S3 – Simple Storage Service

Choose the correct storage class for each type of data. For example, S3 Glacier is 5x cheaper than S3 standard and should be used for data archiving.

Monitor and understand your S3 requests. Bear in mind every time you move data from one storage class to another, you will incur in S3 API request costs.

Here a very useful tip for high volume accounts. Installing an S3 endpoint in your VPC provides any traffic to S3 its internal road, and AWS won’t charge you like public transfer.

Are you a development company? Join our Partner Program now!

4. Data Transfer (ELB & S3)

Please make sure your endpoints are connected to a CND service. This will save you data transfer related to the data that could be cached.

AWS has three major data transfer costs that are Transfer Out, Inter-Regions and Inter AZ. Some ideas below to reduce costs:

  • Transfer-Out: Move to CloudFront
  • Inter AZ: Centralize noncritical applications under a single AZ
  • Inter-Region: Centralize noncritical applications under a single Region

Replacing your REST APIs for GraphQL APIs will also bring you savings. The reason for that is because GraphQL will reduce the number of requests performed and as a result, data transfer out. To know more about GraphQL, please read the checklist below:

 

Getting Started with GraphQL

5. CloudFront

Generally speaking, for the same levels of usage, CloudFront is cheaper than ELB data transfer. AWS is much more flexible in providing volume discounts and signing long-term contracts. Depending on your negotiation and volume, CloudFront transfer costs may be reduced to $0.02/GB.

6. Global 

If you run several AWS accounts, please make sure you link all of them to a root account. This simple action will give you volume discounts, and the charged will be based on the total usage of all accounts.

Let’s consider you have 10 AWS accounts and each account stores 50TB.

If the accounts are not linked, you will be charged as follows:

  • 50TB x $0.023 x 10 = 50 x 1024 GB x $0.023 x 10 = $11,776/month

If you bundle the accounts, you will be charged as follows

  • Total Storage: 500TB
  • 50TB x $0.023 = 50 x 1024 GB x $0.023  = $1,177.60/month
  • 450 x $0.022 = 450 x 1024 GB x 0.022 = $10,137.60/month
  • Total Cost = $11,315.60

So, in the hypothetical scenario, you would save $460.80/mo or $5,529.60/year linking all your AWS account.

This same logic can be applied to data transfer, CloudFront, etc.

Are you a development company? Join our Partner Program now!

7. Credits

Most of the gains here are related to Startup credits! AWS has several startup perks, and the amount of credits can go up to $100,000. Enterprises or software development companies can always ask for credits to test AWS services, but the amount you will receive will be much smaller in comparison to the number of credits delivered to Startups.

8. Monitoring & Reporting

You can monitor AWS spending using its own internal tools like Cost Explorer or Cloud Watch. You can also integrate to external services like Sumo Logic or Dynatrace.

Do you need more detailed information on how to implement AWS savings? If that is the case, please read the detailed version accessing here.

Reduce AWS Costs

So, do you like the results we produced? Has it benefited you to optimize AWS costs?

Should you would like to add to this article, email me at [email protected], and I will be happy to incorporate your contribution.

Your comments are also welcome!

Are you a development company? Join our Partner Program now!

To read a Portuguese version of this article please use the link below:

Reduzir Custos AWS

General FAQ

 

How to reduce EC2 costs?

Here is a comprehensive checklist to help you to reduce your AWS EC2 bill.

1. Reduce instance sizes
2. Optimize idle resources with auto-scaling
3. Use reserved instances
4. Use Savings Plan
5. Use Spot Instances
6. Upgrade to new generation instances
7. Enable enhanced network
8. North Virginia is the cheapest location

For more details, read AWS Cost Optimization Guide.

How to reduce EBS costs?


1. Terminate Instances instead of stopping it
2. Prefer Magnetic storage over SSD
3. Reduce the volume size
4. Backup data on S3 that is much cheaper

For more details, read AWS Cost Optimization Guide.

How to reduce S3 costs?

1. Choose your S3 storage class wisely
2. Place an endpoint in your VPC
3. Monitor your S3 requests very closely
4. Delete unused data

For more details, read AWS Cost Optimization Guide.

How to reduce AWS data transfer costs?


1. Replace REST for GraphQL APIs
2. Connect you account to a CDN service
3. Use a single availability zone and reduce inter AZ costs
4. Evaluate a long term Private Contract for CloudFront

For more details, read AWS Cost Optimization Guide.


Leave a reply

Your email address will not be published.