Amazon EC2/S3 Versus VPS Hosting
Hosting important web infrastructure, such as a website, in 'the cloud' is smart. By using a hosting providers such as Amazon or a VPS provider you are ensuring that your system is monitored and kept online 24 hours a day. This is a cheaper and easier option than hosting things yourself.
Two popular options for hosting web infrastructure include Amazon EC2/S3 services and VPS hosting. Some of the Internet's biggest websites use both. There are some important differences to know when choosing which of these options is better for you.
Amazon Versus VPS Costs
One of the first things anyone looks at when considering online hosting is cost. Amazon and VPS hosts bill their customers in very different ways.
When you pay for a VPS you pay a per-hour fee, with a monthly maximum. Your bill is not going to go over this maximum monthly amount no matter how much CPU or memory you use. If you need a fixed hosting cost, a VPS host is a good idea. With VPS hosting you decide how much you will pay at the end of every month.
Amazon bills on a pay-as-you-go basis. This means that you will get charged a different amount every month, depending on how many resources you used. The total CPU, memory, hard drive space, etc. is all calculated and your bill is based on this usage.
When you host with Amazon, it is your users who decide how much you will have to pay at the end of the month. The more users you have, the more you will pay.
There are horror stories of websites that got to the front page of reddit. The website owners had thousands of dollars of unexpected Amazon charges at the end of the month due to the spike in traffic.
Note that some VPS providers do charge for bandwidth overages. Others do not charge anything for overages. Amazon charges not just got bandwidth, but for everything you use.
Flexibility and Reliability
Because Amazon charges you in a pay-as-you-go manner, they are more than happy to provide you with more power. The more resources you use, the higher your bill. So Amazon makes it super easy to use more resources. There is no need for you to do anything. If your website becomes more popular, Amazon will automatically provide you with more resources.
A VPS host has limits on how much resources you can use. A VPS comes with a set amount of RAM and you cannot use more than that amount. Most VPS hosts have a one-click option where you are able to easily upgrade your plan to have more resources. Unlike Amazon, this requires your intervention.
Amazon is a good choice for websites that see a variety of traffic. One week there is a lot of traffic and then there is no traffic for the rest of the month. If this is the case, then Amazon will charge you for using the large amount of resources that one week, but the other weeks you will be charged less. A VPS host charges you the same amount no matter how many resources you use. You can have a VPS sitting there being idle all month and you will still get charged the same amount.
Amazon's EC2 and S3 are blackbox systems. The code for how they are setup and how they exist is a secret. You do not know how things operate.
A VPS is a virtual privet server and acts like a regular server. You can use a VPS for anything that you can use a real server for. A VPS lets you do whatever you want. Amazon has limits.
Generally speaking, a VPS requires a bit more knowledge. You have to maintain the security and updates of your server. Amazon does a lot of this for you, but limits the things you can do. For some services you cannot even perform a simple reboot.
In my experience VPS providers offer faster support. For many Amazon services you must pay an extra fee for support. I've seen quotes of $50 per month for this extra support. Amazon does not have a phone number you can call, instead you fill out a form and they call you back.
VPS hosts have ticket systems where you can fill out a form but they also have phone numbers you can call and talk to an expert.
Get a VPS if you want:
- Freedom to do whatever you want with your machine
- A fixed cost
- Better tech support
Try Amazon if you want:
- To be able to handle large surges of traffic
- Pay only for what you use
- Easier management