These are the top 3 AWS cost saving optimizations we do in our first week of working with any client that is using AWS. We usually see 30% to 50% reduction after implementing some if not all of these topics for our client.
Let's jump into it...
This of course may require a rewriting some parts of your application but in the long run will save money. Some of the biggest examples of this is when teams take event based parts of the code and move them to serverless.
Some teams we worked with start with moving notification system to serverless systems using lambdas and SQS.
One of client saw a ton of reduction after moving their push notification system to SQS and lambda.
Another one of clients say huge benefit by moving from an open source, fargate hosted event streamer to lambda based event streamer. The open source event streamer was giving them no benefit as they used maybe a third of the features. Moving lambda was the right fit for them as they were just moving data from one database to another for analytical purposes.
Another big move is using Aurora Serverless with either mysql or postgresql. Allowing scaling from very small to very large based on concurrent connections to the database.
These are just a few ideas we have seen that work.
One of the quickest ways to reduce cost is using spot instances for your virtual servers. The big thing to remember about spot instances is they can go away at any time. We usually have a few regular instances, and use the autoscaling to using spot instances. This also requires your application to not be stateful when running.
Spot instances are a basically a marketplace on AWS for unused instances that could be used for a little of time, then removed at anytime. The low cost is that time in between that you can use.
Your application has to have a very fast startup speed, so you are not wasting any of that time while you are using the spot instances.
Data is one of the biggest items any startup or large enterprise, can use to gain incremental value in the right areas. Usually a simple setup to gather data on your tech budget is enough to start reducing or cutting back. We have seen startups that didn't know their spend per day or per week, was able to save 30% when they were alarmed to budget being used up. They were able to configure the systems based on the budget alarms to reduce cost of idle servers.