There has been a lot of discussion on HN about dedicated hosting at Hetzner vs Amazon, and while they offer different pros and cons, Amazon appears to be a lot more expensive for comparable or even worse specs. Here's a comparison of two servers that have roughly comparable specs, Amazon High-Memory Double Extra Large and Hetzner ex8s:
cpu:
hetzner: Intel Xeon E3-1275 (4 physical cores)
ec2: 4 virtual cores (13 "ecus" where each ecu is ~ 2007 xeon core)
ram:
hetzner: 32 GB ECC
ec2: 34 GB (previous commenters have speculated that it's non-ecc because Amazon only mentions otherwise for compute units)
disk:
hetnzer: customizable, cheapest is 3TB disk or 120 GB SSD for 15 euros/month
ec2: 850 GB (ephermeral)
network:
hetzner: 100 Mbit (incoming free, 10TB outgoing free, 7 euros/TB after)
ec2: unknown speed (incoming free, $0.12/GB outgoing, $120/TB)
price:
hetzner: ~$265 for first month, $115 thereafter (includes setup fee, excludes VAT, after euro to usd conversion,
includes cheapest hd option)
ec2: $648/month
There are a lot of other factors like the additional services amazon provides, failover, scaling, bandwidth quality, US ping times, reserved instance pricing, etc. It's not a straightforward comparison, but I would argue that for many users hetzner is the much faster and cheaper option.
Looking at it this way, the price difference does look staggering. And I am happy that Hetzner kind of dedicated hosting services will keep EC2 kind of cloud hosting services honest.
We moved from a dedicated service to EC2 in 2010. At the time got some 30/40% drop in the hosting cost for the same traffic. As apart from marginally less hosting price, it also allowed us to start some instances in the day time and shut them in the night. So hourly billing is a plus.
Which also allows me to not shy away from experimenting before use. For example, on moving time we were on 32 bit and were running only small instances.
Now we have built 64 bit images which allows running of anything we like from small to extra-large. So for example at present we have 2 mediums and 1 small running in the day time. And just 1 medium and 1 small running in the night time.
And for some time in between tried it out with just 1 large and 1 small. I always need a small one. As there are lots of scripts which keep doing health checks etc. on each other, and can restart the other, on some conditions. So 2 instances are needed for reasons.
So you have to factor in these kind of reasons too. The dynamism it offers is a big reason (and need for some) to stay there when the other alternative is dedicated.
Sincere question: As I would like to be aware of some other good options. Does some other companies like RackSpace offer as much control as EC2 does?
EC2 can be cost effective if your traffic throughout the day spikes A LOT.
As for the experimenting part, you could build yourself your own VM cluster. There are a lot of prepackaged solutions such as oVirt which come with the full administration suite and some even come with the preconfigured OS. It really isn't very complicated and you get predictable performance on modern hardware.
Not sure if you need a "clone" for that. I'm running FreeBSD 9.0 with ZFS on Hetzner. I can do a ZFS snapshot, apply changes, test, and then either commit the changes or rollback to the snapshot.
Reserved instance pricing brings the monthly price down, but for me it's not making ec2 look more appealing. The 3 year price is still 2.5 times the hetzner monthly price after initial setup fees, you lose the ability to autoscale this box, and you are locked-in for 3 years. I would argue a Hetzner box is more like ec2 on demand than reserved because it can be canceled at the end of any month. You can't spin it down immediately and stop paying, but you are definitely not locked in.
> I would argue a Hetzner box is more like ec2 on demand than reserved because it can be canceled at the end of any month.
Don't agree with this, unless there is hourly billing. As if you just want to try out some thing, say a large instance instead of medium, to just see how it changes something, won't be possible here.
In fact we ourselves, have not been able to go for a reserved instance yet. Although have been thinking about it for an year or so. As there is always a likeliness of going to a bigger configuration in the near future (small->medium or medium->large etc.). So you are not sure if reserving is a good idea.
So you settle for the gains of the on-demand e.g. having more instances in the day
Reserved instances are not tied to a specific machine. If you buy say 5 reserved instances of a specific server type, you have a pool of servers that can run at a discount. IE if you decide your DB needs to go on a bigger box you can apply the reserved instance discount to some of your application servers or whatever.
Not a big deal if you are from the US but if you are from Australia for example then you wouldn't be able to take advantage of a Sydney availability zone if it become available (as it is rumored).
Yes, they are tied to a availability zone. Another thing I found confusing them is the choice of platform e.g. there is Linux and Linux VPC, after some searching I figured I should just choose Linux.
An Hetzner box is still ~4 times faster despite being so much cheaper.
Both the c1.large and m1.xlarge are slower than a decent 9-10 year old server costing less than $100/mo. The same server can be purchased for less than $200 on eBay!
I first heard about Hetzner when your blog post was submitted to HN. While some HN commenters claimed the title was linkbait, I think it's legitimate (though biased). Amazon can charge what they want, and you can call them out if there are significant performance/price discrepancies.
Actually you didn't even pick the best benchmark. Almost all dedicated servers support AES-NI which can make a staggering difference to your site's SSL performance. This is not available to EC2 AFAIK.
It should be noted that the AES-NI TLS speedup only occurs if you are using AES. If you are using RC4 (Google and Facebook use this), you won't benefit from the new cpu instruction. Here's another useful TLS benchmark I came across:
The single biggest obstacle when using aws is EBS. It offers sub par and unpredictable io, making it near impossible to operate a traditional SQL DB at any significant load.
This is the problem that pushed us to explore mongodb two years ago, and i believe this is a major driver for noSQL adoption in startups.
I don't really know, thanks for pointing out, I'll google that. I thought it would be wiser to search for a professional to do this. I can maintain my own VPS, but managing a virtualization box seems to be a complete different beast.
I thought it was well known that Amazon is very expensive compared to ANY dedicated hosting provider.
But that's not the point of AWS. The point is that you get a PLATFORM as a service. Not just a box. You get an enterprise class queuing, workflow, load balancing, DNS etc all in the one place. Not to mention it's unrivalled auto scaling features.
These are not magic features. You still have to make your app scale. And once you did it, it works as well on dedicated servers.
Dedicated servers come with dedicated disks or SSDs, memory, CPUs, network cards.
Decent dedicated hosting providers deliver new servers in a few hours. And they too provide load balancing, dns, filers, backups, elastic ips, etc.
The only difference between AWS or a decent dedicated servers provider is the time it takes to put a new servers online. Minutes with AWS, hours with dedicated servers.
Considering that AWS prices can easily be twice the price of dedicated servers, renting a few spare dedicated servers is still cheaper than AWS, and delays are even shorter.
Dedicated providers don't provide SQS, SWF, S3, SimpleDB, RDS, DynamoDB, EMR, Search. Which for me anyway are essential as they are enterprise class, very cheap, managed, scalable solutions.
The best combination is a dedicated server for the app server that is close to Amazon.
If Bezos loosened up control, there could be an EXCELLENT secondary market of colocation space directly connected to AWS in all zones. The Mall next to the Mall, still makes the Mall the main attraction. Give me 10GE, infiniband, etc out the back door of an AWS data center and I will give u the world!
I think most people realize aws charges a premium for the ability to scale up and down, but at least for me, the magnitude of the price difference was nevertheless surprising. Some of the services Amazon offers will certainly be worth the premium for a subset of customers. However, the price difference makes other features like auto scaling moot because you can overprovision servers at Hetzner and still have a much lower price.
Anyone that is running servers for a large percentage of the time should be using reserved instances that are priced much lower than the on demand prices shown here. For example for a small instance that runs constantly, using a heavy utilization reserved instance would cost $335.16 for a year compared to $700.80 with on demand pricing.
I know what you mean. I only realised AFTER I had put in the all the effort to deploy my apps.
Actually one of the best ways to go is to find dedicated hosting providers in the same data center. For example Server Beach is faster at accessing Amazon SQS than Amazon EC2 is.
Dear person that works at Amazon Web Services: please just build this for the community. ec2instances.info is a much better resource than the existing pricing page and the calculator is entirely too much for many uses/discussions.
Hi! Since we get to know that you are from Amazon and listening, will tell you about another situation, which will help me a great deal.
I don't think as of now, I can reserve a smaller configuration and if my need changes can just switch to a bigger reserved configuration. And the billing accommodates for the reserved price which I already paid for the smaller one.
(As a real example, I have medium running all the time, but don't reserve it thinking I may have to move to a large one in the near future. )
Or can I already do this, and it is my bad that I have not noticed? If yes, then please point me to the information about that.
If not, then can you take it as a feature request from me please.
Dear downvoter, I realized it was a bit off topic, that's why you sense a polite explanation in my first sentence itself.
And I am not completely off topic, as its partly an interface issue. I am not 100% sure, if such a thing is not possible. Also BTW, if you have asked a question in EC2 forums, then you will know that the answer often is late enough such that, by the time its there you would have already solved your problem.
I was starting some instances this morning, and it's shocking how poorly Amazon describes what they offer. I had three browser windows and a calculator open just to figure out which instances are being offered, and at which relative prices. You'd think they would spend more time on this stuff.
I think it would make sense to merge the pricing and instance type sections (in a similar way to the linked page), and to also have all of that information in the new instance flow of the management console.
It would also be great if you could show estimated monthly/weekly pricing for each instance type, with comparisons for reserved and on demand versions.
In many ways, I love AWS. But the web page is possibly the least user-friendly page I visit with any frequency.
Even after I am signed into AWS, there are "Sign Up Now" buttons everywhere. So, it's confusing whether or not I am signed in.
I expect the big icon in the upper left to bring me to a useful "home page" like the AWS management console. Instead it brings me to a page that is just a big advertisement (for services I already use.)
I just want to get to my EC2 management console quickly, so I sometimes click on the link that says "Amazon Elastic Compute Cloud (EC2)."
That brings me to an advertisement page for EC2... again, this is after I'm already signed in and just trying to use the service. That EC2 specific advertising page still doesn't have a direct link to the EC2 management console.
To do anything useful, I need to click on AWS Management Console which only becomes visible after I mouse over "My Account/Console." But the "My Account" link, the only thing on the whole page that I ever want, is in a smaller font than almost everything else on the page.
Eventually, I wrote my own little AWS interface with python & boto just to avoid having to kludge through the web page.
EDIT: I apologize if this is off the topic of how to present pricing. I got excited when I saw an AWS engineer asking "what can we do better"
I've been using aws for awhile so I've gotten used to the sign-in part and never have trouble getting to the console.
Where I get lost is trying to find the reference documentation as opposed to the newbie guides or the architecture overviews. Scenarios similar to: "crap it's been a year and a half since I've bundled a new AMI and I forgot the exact steps" where I need to look up some detail of the API. That's where I wind up going to google to search the amazon site for the docs I need.
As long as you're collecting feedback, please have the console default to an interesting page. 98% of the time I'm opening it, I go to look at the instances tab. Then I experience a brief moment of panic when it shows I have no instances, because it shows some region other than the one with my servers.
Not the person you asked the question to but, if I may, I would suggest a 2 (or maybe 3) step drilldown.
A high level, more condensed, summary-type of chart (kind of like the one seen in the original post) that would give a clear overview of the differences between the various types of instances (OnDemand, Reserved, Spot).
And then a way to drill down into instance types and see the details (AZ, Linux vs Windows, etc...)
My issues with the current layout are:
- all the text blocks in between charts that are not really informative after you've read them once.
- The fact that the instance types, data transfer, EBS, etc... are all listed at the same logical level when I make a clear distinction between, on the one hand, all the different instance types and, on the other hand, everything that pertains to an instance (logically underneath an instance).
Not entirely related to the OP, but I would love to see ssh://<public DNS name> links on the EC2 instance page. It sounds trivial, but being able to click these links to login to an instance (instead of copy hostname, open terminal, paste hostname) would save me a lot of time each day.
I always tell people that EC2 generally costs more than a VPS. They don't believe me until they actually do the calculation. You have to factor in things like bandwidth and storage as well (which is usually included for services like linode or slicehost).
Remember that it's not fair to compare "VPS with 1 TB of free bandwidth" against "EC2 instance plus 1 TB of bandwidth" unless you're actually going to be using 1 TB of bandwidth.
Basically this is true and this leads to the conclusion that instance types like (micro, small and medium) are quite underpowered compared to "today's" usage patterns right?
My experience with ec2 is that you get significantly better performance for the price. An ec2 micro is possible to run a webapp with moderate traffic from, a comparably prices VPS migt have similar stated specs but they're all so oversold they can't really be used for anything worthwhile.
A sheet I made long time back and takes into account reserved instances as well. Making it public for you guys to use it. It is just for us-east for now:
Micros are pretty fantastic for non-commercial use. If I'm testing some stuff out at home and need a couple different machines I can either fire up some VMs.. but I'm on a netbook.. or I can almost instantly just pull up a couple EC2 micro instances for the amount of money I find under the couch cushion next to me.
I would never dream of trying to build anything meant to stick around and make me money on one though of course.
I made a similar spreadsheet when I was trying to compare Amazon RDS with a dedicated server from Rackspace. It's a little tricky due to different services having different pricing methods - some of which based on the amount of bandwidth you use. But, this is my attempt to neutralize the differences to compare prices.
would it be a stretch to pull in Rackspace, and any other large EC2-like providers? I think having one of these tables as all in one during a meeting is going to get some managers to reconsider their positions.
One issue I've had with EC2 is frankly the fact that you have less freedom. On either a VPS or a dedicated server you normally have complete control over the firewall (be-it either a hardware firewall or software).
On EC2 you have no way of putting yourself in the DMZ, and the "Security Groups" only allow you to open up UDP or TCP forwarding. You cannot configure any other type of protocol/traffic and cannot bypass it entirely.
Does this fit your needs ?
wget -q -O - http://www.ec2instances.info/ | perl -nl0e 'print "\n" if /<.tr>/;print "$1;" if /<td.>(.)<.td>/ or /<th.>(.)<.th>/'
edit: formatting, spelling