I declare that we have officially entered the era of cloud computing. Instead of programming directly to operating systems that run on a single machine, we write code that runs on any number of machines. This is a huge shift. Even the web era was usually about a single machine. You had one web server, unless you were a large website, in which case you would have more than one web server behind a load balancer. Even if you had a handful of web servers, you probably still only had one database… as big a machine as you needed to fit your data. Only a few companies needed more than one database. Most companies don’t necessarily need more than one database, but if they suddenly do, there was a lot of work to be done.
Now, with Google App Engine, and (I think) Microsoft’s Azure, you write code, but then don’t know (or care) how many physical machines it actually runs on. This is great because no longer do application developers have to worry about how many machines their are. No longer do developers have to worry about how to scale. Even with Amazon EC2, you have to care about how many machines you have. If you don’t have enough, either you or your software has to detect that and get more machines. You pay per machine per hour, whether or not you are actually using the compute cycles. At least with Google App Engine, the level of granularity is dropped down to the number of compute cycles you use, instead of the number of machines you have.
This is a pretty exciting time. There is a lot of ground to cover still in the area of cloud computing. I think there will be a lot of innovation in the coming years in this area. My next post will talk about the differences between the different clouds. As of now, Amazon has a cloud, Google has a cloud, and Microsoft has a cloud. There are also other less well known companies offering cloud-like services such as Slicehost which was recently bought by Rackspace, Joyent, GoGrid, and Media Temple. There’s even some companies poping up that will offer telephony services in the cloud such as Twilio.
UPDATE: The conversation continues in the comments. Come join us!