Hacker News new | ask | show | jobs
Amazon EC2 vs Dedicated Servers
5 points by justatech 5475 days ago
We currently run 4 dedicated web servers and are thinking of migrating to Amazon EC2. What are the benefits vs drawbacks - in terms of costs and performance. We use 2 of our servers for serving about 3 to 5 million unique visitors a month, and 2 of the servers as database servers. We do not really need scalability benefits as we are happy with performance. We are worried that our performance - in terms of disk I/O and latency may suffer if we move to Amazon. Also, our costs may be higher. Any ideas or insights would be appreciated,
5 comments

You've listed a bunch of reasons why you shouldn't, but no reason why you're considering moving at all.

What do you hope to gain from the migration?

While we are worried that performance may be lower and costs higher - we are not sure if this would be the case. If we can get the same performance for a comparable cost (say within 10 to 15%) of what we are currently paying, we would prefer EC2 for two reasons 1) Redundancy - in case we have a problem it would be easy to restore instances and be back up online quickly 2) Flexibility - as we occasionally (2 or 3 times a year) do have peak traffic loads when we could use more servers.
A hybridized approach may work for you in those higher periods. Depending on your bottlenecks, it may be possible to spin up ec2 instances during your high load periods that will cover your necessary additional capacity. (Esp if you are bw or RAM limited, you can setup asset servers on ec2 and just change DNS pointers to enable them.)

One other advantage is your future scalability, as well: as your site grows, you'll need to "resize" your dedicated instances. If that is something you need, then that's another advantage (really, it's continuous ability to scale versus discrete scaling events, e.g. upgrading a dedi server).

That said, if you have a good dedi provider, upgrading those shouldn't be too tough.

Flexibility is the only major reason to go with them, redundancy's easy enough to achieve with additional servers.

I don't know if the price would be within 10 - 15 percent, you're really paying a premium and across multiple billing streams, very easy for it to be a lot more expensive than that.

Our experience with cloud servers (gogrid, voxel) is I/O is the Achilles heel, hence if you're doing I/O intensive stuff like database batch processing or big queries (where not everything can be in memory in the same time) - you might be prone to issues. The lack of ability to guarantee I/O throughput means there are times that things will move a lot slower, and without digging in you sometimes won't even know the cause. We try to run all our DB servers on dedicated hardware because of that.
Every application and environment is different. The great thing about cloud providers is that they are so easy to get up and running. Test it out! Benchmark your app in both environments and compare how it performs. Weight the costs/benefits of both solutions (not just in terms of performance, but also in maintenance, friction to change, etc.) and go from there.
Don't forget to evaluate/review security and, or privacy of your data and applications in public cloud computing environment ...
The most important reason to move to EC2 is flexibility -- do you need to quickly add servers, then later turn them off?

If you have very predictable needs, and already have dedicated servers running, then there's no clear reason to change.

You mention that there are 2-3 times a year when you have peak traffic load. Do you exactly know when those times take place? If not, EC2 is great for automatically spinning up new servers when your load gets too high.
Yes, we do know generally when the traffic will peak and can plan for it.