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.
edit: formatting, spelling