The Promise of App. Engines

I often use the metaphor ‘build’ for software development, and have considered that directly in a separate article. One place that that metaphor breaks down is with all the work that must go into maintaining an app once it is deployed.  You might have built the darn thing, but if you don’t maintain the server and backup the database, it’s not going to be useful for very long.

The promise of software like Google’s Application Engine is that it fulfills a lot of non-functional requirements that would ordinarily be the domain of entire IT departments.   For example:  the app is hosted on Google’s servers, so there is no hardware to maintain.  The app’s data is stored in the GAE data store, so there is no database to backup, update, secure and maintain.

Furthermore, if one buys the marketing, these ‘hosted’ apps also scale a lot better than say something written for mod-perl running out of a Debian box in a data center.  I’m not exactly clear how this works — I mean from a web server perspective, it’s fairly pat:  on some level the GAE adds web servers to scale with increasing numbers of requests.  My question is how does the data store scale?    I have found it quite challenging to conceptualize how to partition a database so that servers can be added and an app can scale.  Does the GAE data store take care of this for you?

In any case, as the proud owner of one circa 2003 beige box grinding away somewhere in a datacenter in Delaware, the Google App Engine (And Amazon’s offering, which I know less about) promises a great deal in terms of aleviating headaches, and promoting the creative craftsmanship side of web app development.

This entry was posted in Software Development and tagged , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">