The move to the cloud, particularly the public cloud, has proven to reduce overall costs for organizations to host their web application(s).
In particular, Amazon Web Services (AWS) provides flexible pricing plans, so that companies only pay for what they need. However, careless use of the public cloud could lead to high expenses greater than or equal to a private cloud or self-hosted infrastructure.
Here are some ways that you can reduce your AWS costs and save money hosting your infrastructure on the public cloud.
What we can do for you
Set up auto-scaling. Put the days of monitoring your app performance and manually allocating instances behind you. Auto-scaling will kick in when your usage passes a certain threshold, so you’re only paying for additional instances when you need them. Read about how auto-scaling helped this e-commerce company save costs.
Design your network traffic flow. Poor routing can incur costs by unnecessarily running traffic through a backup zone or running internal traffic through the public network interface, when it can just go through the virtual private cloud. Our priority is to keep traffic flowing by using the fewest resources possible.
Tune your database settings. Although resource optimization is not as crucial on the public cloud due to virtually unlimited and cheap resources, your database can often still act as a bottleneck for your application. Regardless of how much CPU or memory you allocate, lack of database tuning will result in slow execution. Consequently, the knee-jerk reaction of adding more resources will just lead to frivolous spending.
What recommendations we can make
Reserved instances. A reserved instance allow you to make capacity reservations if your needs are predictable. Although they have a higher cost up-front, if your infrastructure is a right fit, they will save you money and maintain flexibility in the long run.
Family Types. AWS offers different family types depending on the needs of each particular instance ranging from memory optimization to accelerated computing. For example, if memory is important to you, but you don’t need powerful processors, choosing “M” instances will give you twice the amount of memory for the same price as “C” instances.
Technologies and Services. There’s no one size fits all set of tools for every company. There may be tools or services that are cheaper for others, but more expensive for you. For example, larger companies often use New Relic APM for their application performance monitoring, but it’s much cheaper for smaller companies to use Elastic APM. Here are 10 other things to consider when choosing cloud tools.
What you can do
Improve your source code. Again, although it is sometimes more beneficial to prioritize bug fixes or new features over performance improvements, it’s a best practice to make sure the core of your source code uses resources efficiently. For example, you will have to address a memory leak eventually because it will just keep using more and more resources.
Use optimization tools. There are a lot of free and paid tools that you can use to highlight areas of your infrastructure or code that need optimization. AWS has an in-house tool called Trusted Advisor.
Use a Content Delivery Network. A content delivery network (CDN) is a collection of proxy servers and data centers that geographically cache data, improving the speed and cost of loading the same content multiple times. For example, Cloudflare has a well-known fast, agile, and secure CDN.
Do you need help optimizing your public cloud costs? Tell us about your AWS needs.