Amazon Web Services

You may have heard that I’m moving all my stuff to Amazon’s Web Services which is a cloud computing solution.

AWS includes everything one would need for gigantic systems but it’s completely flexible on how resources are deployed and you only pay for what you use. So, it’s possible to start something small and let it grow on demand — no need to invest in dedicated servers just in case your latest project goes viral. This takes all of the risk out of planning deployments.

I want to personally thank everyone at Amazon for their hard work on the platform. I know Amazon had dollar signs in their eyes when they extended their platform to the business community, but I also look at it as a public service. They have the money to invest in the equipment and they’re using it wisely.

As you might imagine, with flexibility comes some responsibility — you have to decide on your own how to best use resources.

The EC2 service (Elastic Cloud) is basically a virtual machine service. You can create an instance of a machine and decide what image to be loaded on it. The machine is created, the image is loaded, and the machine is booted. Then you can log into it and get it all configured for what you need. Then you can store an image of what you created so if you need to recreate the machine, or instantiate an instance just like it, you can do it easily.

To make things more wonderful, you can boot your image directly from Amazon’s Elastic Block Storage (EBS) which will create the root partition on that same storage. This of it as a virtual drive that’s always backed up. Even if your machine fails or you terminate it accidentally, when it comes back it will be in the same state as when it went down.

Other services available include database services and static file storage. These services run independently from your machine instances and can be shared between machine instances.

This is important in large web farm applications. The process of communicating with the user browsers is handled by a web server (or dozens or hundreds of them), but they’re all serving the same files (graphics, etc.). It makes sense to put the files in one place and share them instead of copying the files to all the servers. The same is true for the database services.

Amazon also has a message delivery service. In this case, a message is some bit of data which you want to transfer from one machine to the other. A person can build that functionality himself by making TCP connections between machines, but the message service saves a bunch of time. The service will make sure the messages are delivered and it handles things like broadcasting the message to all the servers.

Amazon charges based on the number of hours an instance runs in a month. A small Linux server will cost about $65/mo if left running. Of course, a lot of localized web applications will have peaks and valleys in their usage — if you have a business application in English, then you’re going to see use mostly during business hours in North America. So, the cloud makes it easy to keep the lights on overnight on one instance, while dynamically adding machine instances as the load increases in the morning. Then it turns the extras off at night.

So, if one server runs all month and then two servers run about half the month, then you are getting the peak capacity of three servers during business hours for the cost of two servers. Imagine scaling this up to the size of Facebook and Twitter’s new app killer (mine) and you have some real savings.

The setup for these services and the planning involved is sufficiently complicated to warrant all the tutorials the Internet can muster. I plan on contributing such tutorials as time permits and after I consider myself an expert. Luckily I learn quickly.

By the way, as a reader of my blog, you’re going to get to try everything out as they come online, for free.

“FOR FREE!?!? You’re going to charge?!? It will never work!! Facebook is free…”

Yes, and they allow everyone and their dog to advertise to you. Isn’t it worth $5/YEAR to get out of that nonsense?

If we get into the habit of paying moderate sums for great applications then we’re going to see more great applications. By only supporting free services, we’re supporting lackluster stuff because the only people who have good relationships with venture capitalists can afford to get them off the ground, and when they do, they eventually have to implement some plan to satisfy the money people (I don’t blame the money people, I’m just saying) and that usually means allowing everyone and their dog to bug you the whole time you’re online.

“Hot Super Models are Looking for 41 Year Old Men Like You!!!”


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.