top | item 6430753

Why we moved away from AWS

176 points| karli | 12 years ago |blippex.github.io

99 comments

order

eterm|12 years ago

EC2 was designed for elastic computing. On demand high computation (low memory) that are elastic.

With that in mind, pure EC2 is a terrible choice for general web application hosting.

If using the complete AWS set (S3, simpleDB, etc) then it makes more sense as stuff like db hosting can be pushed out to their services designed for it, but if you're gonna fire up a windows box, stick SQL server on there and use it as a general web app hosting environment then it is a terrible choice.

Unfortunately, it's a choice that still appears to be easy for management to justify: It doesn't require a server admin to use, it doesn't require mirroring or backups because obviously amazon EBS volumes can't die because they're in the cloud. The extra cost and lower performance is obviously just an Ok side effect of these benefits.

(Yes, I'm being sarcastic here, but it's all arguments I've seen made.)

InclinedPlane|12 years ago

I know this is a tangent, but I think it's a worthwhile one to mention that backups and redundancy are not the same thing. There have been a few high profile ventures (including businesses) that had to shut down because they lost all of their redundant data in some way. Redundancy doesn't save you from malicious people who've gained access to your systems. It doesn't save you from errors (oops, dropped the wrong DB, thankfully it's .... replicated virtually instantly across all RAID volumes and clustered DB instances). It doesn't save you from the one building where all your data is in burning down or getting flooded. It doesn't save you from software bugs (either yours, in firmware, in the kernel, in the DB, etc.) from corrupting data.

karli|12 years ago

As i said in the blogpost, we still love AWS, its awesome, we used it for many other projects and S3 is great in combination with EC2, but in some cases it makes sense to think about it, maybe it saves you something!

As i said, we really miss the simplicity of AWS, one mouse click and you have a loadbalancer, ec.

PS: trust me, AWS EBS volume can die, and this is a pain! :)

corresation|12 years ago

pure EC2 is a terrible choice for general web application hosting

"Terrible" is seriously overstating it. There are a lot of advantages to AWS (I understand you said "pure", but that really makes no sense in the context of AWS) that can justify the price premium -- ELB, elastic IPs, the ability to spit out AMI images (and machines from them) at will, the private networks, the firewall, etc. The fantastic network capacity (I am always wary of services like OVH that offer "unlimited" anything, because it is always limited, and unlimited means that your peers will be saturating switches because it's "free").

There are a tremendous number of flexibility reasons why EC2 comes at a premium, and it is an easy justification in many shops. Even if you aren't using ELB today, and won't have to spin out machines, etc, that flexibility has significant value.

I say this having machines at AWS, Digital Ocean and OVH. OVH is very, very bare bones, and you'd better have an escape hatch because the simplest configuration error can leave your machine incapacitated and beyond reach (adding the KVM option is usuriously expensive -- like $350 per month per machine).

mechanical_fish|12 years ago

The $750/month savings cited here is not real†, but for the sake of argument let's pretend it is.

Is $750/month a significant amount of money for the company? In the USA, this is perhaps the cost of one engineer-day, and one could raise a year's worth of this money by successfully applying for a single additional credit card. (Not that I recommend bootstrapping with credit cards. But it has been done.)

Of course, it may be the case that a company could improve customer satisfaction, and therefore revenue, by double-digits by improving performance on optimized hardware. But if this is the case, where is the discussion of that? Where is the data: A/B testing, customer satisfaction, churn rate, monthly revenue? They should be front and center.

† Without getting into the reduced redundancy, the additional complexity of hosting multiple unrelated services on each instance, the "additional maintenance" referred to in the post, the lack of server capacity to cover emergencies and staging and load testing and continuous integration, and the risk involved in switching infrastructure out from under a working business-critical application... any estimate which doesn't include the cost of engineering time is wrong. All changes have engineering costs. Just talking about this idea is costing engineering time.

consultant23522|12 years ago

Yes, $750 is about one engineer-day. Someone is now going to be spending at least a full day per month managing your new hardware, running security patches, etc. Even if your sysadmin guy is cheaper than an "engineer" it's not going to be cheap.

astral303|12 years ago

I agree. This is an optimization. For many startups, it's not worth prematurely optimizing hosting costs, especially when figuring out the MVP/establishing market/growing customer base.

laxk|12 years ago

$750 x 21d x 12m = $189K

Do you think $189K per year is an average salary? It is not true.

notacoward|12 years ago

AWS is just not very cost-effective in terms of performance per dollar, especially when it comes to storage performance (my own specialty). It only appears that they are because of the hourly billing and a human inability to compare quantities across nearly three orders of magnitude (hours vs. months) intuitively. Now that there are hundreds of vendors with hourly billing, as there have been for a while, it's easy to see how much they suck in terms of cycles, packets, or disk writes per dollar. They still have the most advanced feature set, they have by far the best public-cloud network I've used (out of nearly twenty), there are still good reasons to use them for some things, but don't go there to reduce permanent-infrastructure costs.

Spooky23|12 years ago

I just completed a project at an organization-owned datacenter where we wasted 4 months on needless BS to deploy about 12 servers.

My team's time is easily worth $500-600/hr, so we easily wasted $300k. So the fact that my internal datacenter provider can give me a VM that costs 20% of what EC2 charges or disk that is more performant at a similar cost is interesting trivia, but isn't saving money.

samspenc|12 years ago

Agreed, the features/cost tradeoff is why we're still with AWS!

hbbio|12 years ago

Just so you know, OVH has just _halted_ its dedicated server offer.

TL;DR from today's French blog post:

Our offers were so competitive that too many customers wanted them, and we're loosing money if we don't keep customers for at least 2 years. Sadly, they migrate to new offers before that. We're halting dedicated servers until we figure out what to do.

[edit] Link: http://www.ovh.com/fr/a1186.pourquoi_160sold_out160

eterm|12 years ago

Discussion here: https://news.ycombinator.com/item?id=6399569

In summary: Their main problem was no "installation fee" meaning the barrier to hopping to a newer server every couple of years just wasn't there. If their new offerings were priced competitively to attract new customers they would also be priced similar to how older hardware was priced when sold a couple of years ago, so anyone on the older hardware would jump to new boxes.

totallymike|12 years ago

Thanks for the update. Would you mind linking to the article?

leokun|12 years ago

If you move to Rackspace, stay away from DWS, the dallas datacenter. It's over-booked, the network has constant issues, vm's on the same host machine as you are able to cause your vm network issues, the list of problems never stops.

We recently switched to Azure from Rackspace, but we're still evaluating if it will work for us long term. Azure's issues are that you have to request number of core increases, and you can't capture an image of a vm without shutting it down. Also you can't just give your VM a regular ssh public key, you have to generate SSL like certs. Also weird is a lot of the documentation is only for the Windows side of things, even though you can get some of that stuff to work on linux and that you can do that by installing an SDK even though you might not be installing an application, just running your own stuff on a VM.

nemesisj|12 years ago

I'd stay away from Rackspace London as well. Horrible horrible experience.

1. Noisy neighbours impact you all the time

2. The staff are really poorly trained and don't know how to troubleshoot.

3. They're expensive.

4. Their control panels are really bad, constantly being updated and migrated, and are just a complete mess.

5. They've had several major network outages that have lasted for quite a long time (hours) that they blame on "upstream routing issues" despite supposedly having multiple redundant upstream carriers.

6. They'll randomly reboot your box without notice. If you open a ticket there's an almost certain chance they'll just reboot your box no matter how much you ask them not to.

7. The IO on the boxes is really bad.

8. They don't proactively monitor any of their servers, and their "new fancy" monitoring product only goes down to 5 minute resolution, so it's worse than Pingdom, for example.

Kequc|12 years ago

I too have had issues with connectivity with Rackspace. Also anecdotally I've heard that the main recommended solution by the article in the OP, hetzner, is one that crashed non stop for someone in the past.

You just can't beat AWS right now for reliability, feature set and speed. We started using them recently and they are a tiny bit more expensive. But it's the difference between fresh air and breathing carbon monoxide.

At least so far.

alanning|12 years ago

Just to add another data point, we've been using a 4GB cloud server in the Dallas datacenter for 9 months now and it has been solid. (Solid meaning works as expected, no outages/problems.)

Maybe we lucked out with who else is sharing the hardware.

thejosh|12 years ago

How many server(s) did you have with RS?

We only have 2 mid-sized virtual servers in DFW and things have been working flawlessly for us..

rb2k_|12 years ago

AWS isn't really a solution for people trying to run a "small" project on a fixed amount of servers 24/7.

It's great if you want to be able to:

- provision lots of machines without delays

- launch and terminate new instances to cover load spikes

- do geo-redundant failover (aka: a datacenter in Europe, Australia, the US, ...)

- have 'plug and play' components like load balancers (ELB), storage (S3), databases (RDS), queueing services, ...

- ...

Amazon provides a lot of things that cheaper solutions will have a hard time achieving (e.g. the backup space redundancy that OVH provides will probably be quite a bit less 'secure' than S3/Glacier).

That being said, these premium features are something that a project might simply not need. We run some of our jenkins build slaves on OVH. We don't need to launch new ones all that often and the bang for the buck makes them very much worth considering.

sxcurry|12 years ago

I'm running a small project on a fixed server 24/7 and AWS makes sense for me. Why? I'm a one man team supporting a research project. I have no ability to self host. I have no time to look around at a lot of options and trying to figure out all the details of every offering. I need a server that has good uptime and good performance. Most of all, telling my users that we're hosted on Amazon makes them feels secure - it isn't going anywhere. Believe me, for a certain class of users, this is important.

UK-AL|12 years ago

I would have thought build slaves would be a great fit for AWS, since you can boot them up as needed, and turn them off when not needed(Night).

krallin|12 years ago

For larger companies that usually don't rely on VPS providers and the like, AWS can still be a compelling offering for new ventures, as you don't have to commit resources (capital) to in-house infrastructure for a project that might not work out (as it's opex, not capex, just shut it down if it fails).

kyledrake|12 years ago

NeoCities is currently using OVH. We were using Hetzner but we ran into issues when our server was the victim of a DDoS attack, and Hetzner responded by null-routing our server's IP address for a few days. OVH has better DDoS mitigation strategies (supposedly), so that's why we're switching.

I've used AWS before in corporate work, and I have to say I was very unimpressed with it. The prices for what you get are exorbitantly high. I've heard people say "they are affordable for corporate standards", but my reaction to that is just that their previous hosts were even worse about it. Every hosting solution I have had other than AWS has been cheaper.

More importantly to me than price though is the knowledge. I really don't like that AWS is a "black box" of mystery meat. I don't know how most of the systems are implemented under the hood, which means I can't predict what the failure points are and what I'm implementing. The way I would compile capabilities of AWS systems together was through anecdotal information via blog posts. We would have servers fail and be given no explanation as to why. And many of the interfaces are proprietary, which means that moving to an alternative is not an option. Not to mention the APIs are not particularly stellar (a lot of XML). The only options for persistent storage are network drives and local disks that go away on shutdown, which is not a particularly good choice of options.

With OVH, I get a server. I know what a server is, how to back it up, and what its fail points are. If OVH does something I don't agree with, I can move to another company and have exactly the same environment.

I'm not saying AWS is useless (again, I've used it for corporate environments before), but it's hard to justify the high cost when you're on a budget, especially when you can't even determine if the tradeoff is worth it.

jakejake|12 years ago

My current startup is using AWS for everything and I have to admit I was eager to get my hands on it since it seems to me that familiarity with AWS will be a good thing for me personally and professionally.

I almost get a sense that people are signing up for AWS because, well I'm not positive about this, but it seems like its trendy. Possibly some startups don't realize AWS is just providing you with pre-installed systems that you can easily install yourself? I don't think it's a bad decision necessarily because depending on your size you may not want to devote any time to configuring servers. Maybe some people who have made that choice could set me straight?

My gut is telling me that, for my current situation, the main benefit of AWS - the automatic scaling - will be quite expensive that by the time we actually do need to scale. So we will be probably looking elsewhere for hosting at some point int the future. Much like the article suggests.

mrinterweb|12 years ago

What about OpenStack? OpenStack seems like the best of both worlds with being able to manage both your own hardware as well as burst to your OpenStack host's resources on demand. There are multiple OpenStack providers like Rackspace, HP, and many more. This means that if you don't like one provider, you can easily move to another OpenStack provider without being locked into 15 different AWS services. You may need to schlep your physical servers to a different datacenter, but that is still easier than decoupling your service from AWS.

From experience, I have seem that the price of performance on AWS is much higher than companies that buy their own hardware. Knowing what resources your service needs as a baseline can be helpful when picking which machines should be reserved instances, but still you may as well just buy your own hardware if you want the best perfomance/price.

bowlofpetunias|12 years ago

AWS is a great place to start if you're not yet sure what resources and scale you need. You can play with various solutions and easily scale up.

It makes developing so much more efficient when you don't have to make major choices up front, and can buy yourself some breathing room by throwing temporary resources at most performance issues while you review your architecture.

That either stabilizes to a point where you have an architecture that you can implement cheaper and more efficient using more traditional hosting solutions, or you come to a point where you really need AWS's flexibility.

One caveat though: don't make your architecture too dependent on AWS-specific services until you are 100% AWS is the right choice for the long term.

hashtree|12 years ago

Compared to custom colocated clouds, you scale, code, and build your stack completely differently. I could not do half of what I do under any PaaS/SaaS.

I avoid disk at all costs (nearly unattainable amounts of RAM on PaaS/SaaS), if disks are hit they must be SSDs, treat everything immutably, concurrent/distributed computing, assume hardware is plentiful (192+GB ECC, 24+ of new xeon cores, etc). I scale completely differently than most. They really get you on RAM, I can build whole servers for what it might cost for a month of PaaS/SaaS.

dkersten|12 years ago

I often hear that the best way to use AWS is to host your 24/7 stuff elsewhere and use AWS for the spikes. This makes a lot of sense, but I always wonder what the recommended (ie most cost-effective, especially in regards to bandwidth costs) place to host te 24/7 stuff? For example, moving a ton of data between EC2 and S3 is free (for bandwidth; ignoring requests costs), but moving 10TB out costs $0.12/GB which seems quite costly...

I guess the sweet spot is to use external hosting for your web apps and such and AWS for any large spike-prone batch processing: moving data into S3 is free (though obviously moving data out of wherever else you're hosting probably isn't), use EC2 to process it (possibly on spot instances!) and then move the results (which are much smaller than the raw data for a lot of use cases) back to the 24/7 hosts?

Though my question still remains: where do HNers recommend to host these servers knowing that AWS will be used to pick up the slack and handle irregular/unpredictable workloads?

eminh|12 years ago

I currently spend ~$2000 on Softlayer for six servers and use about 30TB of bandwidth. On AWS I would have paid more just for that bandwidth.

hashtree|12 years ago

And you can pay much less than half that via custom server builds and colocation. It is just a matter of how far down the chain you want to go, given your expertise and sensitivity to hardware costs.

himakara|12 years ago

Nice post. It is important to note that these tend to be cyclical. As start-ups go through various stages of their life cycle, PaaS/ IaaS providers update their offerings and technologies mature/ invented, the appeal may shift between these options. I think it makes it even more important to build your technology stack in a way that is:

1) easy to deploy, migrate and update (using standard deployment technologies) and 2) least dependent on a specific vendor (GAE ;)

