Google’s App Engine: getting serious about the enterprise market
Science fiction buffs know about the "tractor beam." A starship floats without power. A space tug locks onto the crippled star cruiser with a magnetic beam. The space tug reels in the crippled starship the way a fisherman lands a rainbow trout.
Google’s enterprise tractor beam is its App Engine. The fish are enterprise customers. Unlike the science fiction tractor beam, the Google beam is quite real and starting to reel in the enterprise catch.
The technical press reported that Google’s App Engine now supports Java. What’s left out of those stories is that the App Engine makes it easy for an organization to tap the power of Google’s infrastructure. The payoff for enterprise customers is that Google offers a way around the punishing costs of traditional enterprise solutions. Instead of forcing an organization to decide between an on-premises or a cloud solution for enterprise software, Google’s approach allows the customer to move as much or as little information and work to the Google cloud as it wishes. Google’s App Engine promises lower cost (at least for now), flexibility, developer friendly methods and access to the Google technical plumbing. In today’s business climate, the Google App Engine can be just what the CFO ordered
Let’s back up.
The Google App Engine is Google’s cloud computing initiative. Like Amazon, Google makes available its software and infrastructure to customers who want scaling, computing power on demand and a way to get out from under the crushing burden of capital investment for on-premises solutions.
Google provides a wealth of App Engine information at http://code.google.com/appengine. The information is tailored to a programmer or information technology professional. The marketing lingo is not needed because Google wants to reach the technically inclined, not the senior managers
Google App engine allows a programmer to build Web applications on the same scalable systems that power Google’s applications. App Engine applications provide a comparatively easy, low-cost way to build, maintain and scale. Spikes in traffic or data can cripple a managed services provider or an on-premises installation. Google’s infrastructure can handle virtually any computing demand thrown at it.
Developers can use either Python or Java. Sample code and beefy documentation help to reduce the learning curve. A developer can use some Web 2.0 programming tools to reduce the App Engine learning curve. (Information is at http://code.google.com/p/google-app-engine-samples, or you can query Google.com for "App Engine" and explore the links.)
Code snippets and cookbook
With App Engine, you write your application code, test it on your local machine and upload it to Google with a simple click of a button or script. Once the application is uploaded to Google, Google hosts and automatically scales your application. Google’s automated systems handle system administration. When a spike takes place, Google brings up automatically new instances of the application. Data are automatically chopped up, replicated and stored in multiple locations to ensure Google-velocity response times. Although somewhat technical, Google offers a solid FAQ (list of frequently asked questions) that provide considerable detail about the App Engine. You can read the FAQ at http://code.google.com/appengine/kb.
What can you build with the App Engine? The answer is, "Anything." My team has used the service to build content intake subsystems for a publisher in the Midwest and to create customized intelligence functions similar to the public demonstration at arnoldit.com/overflight.
Google’s engineers provide a large number of code snippets and samples. The preferred way to use them is to download an example: for example, gdata_feedfetcher. (You can find the script at http://code.google.com/p/google-app-engine-samples/source/browse/trunk/gdata_feedfetcher. Google also provides a cookbook. You can browse code samples and commentary at http://appengine-cookbook.appspot.com. You can either read the code or run it. Then edit the code sample to meet your requirements, upload the application, and you are able to use the Google infrastructure for the application.
The approach is straightforward and easy for a developer familiar with Java and Python programming tools. If not, you will have to put on your thinking cap. Google does not provide the memory foam cushions and training wheels that some vendors provide. Google assumes that its customers are Googley, which may or may not work for the company in the long run.
There are some gotchas, of course. Google is a commercial enterprise. You can use the App Engine without charge, although registration is required. Once your application drives traffic and data transfers above a certain level, you will be asked to pay Google for those industrial-strength demands. The pricing is reasonable and competitive with Amazon’s cloud services. However, the App Engine is comparatively new, and Google makes it clear that it wants to encourage developers to use the capability. Based on the information available to me, Google wants to keep the prices reasonable.