views:

601

answers:

4

Has anyone got much experience deploying applications to Amazons EC2? I am considering doing this in future and wonder about peoples experiences compared to shared hosting and dedicated server hosting are.

+4  A: 

So far, so good. Being able to turn on 5/10/50/100+ machines at a time is awesome. It's even better being able to turn them off and forget about them. You need to change your mindset about how you store your persistent data, but once you have the sky is the limit.

Performance wise, small instances are slow. Their fine for load balancers and serving static content, etc, but if you are doing anything processor intensive, you need at least a m1.medium instance.

It's all pretty new, so there aren't many tools to help out yet. I'm using Puppet to configure my hosts and I have a set of PHP scripts for starting up clusters. I use LDAP as a host inventory database.

If you don't have the need/urge to build your own, see Rightscale for some really awesome tools for deploying/growing apps.

Gary Richardson
"You need to change your mindset about how you store your persistent data". Do you mean S3 and SimpleDB storage?
Craig
Yes and no. S3/SDB are most convenient. You need to be ready for all of your instances to turn off and have a plan to get that data back. I hasn't happend to me, but ymmv. For example, master-master mysql replication probably isn't enough. You also need to send replication logs to S3 ever X minutes.
Gary Richardson
Thats interesting. I am interested in the new SQL Server option that Amazon are coming out with and wonder if there are any extra hoops to jump through to ensure data is not lost.
Craig
If you email Jeff Barr (probably found somewhere on http://aws.typepad.com/) you can try to get on the beta list..
Gary Richardson
You don't have to worry so much about changing your mindset anymore because they have introduced http://aws.amazon.com/ebs/ "Elastic Block Storage." Not that you shouldn't change your mindset but if you are stuck then you have a reliable way of saving data.
carson
A: 

I have an image that has my full stack and a script on each that automates the deployment of wars (java) from an S3 bucket to the local file system.

When an image starts the rc2.local runs this script to get the latest wars before starting tomcat. This works well for me

Steve Buikhuizen
+1  A: 

One approach is to setup your instance exactly how you want it locally, using a VMWare image which is then converted to AMI. For example, using this script

mrhahn
A: 

Cost is quite a big factor that I initially overlooked with EC2. The cheapest small instance costs 10c per instance hours, which comes to about $70 / month if you keep it running all the time. That's quote a bit more than the cheapest hosting solutions.

Of course, with EC2 you can choose your operating system and install any software you like, and it's definitely way more cost effective than dedicated hosting if you need a large number of servers.

I've read about a hybrid model where people use dedicated servers for their regular workload, but add in extra EC2 instances at times of peak demand.

gareth_bowles