I’ve been looking into the feasibility of using something like Amazon Web Services for hosting WordPress sites. I was wondering if it is possible and if so what people’s experiences are of having done so. What aspects of AWS did you use?
You explicitly mention three services in your question title: EC2, RDS and EBS.
If they’re the three services you’re interested in, then yes, very easily.
EC2 + EBS are pretty much the same thing, EBS is simply a persistent storage extension to EC2, and RDS is a full MySQL database – you should be able to get those three services running together very easily.
If you were looking to extend to some of the other AWS products, S3 is very easy to implement on WordPress for file uploads – check some of these plugins.
SimpleDB, however, has very limited usefulness to us without a rewrite of how WordPress reads and writes to the database. There is an article by Amazon on how to create a plugin which adds tagging functionality that uses SimpleDB as the storage, but that is as much as I could find regarding the use of SimpleDB with WordPress.
Thomas McDonald is pretty much right on track. Just wanted to add that if you’re going to use EC2 to scale your sites as you need more servers, then you will need to contend with the fact that you will have multiple instances of your site out there with no common shared volumes.
In other words, let’s say you have 2 EC2 instances up — each one is completely separate from the other, so what happens when a user uploads an image? That image only exists on one server and not the other.
To combat this, you’ll want to use something like S3 with Cloudfront or a some other type of CDN. Then something like W3 Total Cache, which will propagate your uploads to the CDN. Then when an image is shown in your theme the image URL will be automatically rewritten to the CDN source URL by W3 Total Cache and, despite that image not existing on the local server, it will still be visible to visitors.
Yes you can, performance wise things should be just as fast, if not faster than a standard dedicated box, you just need to figure out if the varying costs are worth it or not.
If you use something like Scalr, you can do some neat auto scaling stuff as well.