Amazon’s EC2 servers are notionally cheap. They are also easy to provision. So, in theory, there is little to go wrong.
You provision a few servers, you pay some money based on what you use and that’s it. It’s a cheaper, easier and quicker way of provisioning servers than the old fashioned way of buying in hardware and setting up your own servers.
So if they are so cheap and easy to set up and manage, why do so many people get big bills (not all of which were expected)?
The easy answer is; because they provisioned a lot of servers. And there is probably some truth to this. The more servers you provision, the larger your bill will become. But another reason is because of misunderstanding of costs!
At this point, you should be reminded that there are multiple ways of provisioning Amazon EC2 servers. You can use reserved instances, in which you effectively pay for a discount by provisioning a server for 1-3 years, usually with an upfront cost.
You can provision spot instances, where you bid for spare server capacity and effectively use the server until the price of the server rises above your maximum bid price.
And then there are EC2 servers on-demand, which is a common way for developers to spin up new servers. In effect, you pay for on-demand servers by the hour for the time they are switched on. (Notice you pay by the time they are switched on, not for the time they are actually used – this catches some people out).
EC2 Costs Made Easy
Each of these three ways to provision EC2 servers become a little more complex when it comes to actually spinning the servers up, and that’s because there are different factors that need to be considered, each factor can then alter the cost of provisioning the servers.
The first factor to consider is the server platform. By this, we mean what operating system or platform do you need the server to run. With AWS you can provision servers for:
- Windows with SQL Standard
- Windows with SQL Web
- Windows with SQL Enterprise
Each of these platforms will cost different amounts in conjunction with the rest of the server set-up.
The prices for EC2 servers vary across regions and a Linux EC2 server might cost more in US West than US East. In some cases you might be able to be flexible with the region but you might also have to stick to certain regions based on compliance and regulations.
For example, in Europe, there are rules to say European data should be kept on servers based in Europe.
Type of Server
Type of server is very important, as it needs to be set up correctly based on what the server will be used for. The different types of EC2 server that can be provisioned are:
- General Purpose
- Compute Optimised
- GPU Instances
- Memory Optimised
- Storage Optimised
Each of these types of server are broken down further into different specifications and then different sizes.
These different types of servers cost different amounts but you may be limited to what you can spin up based on the type of work being carried out and what you need the EC2 servers for.
Size of Server
Whilst the type of server might not be very flexible depending on the brief, the size of the server(s) might be slightly more flexible and again, is another cost factor. The sizing of different types of servers varies, for example, you could provision anything from a nano general purpose server to an 8xlarge compute optimised server. All of which will change the cost of what you are provisioning.
Bringing the Costs Together
Based on these factors, the price of provisioning servers will vary. When it comes to provisioning the servers, you need to know exactly what you’re looking for so you can pick the best option for you or your business.
This will then influence the cost and you can be sure to understand why your AWS bill is what it is. Where this sometimes becomes a problem is when there is miscommunication between the finance people paying for the servers and the developers who provision the servers.
If you are one of those finance people, for every server provisioned, find out exactly what the set up was so you can budget appropriately for it.
You can see the full AWS EC2 pricing list here.