What do Angry Birds, car sharing, the game Ruzzle, and Khan Academy all have in common? They've boosted their operations as clients of the Google App Engine. Apps are implemented using Python, with Java as a second language, making AJAX web applications feasible.
The App Engine API claims to help their developers do groundbreaking work. As Programmableweb's own Romin Irani shows the reason is they work at it. Google App Engine has been consistently releasing updates month after month, and he notes one particularly significant one at the end of 2012, "release 1.7.4 is significant in the fact that several APIs that were experimental in nature till now have been upgraded to General Availability (GA) Status." In a followup post, Irani notes that Google added cloud endpoints and Java 7 support.
The Khan Academy case study has been instrumental in being able to turn out top quality learning videos for high school and college students to use--for free. Founder Salman Khan has rocketed to fame on their popularity, getting funding from Bill Gates, and according to Forbes, grabbing the attention of 10 million students. But such growth poses problems, not the least of which are back end service issues like keeping your servers running, not something you can focus on when you're creating some of the best videos out there every day. As the nonprofit's lead developer , Ben Kamens, put it, keeping things inhouse would have diminished the quality of what they do, he told Forbes.
"With Google App Engine, we don’t need a system administrator or anyone dedicated to deploying our app, so 99 percent of our time is spent working on our application...A lot of what the Khan Academy is about is collecting data on student behavior so we can teach them better,” Kamens says. “Did they use a hint? Have they watched the video before? That data is being stored on Google App Engine so we can figure out what the most effective videos are, or where students struggle the most.”
The Khan Academy provides individual profiles to students so they can analyze their learning progress, which means the organization needs systems running in the background to collect and track of all this data. Because Google App Engine takes care of server support, the Khan Academy’s five developers can spend almost all of their time improving site functionality.
In the friendliest form of gotcha journalism I've seen in a while, the Forbes article quotes him responding, again, to the suggestion that he should have been for-profit.
Khan is nonplussed. "Being a billionaire is sort of passé," he shrugs. "It's ironic. When I used to try and describe what the Khan Academy was, I would tell people that if I were a for-profit, I would be on the cover of Forbes."
All of the case studies are worth the read, but let's just look at one more here, Rovio and Angry Birds. Surprisingly like Khan Academy, Rovio faces a herculean task of scaling up so that its infrastructure supports demand. The Google App Engine became imperative as soon as Rovio expanded from mobile to web browsers. As Stefan Hauk, the lead server developer for Rovio's web games put it, these days things start big,
"Our web games tend to be popular immediately, so we don’t have the option of scaling them over time. Google App Engine makes the process painless, since it can instantly launch as many servers as we need...There have been times when we’ve been asked to build a customized game in a week or two. We know that App Engine will enable us to do this and that it will scale for us no matter how many users we get."
Features of Google App Engine that are popular with Rovio include the perfomance boosting Memcache API, High-Replication Datastore, task queues, and authentication through the users API. But the best feature? That's probably the end of all that after-hours on call work dealing with server issues. That's disappeared, Hauk says, because "Google App Engine just works."