First impressions on Google App Engine
Google App Engine lets you run your web applications on Google’s infrastructure. App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow. With App Engine, there are no servers to maintain: You just upload your application, and it’s ready to serve your users.
You can serve your app using a free domain name on the appspot.com domain, or use Google Apps to serve it from your own domain. You can share your application with the world, or limit access to members of your organization.
Without actually firing up the SDK yet, here are my initial thoughts:
- Do we trust Google? With our data? With our users? I love the idea of the Google App Engine (GAE), a scalable web app system where you only have to worry about coding your business logic and structuring your models. This is kind of like Amazon’s EC2 on steroids. No sysadmin stuff like with EC2, just coding. However I do not love that Google is already in the web app space themselves and is now marketing a web app space hosting platform. You have to trust them a little bit more then I’m comfortable with. They’ve already got your users and your data and your code. Don’t they conceivably control your business at that point? Maybe I’m being paranoid here.Plus, there’s the lock-in factor. If I develop my app using MySQL as a backend, I know I could with only some minor pain change that backend to Oracle. It’s all SQL at some point. How would you swap out of using the Google DataStore API? It’s a proprietary system with no published standards.
- GAE is currently only in Python. No PHP love? I realize a lot of Google runs on Python and C++ and that’s what it is in their wheelhouse. But I still consider Python to be a fringe language. If GAE were opened up to support PHP and C#, it would blast off in popularity. Then again, a Python only crowd is a good beta test before the crush of PHP devs comes in.
- The DataStore API (ie, BigTable) is difficult to wrap my head around. After spending so many years carefully crafting db tables and relationships to get the most bang for my buck, I now have to throw out a lot of that hard-earned knowledge. I need to think in terms of objects (or columns) instead of rows.There are still relationships and keys to keep track of but not in the traditional ways of SQL. It seems like much more of your data fetching is done in code rather then in SQL. The shift in thinking reminds me of my own move to Object-Oriented Programming. I whined like a baby during that phase of my programming development (well, at least I did on the inside).
6 Responses to “First impressions on Google App Engine”
By Hone on Apr 15, 2008 | Reply
Python is so fringe its the chosen language of the most powerful web company in the world.
By Rob Young on Apr 15, 2008 | Reply
1. No, we don’t trust google with our core data, but we don’t have to. GAE is very well suited to accessing services so we can use GAE to disrtibute our frontend while our core services are kept back. With regard to lock in, it’s already been ported to EC2 (http://waxy.org/2008/04/exclusive_google_app_engine_ported_to_amazons_ec2/) so migrating off isn’t going to be too much of an issue (so long as your application is well seperated).
2. Python is not a fringe language. It might not be quite as popular as PHP in web development (yet) but it is far from being a fringe language. Besides, the language isn’t really very importent, it’s the API and what it provides which is important.
3. You can still do SQL-like querying with the GQL API.
By Rich Zygler on Apr 16, 2008 | Reply
Python isn’t the chosen language of google. It’s one of the languages they use. I suppose it helps that the author of python works there? Google didn’t become Google because of their use of python.
And Python’s not fringe? Surely you jest. From this month’s tiobe index:
Java 20.529%
C 14.684%
(Visual) Basic 11.699%
PHP 10.328%
C++ 9.945%
Perl 5.934%
Python 4.534%
And from a search of dice.com for each of these languages:
java: 15508 jobs
c++: 7686 jobs
c#: 7669 jobs
perl: 5558 jobs
php: 2603 jobs
python: 1361 jobs
Congrats python! You’re almost as in demand as Perl! Which was dead as a language 3 years ago.
Sarcasm aside, python is definitely growing and worth checking out, but come on now. Good luck hiring python programmers.
By aurelian on Apr 16, 2008 | Reply
If GAE were opened up to support PHP and C#, it would blast off in security.
By Adam Charnock on Jun 10, 2008 | Reply
Hey,
It may interest you to know that Zend and Google do seem to be talking about providing PHP support in GAE.
For more info:
http://porteightyeight.com/archives/201-PHP-for-Google-App-Engine-in-the-works.html
By Rich Zygler on Jun 12, 2008 | Reply
Hmm, rumors and gossip about Google going with PHP? I’ll take it!