manishsharan|12 years ago

OVH is not accepting any new orders. They claim to be sold out of all nearly all server types.

And that in a nutshell explains why AWS is a safer choice.

adventured|12 years ago

There are numerous other very good dedicated hosts that are alternatives to OVH. The pricing will be slightly higher, but OVH is dirt cheap to begin with compared to AWS. 1tb of transfer with Amazon will cost you almost as much as a nice e3 v2/v3 xeon server with 16gb to 32gb of memory and 10tb to 33tb of transfer.

dergachev|12 years ago

OVH actually supports running the Proxmox virtualization distro on their servers. That means you can easily get a 32GB dedicated server with raid1 SSDs (around $100/month here in Canada) and spin up VMs to your heart's content. Proxmox also supports running your host nodes in a cluster, which allows for live migration. And if the math isn't already ridiculous, keep in mind that all the running OpenVZ containers (which proxmox supports) actually share a single kernel, and thus share a good chunk of RAM.

That being said, OVH is notorious for lack of support, and my experience so far (6 months) suggests that using them is not without risk. So at the moment I'm automating everything so that if an OVH engineer does decide to accidentally pull the plug on my server(s), I can failover in an hour or two.

canterburry|12 years ago

While that certainly seems like a good idea on the surface, it creates a horrible single point of failure for your entire setup. I certainly hope you get more hosts than one and distribute all your VMs across them. You'll have zero failover in case of host failure.

