Wednesday, April 9, 2008

Google Takes it to the Cloud

Google Logo

Developers Get Access to the Google Cloud

Yesterday, Google announced that Developers could Beta new services from Google. Specifically, that web applications could be developed taking advantage of all of Google's internal structures, from Google Bigtable to the Google File System.

This is a BIG FRACKING DEAL.

'Course, the catch is, as a developer, as other's have said, you're tied in tight to Google, and it would be nice if they gave you more than just Python to hack in. Sure, if you wanted to migrate away, you probably could write abstractions and move out, but still. On the other hand, for those who want to live in Google's world, this is the way to go. Everything from authentication to mail is handled.

May a million startups bloom. The age of needing your own hardware to run a startup is damn near over. Thrown everything up in the cloud, even if you're video intense. You'll still own it. Just run it on someone else's stuff. Focus on what you do best, which is hacking code, and getting customers. Managing infrastructure is no longer a core competency for a startup. Or at least, it doesn't have to be.

Matt Cutts

This is pretty cool. Google launched App Engine, which lets you write code for a web application, then Google takes care of the scaling/failover/logistics-type issues. You can store your data in a Google Bigtable using the Google File System. There’s a bunch of App Engine APIs to simplify things like sending email and fetching urls. Your application can authenticate users that are using Google Accounts, so you can avoid the whole “ask your users to create a new account” issue if you want.

The official blog post makes it clear that this is a preview release, so Google will be adding more functionality over time but they’re opening the program up now to start to allow real-world applications and to get real-world feedback. The first 10,000 developers to sign up get to play with it now.

My favorite part is that the usage model looks pretty solid:

During this preview period, applications are limited to 500MB of storage, 200M megacycles of CPU per day, and 10GB bandwidth per day. We expect most applications will be able to serve around 5 million pageviews per month. In the future, these limited quotas will remain free, and developers will be able to purchase additional resources as needed.

ReadWriteWeb

Let's firstly review what this is - and what it is not. Google App Engine is similar to the Amazon Web Services stack, which rolled out at the end of 2006 and has since gone on to be utilised by many startups for their infrastructure needs. But it is not a set of standalone services like Amazon's - which includes S3 for storage, EC2 for hosting and the SimpleDB database. Google App Engine is an end-to-end service and bundles everything into one package.

In that respect Google App Engine is more like the so-called "Platform-as-a-Service" (PaaS) apps like Bungee Labs, which we profiled firstly in April 2007 and then more recently in February when it launched a new version. Other PaaS contenders include Salesforce.com's Force.com platform (nicely summarised by Dan Farber) and Morfik's Ajax platform.

There are many compelling reasons for startups to use Google App Engine; and Alex Iskold summed them up in his post Reaching for the Sky Through The Compute Clouds. Alex explained why the likes of Amazon, and now Google, are providing a valuable service to startups:

"We are witnessing a fundamental shift in our ability to compute and this is just the beginning. Amazon is at the forefront of making massively parallel, web scale compute services available to the world. Free from the need to solve the scalability problems, startups are able to focus on the specific problems that their product or service is trying to solve. All of this is happening while the cost of hardware, bandwidth and services overall keep dropping."
(emphasis mine)

However, there are a few downsides to the Google approach. For one thing, it means developers must use Python as their programming language - PHP and Ruby are two other popular languages today. But looking at the bigger picture, startups which use Google App Engine are essentially tying themselves into Google's technology. They'll need to host with Google, do their processing with Google, store their data with Google, etc. And as some people have already speculated, having a web app built and deployed with Google App Engine makes it much easier for Google to eventually acquire that web app.

It does make you wonder: would you want Google to control your entire end-to-end development environment? Isn't that what developers used to be afraid of Microsoft for?

I'm not as afraid -- yet -- of Google as I am of Microsoft. Mostly I guess because Google is riding the historical wave, and Microsoft still is fighting the tide of history.

Cloud computing is here. It isn't getting here. It is here.

GNB routinely serves almost all of our data from the cloud. From Google's Blogger cloud (mostly), HaloScan's cloud (mostly), and from Amazon's S3 cloud (a little.) Plus other clouds we call to frequently such as Google's YouTube. In addition, we have a datacenter in Tokyo where we serve our "We Fight On" graphic. We run daily backups to our Tokyo datacenter and our Seattle headquarters. Not to mention some of us routinely back up our work to little flashdrives and aways have backups with us, where ever we go.

The point is, having our data live in the cloud and not on our own servers (except for local backup) means we don't have to concentrate on infrastructure. We don't have to pay for infrastructure either (which again, is a big fracking deal.) We just have to concentrate on what we do best, which is journalism and taking care of listening to our readers. This lets us increase our customer base.

This is precisely what Cloud computing is about. Off load startup infrastructure (and costs) to the Cloud, allows startup companies (such as GNB) to focus on their core competencies and see if they have a viable business. How you know you have a viable business, by the way, is if customers show up. If they do, you've got one. If they don't, you don't. Cloud computing lets startups test out ideas without having to make enormous infrastructure investments.

GNB (and The News Blog before us) wouldn't exist today without Cloud computing.

Bring on the Cloud.