I’ve been a long time fan of the S3 service from Amazon, and when EC2 came on board I was equally addicted.
For those of you not in the know let me give you a quick lesson on these 2 amazing amazon web services.
S3 (SSS = Simple storage service) put simply is a private space on the Internet where you can store stuff in. You can share this stuff to the outside world if you wanted to. What stuff can you store in there? many forms of media such as images, documents, videos etc. It is extremely cheap and very scalable (from 1 Mb to several terabytes of data)
Amazon S3 provides a simple web services interface that can be used to store and retrieve any amount of data, at any time, from anywhere on the web. It gives any developer access to the same highly scalable, reliable, fast, inexpensive data storage infrastructure that Amazon uses to run its own global network of web sites. The service aims to maximize benefits of scale and to pass those benefits on to developers.
EC2 (Elastic compute cloud) picks up where S3 ends. S3 is storage, EC2 is computing power. The way I think of it is having your very own computer sitting smack bang in the Internet doing your bidding, like a virtual image of your computer configured the way you want doing the things you want it to do.
Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides re-sizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.
Just as Amazon Simple Storage Service (Amazon S3) enables storage in the cloud, Amazon EC2 enables “compute” in the cloud. Amazon EC2’s simple web service interface allows you to obtain and configure capacity with minimal friction. It provides you with complete control of your computing resources and lets you run on Amazon’s proven computing environment. Amazon EC2 reduces the time required to obtain and boot new server instances to minutes, allowing you to quickly scale capacity, both up and down, as your computing requirements change. Amazon EC2 changes the economics of computing by allowing you to pay only for capacity that you actually use.
So basically with S3 and EC2 you can have your very own data-center on the Internet, the space to process stuff in and the computing power to do the processing. You can have terabytes of space and several hundred computers working for you!! AMAZING!
I have always wanted to build my own thumbnail generator, pass into a webservice a URL and have that generate thumbnails for you (much like the service already offered by amazons alexa thumbnails service). I have written the actual .net windows service to do it, I have a webservice exposed that can pass requests into this service all I need now is a server to start processing requests and a storage area to store the generated images. Amazons S3 and EC2 services are perfect for this :) I will attempt to do this over the next couple of weeks, just as a proof of concept that it can be done :)
So why did I post about this? Because of an article I read from New York Times talking about how they used the S3/EC2 services to achieve an amazing task. You must read this article, it will open your eyes to what is possible with these cheap services. Read the article and you’ll understand what I mean!
I also want to mention that one of the interesting observations I’ve made from reading this article, and it’s to do with the whole open-source vs licensed software debate, is that if I wanted to create a EC2 server built with a virtual of windows then I couldn’t scale it up to 100 virtual’s without forking out license fees. Now if I had an open-source OS like Linux then scaling the EC2 virtual’s to 100 servers is dirt cheap, in fact it’s a steal! Now this is a huge selling point for open-source!
The NYTimes article is here: Self-service, Prorated Super Computing Fun!
If you have time please leave comments, I’d like to hear your thoughts about this!