programminggeek|12 years ago

Amazon's win is elasticity, moving your servers up and down often. It's not as big of a win if you have a known quantity of resource utilization over a long time period.

Actually, there is a win to be had there too. If you can spin down your instances with load in an intelligent way, you can save A LOT of money using a combination of reserved instances an on demand instances.

However, if you had a program that was smart enough about dealing with load and spinning up/down instances and managing cost relative to reserved instances, on demand instances, and spot instances, that could save a ton of money.

That kind of optimization is tricky so it's a lot easier to just switch providers like the OP.

ksec|12 years ago

1. A Correction to that post is there isn't MANY provider that are around the same price. He said Hetzner. And that is like the ONLY other provider for the same price. And in many cases OVH offers better value then Hetzner.

2. The problem the post mention about OVH not being elastic. That is simply true with every other dedicated provider. ( Actually StormOnDemand offers Dedicated at per minutes pricing ) . But OVH should have their Public Cloud ready in October. Which means you get a Hybrid of Cloud and Dedicated.

karli|12 years ago

There are more provider like http://www.redstation.com/ but we have only experience with Hetzner & OVH, so i cannot say something about the other ones.

adventured|12 years ago

I've always found their bandwidth to be by far the most financially obnoxious aspect. $1,200 for just 10tb of bandwidth. You can get far more than that standard with any number of tremendous dedicated hosts on a $150 box. Digital Ocean charges a mere $0.02 for overages, by comparison.

