Wednesday, April 9, 2008

Google's App Engine: The Other Half

The blogosphere has missed half the excitement of Google's new App Engine.


Perhaps it should be expected, because Google has been focusing it's documentation and Campfire videos on only one advantage of their offering. It's homepage brags that every engine will be able to serve up to "5 million monthly pageviews." Every developer is salivating over the possibility of leveraging Google's cloud. Google is taking the heartache out of scaling. Like Amazon, but obviously different. Most soapboxes have been making this Amazon-Google comparison.

Yet there hasn't been useful commentary on what I believe to be the most interesting feature of App Engine -- that it has already been integrated with Google Apps.

For those without a Google Apps domain, the Google Apps Dashboard has a list of Google services available for your domain, like Gmail, Docs, and Calendar. The dashboard presents another option: Add more services.



This link existed prior to App Engine, but it was curiously useless. Google services were automatically added and set to Active so new Apps users could immediately begin to use Gmail and Calendar. For whatever reason, Google Pages was the only service that was not immediately active on newly commissioned domains. The "Add more services" link allowed you to add Google Pages to your domain with the other Google services.

Now, the "Add more services" link allows you to enter a an App ID of an App Engine application. Any application on App Engine can be limited to your Google Apps domain. The hosted application will utilize your domain users rather than Google's users without any code changes since the option is abstracted from the API.



Why is this important?

Forget scalability for a minute. Google is hosting a lot more than just a web application stack. They are also offering to host your company's authentication mechanisms and single sign-on framework. (It would naturally follow that they add access control later, say, to keep your sales department from accessing your IT inventory web app.) App Engine is not just a place to run a trendy web application that can scale to millions of users, but it's a place to host a small company's internal applications as well.

Google wants to run your company's intranet.

With App Engine, it's offerings are already quite comprehensive. It was an easy decision for many small businesses to substitute Gmail for their existing email infrastructure. It's been a much harder case for Docs and some of the others. Google Sites was the most recent launch and it generally underwhelmed Google Apps users. However, it makes more sense to think about Sites as a useful intranet tool than a public-facing wiki. Have you noticed that a Google Apps administrator can restrict all the domain's Sites to his domain users?



Besides making intranet a misnomer, Google Apps + App Engine makes it even less compelling for a startup to run any of its own infrastructure. Previously, a business was limited to Google's own offerings for its domain. Now, a business will be able to easily expand their offerings through App Engine. For example, a small real estate investment company could use Google's offerings for the typical IT services, then hire a programmer to write a property management application with App Engine that would only run for users on its domain.

Obviously, an unscalable trust barrier stands between Google and a larger company's intranet, but for a small company or a startup, Google Apps has become very compelling.