Portal Home > Knowledgebase > Articles Database > Amazon EC2 setup vs Dedicated server
Amazon EC2 setup vs Dedicated server
|Posted by infoweb, 12-03-2011, 04:47 AM|
We're currently tossing up whether to switch from our dedicated server to EC2.
We're a small web development company and host around 50+ Joomla websites for ourselves and our clients.
We're also in the process of releasing a SAAS CRM application, which will be multi tenant - one application but each client will have their own MySQL database.
We currently have one dedicated server with softlayer, but due to the nature of some of our clients websites and the introduction of the CRM we are going to need a high availability setup.
Our current server is a dual processor quad core 2.4GHZ, with 12 GB Ram and a 2 x 250 gb mirrored drives. Cost $450 pm
We are only using around 60GB of HDD space and minimal amount of resources with around 10K-15K page views per day.
For high availability we need to add another server and load balancing which brings our monthly cost to around $1K
The thing is we just don't need anywhere near the full capacity of the server now, but we will need the extra computing power in the future as we add more and more users to the CRM.
Basically I'm looking for a highly available, easily scalable solution, so that we don't have to constantly migrate servers as we grow.
I've been investigating EC2 and Came up with a server setup for a fraction of that price which is also extrememly scalable. Here's what it is:
1 x Large reserved instance
dual processor x 2cores each
1 x Large on demand instance x 1 (failover only billed if used)
dual processor x 2cores each
Elastic block storage x 1 - $36 p/m
100 I/O p/s
Elastic load balancing x 1 - $22 p/m
Full month usage
S3 Snapshot storage (backup system) - $93 p/m
Total cost for 2 server high failover setup: $350 p/m
If we need more compute power we just setup an extra large instance and swap the EBS storage to the new instance and we're up and running. Sure beats having to migrate an entire server!!!
Now, we're software developers, not server admins, so I really don't know what the pro's and con's of the two are.
I see a lot of people bag EC2 but I'm not sure if they've actually used all the various offerings or just simply tested a basic micro instance.
What do you think? dedicated at 1K per month or EC2 at $350p/m ?
Interested in reading your input and feedback especially if you have or are using EC2 with EBS.
|Posted by Matt Connor, 12-04-2011, 05:15 AM|
You mention that you're already with SoftLayer, why not fire up some cloud instances when you need to scale up, then terminate them when the demand subsides? The advantages of this are the unlimited bandwidth on the private network, and the ability to spawn instances all around the world without paying any transfer charges between regions. This will also save you the cost of getting more servers.
If this doesn't seem like a good option, can you elaborate on what you require that Amazon AWS specifically provides?
|Posted by brentpresley, 12-04-2011, 07:58 AM|
You should look into LAMP stacks and clusters with cloud providers that do both high-availability and automatic failover on their public clouds. No need to build your own cluster, and the cost would be cheaper than building your own.
With a good Cloud OS like AppLogic you could have the cluster design done in about 2-3 hours tops, and deployed soon there after with no need for manual configuration work. Extremely scalable too. You can have a "mini" cluster using just a few cores and GB RAM, all the way up to a real beast using hundreds of cores and GB.
|Posted by VMStormVPS Dave G, 12-04-2011, 09:21 PM|
I think you're over-paying for either solution. I would contact a cloud vendor like engineyard or another similar organization and see what they could put together for you. That way you don't have to engineer the solution.
If your budget is really $1k/mo, you should be able to get at least an off-the shelf cloud solution that is self healing and probably a totally custom solution with load balancing, multiple front-end servers and more.
I think you'll also find that if you do some hard searching, EC2 is widely regarded as not very good. Sure there are pluses like EBS -- but you can create 'EBS' on your own with shared NFS. But typically the reviews are that it's really slow and over-priced.
|Posted by tchen, 12-04-2011, 10:14 PM|
The main advantage your dedicated server has over EC2 is the consistency of the disk IOPs. Adding EBS to the mix makes things even more muddy as not only are you at the mercy of the replication/locks at the EBS service endpoint, you're also sharing the 1Gb EBS network interface.
You might be interested in this blog article to see whether you're butting up against the IOPs.
As for HA, keep in mind that a given EBS volume is AZ specific and only replicated within that AZ. Should the AZ become unavailable, you're out of luck. This has happened before, and will likely happen again.
Best practice is to
a) at the very least slave your MySQL in another AZ, preferably in another region too. Because of cache priming issues, losing your primary AZ typically means just reverting the application into a read-only mode until the primary comes back up.
b) image your setup as a new AMI so you can quickly deploy it in any regions.
c) use S3 when applicable for bulk file storage. It's replicated and has better consistency in place when reading from multiple EC2 instances.
|Posted by tchen, 12-04-2011, 10:36 PM|
Probably should point out that Engine Yard Cloud runs on EC2 As for being slow, comparatively to other multi-tenant solutions it is within the same ballpark as you'd expect - and there is definitely a non-linear relationship between performance and the size of the instances. Some people use micro instances and then wonder why their IO is sub-par, not fully understanding the scheduler priority system.
It will also lose to dedicated servers, but that's a given.
As for NFS vs EBS, you're mixing up your technologies. They're orthogonal solutions: the former tackling sharing while the later is for instance persistency. People have served NFS over EBS if that's what you're confused about.
|Posted by jimothy, 12-18-2011, 09:56 AM|
I've been using EC2 for over a year and find it can be a rock-solid, fast service if you know what you're doing. Yes, you do have to get your hands dirty and do some manual configuration work, but overall I find it very stable. EBS is very very useful- you can very easily scale up or down in a matter of minutes, take incremental snapshots as often as you like, and even keep disaster recovery instances (as you've mentioned) in reserve. EC2 also has what Amazon call Elastic IP addresses, so if you need to move between instances it's just a matter of remapping an IP. I had to do a complete rebuild of my production instance a few months ago and all I had to do was copy everything over and then remap the IP address from the old instance to the new one. Bang, zero downtime.
Their AMI's - disk image templates- make provisioning a doddle as well, plus you have complete control over all your instances. Compared to running multiple dedicated servers, the performance and ease of use benefits are clear.
|Posted by Ramprage, 12-19-2011, 02:04 PM|
In terms of support in AWS, you don't get any. You need to reach the $450(mo) price point I think before you can even call AWS for help. This is something I really don't like, particularly if you're new or fairly new to server management and AWS as a whole.
AWS is very technical compared to other cloud solutions. They have a long laundry list of products that you need to read a manual to practically figure out what each one does. Then you often need to use command line tools to use them. You have to plan and design your entire infrastructure - this is what AWS is all about. If you're clueless doing this, doing use them. AWS is tools focused, they wont help you plan your solution. It requires a good amount of planning and time to get use to all their tools, command lines.
EC2 has another major problem, it's a single IP tied to your instance. Meaning if your clients each need their own dedicated IP address, say for SSL, you can't give them that unless you put each client on their own EC2 instance.
As others have mentioned, EC2 is solid. However there are times when they do "maintenance" and restart the entire hardware node. They also do maintenance on their database offering so this can be tricky.
I'd suggest you checkout some other public cloud offerings that are out there and compare them to EC2.
RackSpace has Cloud Servers which look pretty nice. In my own comparison they were cheaper compared to AWS as well. They offer much better support for a smaller budget from the looks of it and it's more of a simplified offering - eg less time learning, more time developing.
Other companies getting into cloud offerings are generally using OnApp or VMWare based solutions.
EG: ZuniCore, SingleHop and others are running OnApp while companies like GNAX are using VMWare.
Last edited by Ramprage; 12-19-2011 at 02:10 PM.
|Posted by Ramprage, 12-19-2011, 04:50 PM|
Seems I'm outdated on a few things: including support, they have Premium support which you must purchase separately, starting at $49/mo
|Posted by jimothy, 12-19-2011, 05:46 PM|
Ramprage raises some fair points. EC2 can be quite a technical solution, so if you're comfortable getting your hands dirty, i reccommend trying it. As it's pay-as-you-go you can try things out with minimal outlay.
p.s. Amazon aren't paying me to say this
|Posted by shvinod, 12-19-2011, 06:35 PM|
Before you jump on to EC2 bandwagon, please do a test run and see the performance for large instance for 2 days. If your app is CPU intensive, the performance of EC2 can be an issue unless you spun up multiple instances with load balanncer..
|Posted by danushman, 12-24-2011, 11:03 AM|
Just a quick correction: SingleHop does not use OnApp -- we're using our own proprietary technology called Cascade with a KVM hypervisor to deliver our Public and Private cloud platforms.
Hope that helps,
|Posted by tydfgr1209, 12-30-2011, 10:22 PM|
I'd just like to +1 on the points about EC2 technicalities. Whilst the whole AWS ecosystem is great it can seem somewhat complex, especially to a newcomer. That said, don't let it put you off - just be prepared to invest a bit of time to get yourself up and running. In the end, whatever you decide - good luck!
|Posted by sathish_subramanian, 01-03-2012, 10:08 AM|
I think the decision would be based on what else do you want the "box" to do:
1. If you going to be scaling up in future, you need to then think about migrating to larger servers.
2. how about backups and disaster recovery.
3. Are there times when you want to automatic scale down?
4. How about storage?
Amazon AWS is great solution when these kind of uncertainties are present. But if you know what you want and where you will be in say next one year and how you will grow, then probably you dont care much about flexibility and probably dedicated server is what you need.
Amazon provides amazing flexibility on how you manage storage, computing and scaling up/down.
We have been running our Online Backup Service for MSPs on Amazon AWS. Yes, initially it was bit of a work for us and learning curve. But once the team got the hang of it, it has been a breeze to manage our servers.
|Posted by m0nkee, 01-11-2012, 01:03 AM|
I agree with Matt, I believe this overall would be the best bet for you also... +1
|Posted by subinmat, 01-11-2012, 01:14 PM|
i don't know about the charges of AWS but i have been running my apps on AWS for past 1 year,it gave me awesome service. I have 44 instances running and as our clients are scaling up we are adding instances , It gave me very good results with very rare downtime.
|Posted by dediserve, 01-11-2012, 02:41 PM|
If you are running instances 24/7, make sure you are on the reserved rates, otherwise (and if if you are) you will be paying a good bit more than 'regular going rates' elsewhere.
|Posted by otech, 01-12-2012, 04:09 PM|
Another thing to consider is if you have compliance requirements (PCI or HIPAA) and if you require disaster recovery or backup. Not all providers are audited or know what services can meet those regulations.
Add to Favourites Print this Article