I don't mind paying a premium for the easy systems and integration capabilities that AWS makes possible, but paying such extreme rates for bandwidth (when Amazon no doubt pays next to nothing per gb of bandwidth), is a cost too far.

icoder|12 years ago

I think these are good points! I've been held back by AWS prices as well, especially during bootstrapping they are rather high.

The downside you mention at the end, regarding setup time: we use CloudVPS, a Dutch based company that keeps upping its service in the direction of AWS (currently, when your billing status is OK, new VPS-es are setup without human interaction, not milliseconds but still fast enough for most use cases, for new customers you're running a free trial within a working day or so).

tutacano|12 years ago

AWS was really cool back in 2007, but the truth is their pricing has not come down in line with the decreasing cost of computing over the years and now its pretty expensive.

lazyant|12 years ago

Another comparison between AWS and VPS hosting. AWS is a Lego with many pieces, if you just use one piece (EC2) you may be better off with the cheaper alternatives.

eterm|12 years ago

This isn't even comparing AWS and other VPS, it's comparing EC2 with a dedicated server.

But actually from what I've seen in the wild, a lot of people just use EC2 without the rest of AWS for just general server hosting, so it's a useful reminder not to do this unless you don't care about the bottom line. (And who doesn't?)

totallymike|12 years ago

This sounds quite a bit like the way you're supposed to use AWS--you spike out your services quickly, figure out how and where you need to grow, and then move to a different service that provides that at a cost-effective level.

