An intro to AWS.
I guess I should explain the learning curve bit. When I started learning AWS, I did not really have a mentor and the documentation was either too vague and filled with propaganda for other services or too verbose and not at the level that I needed. An AWS admin can interface with their products through the web console, CLI, or through their API. There are tons of products out there that use their API to make different aspect of interfacing with their products easier. For the most part, most of my interactions with AWS is done through their web console. The learning curve and their new way of thinking is in how they have taken all the aspects of hosting and split them up into different categories and products. They all work together very well, but understanding what is available and how they go together takes some time. Also, using the products is sometimes a different kind of intuitive. In a way, it is like moving from Windows to a Mac. On windows most things are done in a counter-intuitive way. So when you use a Mac and things are done in an intuitive way you are not used to it so it throws you off. There are also tons of options. It can be overwhelming.
Anyway, when it comes right down to it. You have me as a mentor and once an account is setup we can have a new server instance up and running by ourselves in less that five minutes, once we know what kind of server we want.
I do agree that you should setup an account and take test drive.
First, watch this video: http://bit.ly/rasyfw
Then, go here for an intro to the Free Tier and setup an account:
http://aws.amazon.com/free/
That first video shows you CloudFormation which we would not be using, at least not initially, but it shows you how easy things can be to get going.
The three AWS products listed in that video are S3, EC2, and RDS. This should really be all you need initially. Although, technically, all you really need to get started is EC2. With EC2 you can spin up what you traditionally know as a VPS. On it you can have your MySQL server as well as your media storage. However, to plan ahead you might as well start by taking advantage of the other services. S3 for media storage and RDS for the MySQL server. This way all your services are apart from each other. If one fails, it does not directly affect the others. For example, if the EC2 (or the VPS instance that is running on the EC2) died, the media files and database would be unaffected. This adds data sturdiness. Also, S3 is designed to be a storage space that is unlimited. It grows as you put more in it and you only pay for what you use. In other words, those outages we have been having because the hard drive filled up would not exist if we were using something like S3. The RDS is a virtual DataBase server that is already managed and fault tolerant.
It is like Legos, but with web hosting services. That is one of the main paradigm shifts. Need a service, do not bother with running it on your server instance like you traditionally would, offload the service as if you were a super massive company with the budget for your own datacenter, without the cost of the datacenter. 🙂
Update – 02 Feb 2013: Another good article on getting started with AWS.