Carl Mercier's blog

me = entrepreneur + hacker;

EC2 is basically one big rip-off

by Carl Mercier

First of all, let me set this straight: I LOVE Amazon Web Services. I’ve been using EC2 for about 6 years and Defensio has always been entirely running on AWS. The flexibility is unparalleled and the variety of services such as EC2, ELB, EBS, S3 and CloudFront is a joy to use.

However, there’s a problem with EC2. A big one: performance. Bang for your buck. My friend James Golick (@jamesgolick) has often publicly talked about how crappy performance was on EC2, both in terms of CPU and IO. I knew he was right, but didn’t know how right he was really.

I recently found out about Joe’s Data Center, a low-cost dedicated hosting provider so I decided to give them a shot for a pet project I’m working on. They certainly don’t have the infrastructure of Amazon, but that’s a trade-off I can live with given the scope of my project. They have great reviews all over the interwebs so that made me feel at ease.

I leased one of the cheapest machines they are offering: a dual processor AMD Opteron SledgeHammer 2.2Ghz for $55/mo. I went crazy and added 2GB of Ram for an extra $10/mo. Total damage: $65. Roughly the same price as a small instance on EC2 (m1.small). The SledgeHammer is by today’s standards a pretty old and crappy CPU, but I figured it would be plenty for my needs.

I decided to run some benchmarks against an m1.small to see how “bad” the SledgeHammer really was. I stopped paying attention to CPUs the minute I bought my first Mac 6 or 7 years ago. All these fancy CPU names don’t mean much to me anymore.

After some Googling, I settled on UnixBench for my benchmarks. I didn’t need very precise or scientific numbers, just a ballpark to see what I was getting at Joe’s.

I WAS BLOWN AWAY!!! In a nutshell, my dedicated server is 10 times faster than an m1.small instance. TEN TIMES!!! For the same price! IO is also about 5 times faster  than EC2′s local storage. And as a bonus, I get 4GB of Ram instead of just 1.7GB.

After such a surprise, I decided to benchmark more expensive EC2 instance types to see how well my new best friend fares against my olf virtual friends. The results were equally surprising: my dedicated box is faster than a m1.large ($250/mo), faster than a m1.xlarge ($500/mo) and roughly as fast as a High CPU c1.xlarge ($500/mo). More explicitly, the c1.xlarge did ~50% better when running UnixBench with 8 threads, but the Opteron box is 50% faster when single threaded. Also, to get IO roughly equivalent to my dedicated box on EC2, you have to shell out $500/mo for a c1.xlarge. Even the m1.xlarge doesn’t cut it.

EDIT: Since publishing this article, I rented a EX 4S at Hetzner. It is effectively 58 times faster than an m1.small and has 32 GB of Ram. IO throughput is 29 times higher. All this for just $13 more a month.

Here’s a chart of my results (UnixBench index):

m1.small m1.large m1.xlarge c1.xlarge Joe’s Dedicated Hetzner EX 4S
Monthly Price  $65.00  $250.00  $500.00  $500.00  $65.00  $78.00
Architecture (Ubuntu)  32-bit  64-bit  64-bit  64-bit  64-bit  64-bit
CPUs/Cores 1 2 4 8 2 8
RAM (GB) 1.7 7.5 15 7 4 32
Index (1 Thread) 116 357.5 438.1 494.4 777.6 1803.3
Index (2 Threads) 571.5 1210.5
Index (4 Threads) 1070.5
Index (8 Threads) 1746.3 6696.7

 

The raw numbers (including IO) can be found here: https://gist.github.com/1566734.

I’ll let you draw your own conclusions, but to me, it’s clear that Amazon needs to improve its performance. The bang-for-your-buck ratio of EC2 is completely out of whack.

EDIT: Title was initially “EC2 is basically one big scam”, which was a bad choice of word. I changed to word scam to rip-off, which is more appropriate I believe.

