Tel: +44 (0)1786 430076 email: info@objectiveassociates.co.uk
Discussing Amazon's AWS, including costs and "how to" best advice. We also talk about related technologies. The Objective Podcast is available on iTunes.
We want to give you the 5 best ways to save money when using Amazon's powerful AWS (Amazon Web Services). Here are the five top ways we believe you can save money with AWS fast.
(1) RIGHT SIZE YOUR INSTANCE TO SAVE MONEY
The "On Demand" option from Amazon allows you to "Pay As You Go" based on your instance. That is a very affordable way to manage things, but it also gives you a terrific way to save money.
By using Cloud Watch you'll be able to see just how much compute power you are using. How stressed out are your processors?
By reviewing your use over a week or two, you'll be able to see how often the processor gets max'd out. If it seems to sit around a 60% or 70% usage level, then that would suggest that you have a reasonably well specified machine for your application. But if by using Cloud Watch you see that the machine sits at a 20% level and seldom rises above 50% or 60% then it's time to look at less powerful, and less expensive options.
This is called "Right Sizing Your Instance" and it can save you a great deal of money. All you have to bear in mind is that when you opt to change the instance type that the machine will go down for a short period. So make sure you do that in a maintenance window.
(2) USE LAMBDA TO HANDLE TRANSIENT SPIKES AND KEEP YOUR COSTS DOWN
If you have come to AWS from a conventional Data Center environment then you may have been used to leasing additional servers to give you some reserve capacity; giving you additional power and capability when you need it. Servers - sitting & waiting for peak loads. Maybe you have had a number of machines all load balanced, waiting for a monthly or seasonal surge in demand. Maybe your loads can be unpredictable, and so an extra server waiting for such an event was essential.
In the AWS world there is no need to lease servers for those "just in case" or high demand moments, that's because AWS provides the notion of "Serverless Computing".
By writing Lambda Functions you can execute code on Amazon's servers by simply instructing AWS to run your functions. All you do is tell Amazon how much memory you want to utilize during the execution of each Lambda Function. You can run multiple threads as well, allowing you to deal with load spikes regardless of their size.
Suppose you are selling Tickets for a long anticipated event. When the surge comes from the fans, your Lambda Functions can get called up and begin processing the queue of impatient fans.
There are some ground rules to take note of: each Lambda function can only run for 5 minutes; and you'll need to tidy up as each function comes to an end; and they do take a few minutes to get going.
Importantly; you are not paying for spare server capacity 24/7, you are only paying for the processing associated with the Lambda Functions. You are only paying for processing when you need it - you pay each time you request a Lambda function to execute and for it's duration. That's a huge cost saving that is open to you. And it's even better - because there is a Free Tier associated with Lambda. That means in some cases you could be handling your spikes in demand with absolutely NO additional cost to your business.
(3) TAKE ADVANTAGE OF FREE TIERS AND DON'T SPEND ANYTHING
When it comes to servers and Data Centers it's unusual to get anything for free - but not in the world of Amazon's AWS. AWS provides Free Tiers on their services - some are Free Tiers for "only" 12 months, but some are Free Tiers always.
Lambda, discussed above, is a case in point. Not only can Lambda save you money in it's own right, it is also Free up to certain limits. The Free Tier (link to FREE TIER info here) for Lambda is currently up to 1 million requests, and 400,000 GB-seconds per month. That's a lot of processing power you could be using for free; all you need do, is watch your data queue lengths on your system and trigger one or more Lambda Functions to step in when the queue is getting a bit long. Serverliess Computing can save you money, you don't need to lease spare capacity servers.
Other Free Tiers that are worth mentioning include the Amazon Simple Email Service (link to FREE TIER info here). Every month you are allowed to send 62,000 emails for free. That's a lot of emails. That's enough to keep a sales team informed of incoming web enquiries, IT aware of technical issues and management aware of sales performance. And it's free on an ongoing basis.
And before we forget... when you spin up your first instance and start experimenting in the AWS world, you can choose an instance that has a Free Tier. That gives you a free introduction to AWS, and lets you derisk the whole move to AWS.
Free Tiers save you money, so take advantage of them.
(4) USE RESERVED INSTANCES AND SAVE 40% OR MORE
When you start using AWS it makes good sense to use the "Pay As You Go" model, that's the "On Demand" pricing model. It let's you get set up without any significant cash outlay. That's a money saving benefit from the get go, but things get better!
Once you have had the time to review how your instance is behaving you can decide to convert it to a Reserved Instance. At the point when you are happy that you have the right processing power and the right storage, you can move from Pay As You Go to a contract type payment model.
The savings can be considerable by simply making that commitment. And the more you can commit upfront the bigger the ultimate saving.
Examples from the Pricing pages of AWS show that a 32% saving can be made on an EC2.m4.large instance if you opt for a Reserved Instance. And that saving can be 43% if you decide to pay up front. That's a huge saving, and remember it's with little risk, because you have already "Right Sized" the instance during your "On Demand" period. That's a huge difference from how conventional data centres work. And it works in your favour, it ensures you save cash.
(5) OPTIMISE YOUR QUEUE LENGTH AND AVOID OVERSPENDING
Storage and the speed of that storage is where you can also save a lot of money.
There are a variety of disk storage options on AWS for your Server Instance. And AWS makes it easy to decide what is appropriate.
Cloud Watch allows you to see if your disk speed is optimum. The recommendation is for a disk queue length of around 5, so use Cloud Watch to see if that is being maintained. If your queue length is consitently shorter than 5 then you have over specified things and you can choose less expensive storage.
You might be tempted to use SSDs to give you throughput, but does your system really need that? If not then move to HDD types. Cold Storage HDD (sc1) is the cheapest, and yes it is the slowest, but if your system doesn't need to be processing at speed then that will save you money. If you need something faster then throughput optimized HDDs (st1) may suffice.
If SSDs are required then you can save cash by opting for the general purpose SSDs (gp2). And if you really must have high performance then look at Provsioned IOPS SSDs (io1) Volumes, but here again you can save money. Only provision the IOPS that you need, don't over specify things, again use Cloud Watch to fine tune your spend.
We've found that these 5 AWS tips put money in your bank account when applied to AWS, they have done for us! Amazon have built the AWS environment to be transparent from a cost point of view. Keep our 5 AWS cost saving tips in mind and you won't go wrong.
The Objective Podcast is available on iTunes
AWS resilience capabilities explained
How to manage Amazon’s AWS costs
How to get started on Amazon's AWS
How to choose your AWS instance type
5 tips on how to save money on AWS