For the past few weeks, I have been exploring Amazon Web Services (AWS). AWS consists of a suite of hosting services that you can purchase. The most basic is Amazon Simple Storage Service (Amazon S3). This is storage that can be used to store data ranging from backups to online video. Access to the files is limited by a complex security scheme, or you can open up the files for all. An example of full access to read would be media for a website. I wrote a plugin for WordPress that lets me use a time-sensitive link to the video. This link is encoded to work for only so many minutes. This prevents people from using my video on their website. In my plugin, I also encode the file name so that stealing the video file would be difficult. Storage on S3 is $0.15 per gig per month.
But for me the real excitement is Amazon Elastic Compute Cloud (Amazon EC2). This offers the ability to create virtual servers. Costs range from $0.10 per hour for a small machine and up. Servers can be brought online and terminated as needed. S3 was challenging to bring up the secure links, but EC2 has a steep learning curve. My goal is a Linux server with my campus WordPress work. I am not really a Linux person, so I have to depend on others to help me with configuring the machine. A big challenge is the Amazon cloud model metaphor. To create a machine, you launch an instance of an Amazon Machine Image (AMI). While the virtual machine has a file system, the data in it is around only until the machine is terminated or fails. If you want storage that persists between sessions, you need Amazon Elastic Block Storage (ABS). EBS is created and attached to an instance.
Once you create a machine from an AMI, you modify it to be the server you want. Now you create your own AMI for the next time.
Another aspect of the exercise is how to interface into the cloud as well as control it. Amazon created FireFox – a plugins called ‘S3 Organizer’ and ‘ElasticFox’ for controlling EC2 and EBS. Puddy and WinSCP applications are used to control the host.
I find the biggest challenge is gaining enough familiarity with the concepts that I can think in them. Like learning a new language, you can translate only so long. You have to learn to think in it.
A computer for me has always been hardware that sits in a physical location – somethig I can walk up to it and even touch. Addresses are static and when the machine is turned off, the disks hold the data. This old dog is learning new tricks.
Then I spent the weekend painting the living/dining rooms. I think cloud services are easier to understand.