Lately, there is a new technical term called Cloud computing. It means that the application is not dedicated only to one or more than one specific servers. Under this approach, it thinks everything is a resources. And from the application point of view, it based on what the user want to request what they need. To be more specific, we may not know how data store and where is the database, just known there is an interface connected with. We could retrieve the data through this interface. Therefore we could reduce the workload of each server and share the bandwidth since each request may cross different servers.
For the Google app engine, it uses the Cloud computing approach which allow small to medium size business to host their applications (include DB also!!) under Google. However, I just worry this may not work due to the following reasons :-
1. Security: May store sensitive data under service provider.
2. Data Mining issue: Since we may not own our DB, it may have difficult to do the data mining. Nowadays business intelligence are very powerful, however, it requests you have a real DB.
3. Connectivity : Will this framework has the sufficient functions to connect different local resources? The business application is not just only a web applications. It may interact with some files stored in some local resources (e.g. XML stored in a folder).
4. Maintenance and support: Backup maybe got headache now.
Due to these reasons, I don't think many commercial web applications will use Google app engine. Most likely, this is just a more powerful Web Hosting environment with better Ajax support and required fewer bandwidth application for Web 1.0 to Web 2.0 applications but not real business applications (Web 3.0?).