AWS offers amazing tools to scale up very quickly. However, this is also a curse where developers can over-provision resources. This article helps us to uncover some of the popular misconfigurations.
Recently we helped our client reduce their AWS bills, they had AWS bills spanning into 1000s of dollars. In 3 months we reduced their AWS bills by a whopping 75%.
Do not over-engineer things. We understand that your product is important to you, but we really do not want to kill the Golden Goose even before it starts laying eggs. Application with less than 1000 daily users really does not need a complex setup like Docker/Kubernetes/ECS. While I understand that there can never be one rule fits all use-case, this still holds true for 95% of the applications.
Do not over-provision in anticipation of high traffic. Tech products should be build based on underlying data and statistics, and if your data can’t justify provisioned hardware no one else really can.
It’s good to solve a complex problem, but don’t create problems just for the sake of it. Modern cloud providers like Google, AWS, Heroku, IBM, Linode, have more than 99% uptime, this should be just good enough for 99% of the SAAS applications.
As the company matures, the team expands we end up having 100s of internal tools that are needed but are not mission critical. Serverless is an amazing offering solving this use-case. Your apps can be internal Monitoring Tools, Report Generations, ETL middleware, Data cruncher. The best part is you only have to pay for what you use. I, however, do not recommend this stack for User-facing applications.
Does your application face heavy traffic just a couple of hours every day? One could use the power of automation to scale up the fleet to meet the growing need without paying for the complete 24 hours.
Spot Instances are dead cheap, you get a dollar worth of machine for pennies (well, not literally). Using Spot Instance judiciously can save up to 70% of AWS bills. Does your ETL task takes 8 hours to process in a 4 Gig machine, you can speed things up by running your tasks on a more powerful machine at 70% of the cost.
Do you have several marketing URLs, landing pages, brand campaigns? AWS (Cloudfront + S3) enables you to create and publish static pages at close to $0 cost.
It provides you with two advantages -
Compute-optimized instances are high on performance. For one of my clients, I was able to replace 10
t2.medium instance with 3
c5.large and achieve the same performance. That’s about 40% cost savings. Similarly one could look at the other instance types to make sure they are well suited for the use-case given.
Reserving an instance for 3 years could give you a 50-60% discount upfront. In case you are wondering what happens when you grow big in size, you can always add more instance to your fleet via an ELB/ALB.
Migration from AWS to providers like Linode can give you about 40-50% cost savings. It’s always important to evaluate other options. For example a 4Gig box will cost $20 at Linode whereas $30 + Taxes in AWS.
If you’ve come this far Schedule a free 30 mins consultation