I can't imagine building a complete business model around AWS, but using it to begin the growth period seems reasonable.

zerop|12 years ago

I am planning to move from AWS to Linode mainly because of performance. My app is CPU intensive. I think for such apps you need to take high end EC2 instance.. I tried with small and medium instances but found them quite slow.

With linode 8 core small instances, I could handle 2-3 times the traffic. However from management perspective AWS rules.

wc-|12 years ago

I was in the same position not too long ago. While I don't think I can make any real recommendations because I don't know your specific requirements, I highly suggest checking out Hetzner and OVH dedicated servers. I found that the ping time from hetzner to customers in the US did not make a difference for my purposes, and I can get a much much beefier server at hetzner than linode.

To be fair, the negatives I have experienced so far are: hetzner's management console is pretty poor compared to linode's (but it gets the job done), and linode is a self-serve almost instant provisioning while hetzner seems to take about 12 hours.

threeseed|12 years ago

If your app is CPU intensive then why wouldn't you look at dedicated ?

Switching to Linode is always a terrible idea considering how disgraceful their security and business practices are.

jpalioto|12 years ago

>> ... or move it to your own server as we did.

I'm curious ... have you factored in your power costs? People costs (or opportunity costs if your existing staff is re-allocated to server admin tasks)? Additional cost of space for your on-prem setup? Have you factored in the cost of potential downtime? Single points of failure?

LanceH|12 years ago

There is a dead spot between using EC2 on demand and paying for the 3 year reserved instance, both of which I've found to be practical.

At both ends of that spectrum, however, I've found the pricing to be fairly reasonable. It just might not work for a startup.

oijaf888|12 years ago

How is the 3 year reserved instance practical given Amazon tends to cut prices significantly in a 3 year span? I've seen 1 year terms make sense but never 3 year.

solvemenow|12 years ago

>there are also downsides when moving it to your server, more system administration, you have to build your own firewall, take care of security & backup, et

Startup idea right there. But then if I thought of it so quickly, somebody probably already does this.

aquark|12 years ago

Does anyone have any experiencing with OVH's dedicated cloud offering?

I'm looking at this as an option vs a small AWS deployment. Seems to offer a lot of the flexibility of virtualization at a much better price/performance point than AWS.

zobzu|12 years ago

When the company gets big, the best deal is.. surprise.. running your own DC with an AWS-like system for the devs. Much cheaper, also much faster..

Of course, using old school deployment is a mistake (slow, pisses off devs, etc.)

anthony_barker|12 years ago

Does anyone offer the equivalent of AWS Security Groups? Anyone offer free intrusion detection scanning? For me security groups is a killer feature.

ffrryuu|12 years ago

AWS is ridiculously expensive. The startup I was in was spending like $100,000 a month on it...

mnbvcxza|12 years ago

Way to give us no useful info.