Building Highly Scalable Web Applications
I was very interested to see Jeff Barr from Amazon on the list of speakers. It’s good to see the corporate world represented and I’ve been very interested in some of the stuff coming out of Amazon.
Jeff’s presentation was about how you can use a variety of Amazon’s services to produce websites that scale storage and processing power quickly and easily. I don’t know of any universities that host their websites externally – I suspect very few do, most having the resources to host internally. I think that’s probably right most of the time – off the shelf hosting doesn’t provide the flexibility you need to produce modern web services and co location is expensive compared to hosting internally. But that’s not to say we should just ignore third party services and I can see a few areas where they could be useful.
So onto the services that Amazon can provide! They make use of spare capacity in Amazon’s massive server farms which they sell on. S3 is a system for storing data. Services can push up data where it’s stored redundantly and can be retrieved via a number of methods. Charges are applied based on amount of data stored each month plus data transfer in and out of Amazon’s servers. One possible use for a service like this is an image gallery – storing high quality original images which could be 10MB each yet are downloaded very little. While disk space is quite cheap, it’s definitely an area that can benefit from economies of scale so it’s worth doing the sums to determine the best place to store several hundred gigabytes.
What S3 does for storage, Amazon EC2 does for processing power. Based on Xen, each virtual machine is equivalent to a 1.7GHz machine with 1.7GB RAM and 160GB disk. It’s billed by the hour so allows very quick deployment of servers. I wonder if there are some services that we provide which are only used occasionally yet take up space in racks 24/7 – could these be virtualized to EC2?