Recently I’ve had a few questions about how I host and run this site so I thought I would write it up and share.
My domain registration is with Dreamhost. I almost always start out with Dreamhost - they are really cheap, under $20/month and you get all kinds of good stuff (i.e. Jabber server, SVN, etc).
I actually ran learnaws.com from my Dreamhost account for a little while; I wasn’t getting much traffic and I just wanted to try the concept out.
But, when I felt I wanted something more serious, I decided to move from Dreamhost. I just changed my name servers, I didn’t bother changing my domain registration. All of my payment information is setup in Dreamshost already so it makes renewals easier.
I had to decide between running my web site on EC2 or on a higher-end, local web hosting company that I use for higher traffic sites.
What I had in mind with learnaws.com was to host a lot of video tutorials. I like creating the videos and I think it’s a format that people tend to like.
Given that, I decided to use S3/Cloudfront to serve up these videos - I figured this would give me the best performance.
IMHO, you get the biggest performance gain serving up progressive download media like this when you serve it from a geographically closer server.
Since S3/Cloudfront is doing the heavy-lifting on this site, I decided to just host the web content in my local web hosting company. It’ll just spit out the static text parts of my site, so I figured I didn’t need the added performance of a dedicated EC2 instance.
I’m still deciding what my next step will be.
My big concern is that I’m using WordPress as my content management system, and as you probably know, that uses MySQL as its backend.
I’m planning on customizing WordPress to use SimpleDB as its back-end database. I think conceptually it should be possible; we’ll see how that plays out.
I think once my experimentation with SimpleDB as a WordPress backend is done, I’ll start hosting in EC2. If all goes well, I’ll put a HAProxy in front of a set of EC2 servers running my web site and those instances will talk to a set of domains in SimpleDB.
If the SimpleDB doesn’t work out, then I’ll probably have to think about doing some MySQL replication or splurge for a big, central EC2 instance.
In any case, this is what I really like about AWS; it’s very easy to adopt it step by step.
Thanks!
Eric.