EDIT 2: Hetzner.de has a new amazing machine, the EX 4S (Intel Core i7 2600, 32 GB, 3TB RAID 1). It’s just ~$78/month so I decided to benchmark it as well. HOLY FUCKING SHIT. Check this out: Hetzner EX 4S Benchmarks. I added the numbers in the table above for comparison. Looks like we have a winner!

Published: January 5, 2012
Filed Under: Software development, Technology
Tags: cloud computing : dedicated : ec2 : hosting

50 Responses to “EC2 is basically one big rip-off”

  1. spacer Julien Desrosiers says:
    January 5, 2012 at 3:41 pm

    L’offre de Joe’s datacenter semble intéressante. Je vais définitivement checker ça si Linode vient à être trop peu pour mes besoins.

    Reply
  2. spacer Carl Mercier says:
    January 5, 2012 at 3:43 pm

    Julien: Linode performe beaucoup mieux qu’EC2 dans tous les benchmarks que j’ai vu. C’est domage qu’EC2 soit si lent parce que à part ça, c’est la plateforme idéale à mon avis!

    Reply
  3. spacer heri says:
    January 6, 2012 at 12:19 am

    you’re not buying performance with EC2, you’re buying the flexibility, that’s something which is clear.

    what also clear is that they cannot never be as fast as a dedicated server, unless there is a breakthrough in both virtualization technology and CPU architecture

    Reply
  4. spacer Carl Mercier says:
    January 6, 2012 at 12:27 am

    EC2 basically costs $500/mo per instance for the equivalent of a 9 year old CPU. Such a computer could probably be purchased for about $100-$200 on eBay. Regardless how flexible it is, something just doesn’t make sense.

    EDIT: Actually, you can buy the same server I’m leasing for $40 on eBay! bit.ly/zZoAq8

    Reply
  5. spacer Steven says:
    January 6, 2012 at 5:00 am

    I think its pretty obvious to anyone that has any experience with EC2, or most of AWS, that you’re not paying for (or going to get) the best bang for your buck. Hands down price wise its one of the most expensive. This should be evident to anyone who has worked with EC2 for any given amount of time. What you pay for is flexibility, scale, and all the feature set and configuration you’re able to play with. Price and performance “per instance” clearly is a deadweight argument. Unless you aim to do some serious scaling and require actual usage of the “cloud”, most VPS or dedicated servers will win price/performance any day of the week.

    Reply
  6. spacer Olivier says:
    January 8, 2012 at 7:09 pm

    Pour du hosting, je suis très d’accord.

    Par contre, pour le traitement de données, c’est difficile à battre comme offre. Au travail, on utilise plusieurs dizaines d’instances xlarge en hadoop pour traiter nos données durant 7-8 heures par semaine. Le spot pricing nous permet de sauver également beaucoup d’argent (habituellement le 1/3 du prix).

    Reply
  7. spacer Dave Van den Eynde says:
    January 9, 2012 at 7:40 am

    Yeah I don’t think that eBay server you mention has the same amount of RAM as that m1.xlarge you’re referring to.

    But hey, if you honestly believe that you’re better off with a dedicated machine, then I’m not going to stop you.

    Reply
  8. spacer K.Kong says:
    January 9, 2012 at 7:42 am

    Is it any surprise? The moment you go VM with current technology, you get a 1/10 penalty.

    Reply
    • spacer Carl Mercier says:
      January 9, 2012 at 9:14 am

      Virtualization incurs very little performance penalty. The results I saw is definitely NOT caused by the virtualization overhead.

      Reply
      • spacer Robb Shecter says:
        January 9, 2012 at 6:24 pm

        That may or may not be true. It’d be great to see you run the same comparison with an online VM service such as Linode.

        Reply
        • spacer Carl Mercier says:
          January 9, 2012 at 9:09 pm

          This is actually a very well known fact of life. Many companies virtualize their own co-located servers for flexibility. If there was a 90% performance penalty, nobody would do it.

          Reply
  9. spacer Yasen Georgiev says:
    January 9, 2012 at 8:03 am

    Hi Carl,

    The specs that Joe’s Datacenter is providing for this money is nothing. Check the Hetzner smallest dedicated server offer for EUR 49 (~ $62):
    www.hetzner.de/en/hosting/produkte_rootserver/ex4

    Basically the specs are:

    Intel® Core™ i7-2600 Quadcore
    incl. Hyper-Threading Technology
    RAM16 GB DDR3 RAM
    Hard disks 2 x 3 TB SATA 6 Gb/s HDD
    7200 rpm (Software-RAID 1)
    1 GBit OnBoard connected at 100 MBit
    Backup Space100 GB
    TrafficUnlimited

    What do you think spacer

    Regards,
    Yas

    Reply
    • spacer Carl Mercier says:
      January 9, 2012 at 9:10 am

      Yeah I know about Hetzner, but they’re in Europe unfortunately…

      Reply
  10. spacer ash says:
    January 9, 2012 at 8:58 am

    Yeah you’re comparing an _elastic_ compute instance to running a _single_ compute instance. Your argument is fine, but it only applies to anyone who is silly enough to pay for an elastic computing instance when all they require is a simple server. If you don’t have the requirements for scale-out and/or enormous computational problems, then why would you use EC2 at all?

    Reply
    • spacer Carl Mercier says:
      January 9, 2012 at 9:11 am

      That’s what most startups do on EC2.

      Reply
    • spacer Tom says:
      January 9, 2012 at 11:23 am

      ash, that is true. But at what cost? If you have access to elastic computing that cost 10x are you truly getting the benefits of being able to scale efficiently? Would not an option be to simple expand your current architecture 10x thereby getting 10 times the theoretical performance of the single instance?

      With these types of numbers being bantered about the scope of elasticity required would need to be quite high, no?

      Reply
      • spacer Carl Mercier says:
        January 9, 2012 at 11:37 am

        Finally someone who gets my point!

        And keep it mind that the 10x performance improvement is compared to very old and crappy hardware. My CPU at Joe’s is 9 years old. For not much more money you can get 50x speed improvement.

        This is not only way cheaper than 50 m1.small instances, but also much easier to manage.

        Reply
        • spacer Robb Shecter says:
          January 9, 2012 at 6:26 pm

          How is it easier to manage? What happens if the computer at Joe’s locks up? Or if the hardware goes bad?

          Reply
          • spacer Carl Mercier says:
            January 9, 2012 at 9:10 pm

            Locks up? Reboot it. Hardware goes bad? They change it. These problems also happen on virtual machines.

            Managing 1 box instead of 10 is 10 times less work.

  11. spacer Jeff says:
    January 9, 2012 at 9:58 am

    And when your dedicated server goes down, then what? Performance only goes so far. High availability is a hard problem that many are willing to pay a premium to EC2 for.

    Reply
    • spacer Carl Mercier says:
      January 9, 2012 at 12:18 pm

      An EC2 instance is actually more likely to go down than a dedicated server. Unless you have many EC2 instances, it’s not more highly available than a dedicated box. So yeah, you need redundancy in both scenarios.

      Reply
  12. spacer Peter says:
    January 9, 2012 at 11:42 am

    EC2 is the easier choice but not the better one.

    Even the argument about flexibility is a nonsense.

    There are hundreds of hosting companies that were in the hosting business long before Amazon.

    Amazon is new to this business and primarily relies on it’s name and the so called cloud marketing hype to to bring what pretty much every big hosting company had and has in it’s datacenter.

    Amazon spent some time to build web-based apps that bridge gap between virtualization and some management tools so that the customer can manage VM via the browser – and that’s it…

    I used to look at them as potential hosting (cloud) vendor but as Carl pointed out paying for under-performing VMs is not fun! Not at all!

    Reply
  13. spacer Carl Mercier says:
    January 9, 2012 at 11:46 am

    There’s a huge spike in traffic on this article. My stats seem to be indicating that people are being sent here from their email client. Was this feature in some sort of newsletter or mailing list? Which one? I’m curious!

    Reply