I have rarely met anyone, who is using AWS and is happy with the bills. To our customer’s surprise, we can deliver a cost saving of 30% to 60% on the environment which they thought was being quite optimally designed and used. As a result of our various AWS cost saving implementations, we have concluded that there is no “one size fits all” methodology for saving AWS billing cost. Whereas, we have tried to put together a few useful tips in a crisp manner.
Every environment has its ways and means of reducing the billing. Following are the broad areas & steps:
1. Understand the implementation architecture:
Often not given sufficient importance, it’s crucial to understand the overall architecture and why the components have been chosen in a particular way (as they are). Unless you have a holistic understanding of the environment, it’s difficult to give the right recommendations beyond a certain point.
2. Understand the bleeding areas:
Instead of randomly, looking for most common areas where cost saving can be achieved, it’s highly advised to understand the bleeding areas. Use Monthly AWS invoices, Billing console, Cost. Explorer and any other 3rd party tools that you are familiar with.
Now let’s talk about the real meet, its time of optimizing
3. Following areas needs to be focused:
a. Right Size
b. Implement Elasticity
c. Move to Reserved Instance
d. Use right storage and lifecycle
Right Size: Right Size and Decommission unused resources. Check network /ram/network/disc utilization using cloudwatch(manual) OR use Trusted Advisor. Alternately, you can use third-party tools like STAX, Cloudablity, CloudHealth, DataDog.
Implement elasticity: Use autoscaling (for details refer to Amazon Autoscaling documentation <<aws.amazon.com/documentation/autoscaling/>>). Use AWS instance scheduler and also can use third-party tools like GorillaStack, Skeddly, Parkmycloud.
Use Reserved Instances (RI): Based on usage reports move to Reserved instance. There is a provision of convertible RIs that have huge flexibility.
Storage: Make sure you are using the right storage and data lifecycles, e.g. General purpose SDD (GP2) is the default EBS suggested and is mostly used, consider using Throughput optimized HDD or Cold HDD which may give 50-75% savings. Use EBS judiciously.
4. Others areas:
Redesign: While designing, keep pricing into consideration as well. One should make use of services like lambda, spot instances, static hosting on S3, ELB for app load balancing, cloud front, etc
Microservices and containerization: This further adds to the elasticity and only the bottlenecks need to be scaled up and down, which is highly cost-effective.
IaC Scripts: Using scripts (cloud formation/terraform etc.) can be very useful to create an entire on-demand infrastructure and destroy it in a very short period. Sometimes very efficient for having temporary on-demand testing/dev environments.
Go hybrid (use GCP/Azure and even local Data Center): One should not be limited to AWS. Be open to exploring other cloud providers and use the best of them. Sometimes, it could be even wise to utilize the existing hardware in your on-premise datacenter and phase it out gradually.
Conclusion: Though this article gives a holistic view (and not a granular view of each segment), some of these are common pitfalls where people are wasting money. These points can lead to a cost-saving from 30-60%. Highly experienced Consultants at GIIT Solutions (www.giitsolutions.com) can deliver significant cost savings in customers AWS bills.
We offer an absolutely “free consultancy”, where after analyzing your environment, we share the areas where cost could be saved and how much cost saving can be achieved. Afterward, it’s your wish to implement it yourself or take our expert services to do it for you. Contact us ([email protected]) for a “free consultancy” of your AWS environment.