|
It’s certainly been exciting year so far for those involved in cloud computing. Technologies announced and released by Amazon, Google, Microsoft and others have created a hype bubble the likes of which we haven’t seen since the heady days of the Internet gold rush.
Cloud computing can be loosely described as an Internet implementation of grid or utility computing, in which application resources - or even the application itself - is made available from virtualized resources located somewhere in the Internet (that is, in the cloud).
Amazon took an early lead in popularizing cloud computing with their Amazon Web Services (AWS) offerings, which included virtualized servers on demand (EC2), a distributed storage system (S3) and a simple, non-relational cloud database (SimpleDB). Microsoft announced their SQL Server Data Services (SSDS) cloud database in March, and Google announced their Google App Engine cloud application offering in April.
There’s a natural tendency to lump all of these into the same technical bucket, but in truth Google’s offering is qualitatively different from AWS and offers a completely distinct - and compelling - value proposition. While Amazon offers you virtual servers and services in the cloud that you can use to host your application, Google offers you a development platform for new applications that can be seamlessly deployed into the Google cloud. The Amazon model requires that you configure Web servers, applications servers and so on; the Google model bypasses all of that set-up and administrative effort.
In the first release of Google App Engine, applications must be written in the Python language, using a Web development framework partially based on the popular Django open source framework. Like Amazon’s SimpleDB, Google uses a non-relational data store - BigTable - to provide scalable distributed data storage. Google is expected to announce support for other popular Web development frameworks such as Ruby on Rails in due course.
Once you’ve written your Google App Engine application, you can upload it to Google’s cloud where it will be transparently deployed in a scalable and fault-tolerant environment. While the current beta has limits on storage, bandwidth and CPU, future versions will be able to host an application of virtually unlimited scale.
What’s in it for Google? To answer that question, consider the advantages for Google if a widely popular Web application - the next Facebook, if you like - were hosted within their cloud. Google would have access to the click-stream data that flowed to that application and users of the application would more often than not use Google-based authentication - in effect becoming Google customers. Applications in the Google cloud will also be very likely to use Google advertising services. Google appears to think that these benefits are sufficient to justify the cost of supporting the cloud, so they can provide the Google App Engine to application developers at no charge.
Google App Engine is an incredibly attractive proposition if you are a small software developer. Before this, setting up a scalable Web infrastructure for your application would have been a very serious obstacle. Google App Engine - when it becomes production quality - removes almost all of that obstacle. My guess is that Google App Engine, together with similar cloud technologies from Microsoft and others, will revolutionize the economics of Web application development and create a boon for the small-to-medium software development business.
About the Author:
Guy Harrison is a chief architect for database solutions at Quest Software, and is a recognized expert with over 15 years of experience in application and database administration, development, performance tuning and project management. Harrison is the author of Oracle SQL High Performance Tuning (Prentice Hall) and MySQL Stored Procedure Programming (O’Reilly), and is a regular speaker at trade shows and events Information about Quest Software can be found at www.quest.com.
|