Programming Google App Engine Book Review
While the Google App Engine has been available to developers for some time, the degree of adequate documentation beyond the SDK online docs has been sparse. Author Dan Sanderson, a member of the Google App Engine team, has attempted to address this deficiency with this book. Has he succeeded? Read on to find out.
The Google App Engine is the predominant hosted solution system that helped define the cloud computing paradigm. Partly due to its success, other major players from Amazon to Microsoft have entered this recently lucrative arena. Programming Google App Engine provides developers with an excellent analysis combined with numerous tutorials on how to leverage this powerful hosted service solution.
The book consists of 15 chapters, beginning with the obligatory introductory chapter describing the overall intent and architecture of the service. The next two chapters walk readers through the creation of a simple Python and Java-based web clock with Google account login and simple data backend interaction. Chapters 4 though 8 dive into Google's proprietary datastore and how to access this using the SQL-like Google Query Language (GQL) and its respective Java and Python Query API's. Chapters on the memory cache, URL fetching and asynchronous requests, bulk data operations and remote access, task scheduling and queues are also provided. There is also a chapter on email and XMPP messaging that shows how the GAE can autonomously interact with systems beyond HTTP. Finally, the book concludes with a very useful chapter on deploying and maintaining GAE-hosted applications.
Unlike the book Using Google App Engine published by O'Reilly earlier this year, Programming Google App Engine is considerably deeper, more methodical dissertation on the architecture, design principles and application development best practices around the GAE. As such, it is a book ideally written for developers, predominantly those comfortable with Java and Python. Although JRuby is mentioned, shimming Ruby on Rails on top of the GAE is not explored. Conversely, riding Django on top of the GAE is detailed in a chapter dedicated to the subject, with the majority of pages devoted to tweaking Django's ORM to work with Google's proprietary data storage system.
Reading this book unquestionably provides readers with a richer, more comfortable understanding of how to leverage the GAE for hosted, cloud-based web applications. However, like the previously released Using Google App Engine book, the author fails to explore nagging questions like the ownership, management, liability, reliability and highlighted successful case studies to further encourage the use of the GAE by wary developers concerned about hosting their codified intellectual property on Google's systems. Perhaps that investigation belongs in a separate book analyzing the cloud computing question on a broader scale, since these questions apply to other providers beyond Google. Regardless of this business analysis omission, the author accomplishes his primary objective of educating readers with a comprehensive understanding and appreciation of the sophisticated web app delivery system Google has created for its customers.
Title: Programming Google App Engine
Author: Dan Sanderson
Publisher: O'Reilly Media
Price: $44.99 US