Posts Tagged ‘architecture’
Uh oh, AppEngine is the shit! I’m very excited! Might just be the News of the Year.. we’ll see about that. But, I always want more..
GAE is definitely packed with a lot of sweet features. Like having Python as the first language, and Django being the ‘featured’ web framework there. Ruby might have been pretty much as good as a language, but Python’s more comprehensive platform suite stuff is very handy to have; and I got a feeling that the Ruby community has a minor emphasis on creating “flashy web sites” over creating a bit more novel services.
Also, I was very happy to see relations and transactions in the DB interface. SimpleDB is just too simple.
But, now, I also think that (to be frank) the AppEngine is a little retarded already: the only communication pattern available is request-response. Nothing like event-based mechanisms can be implemented using the current interfaces.
There are currently at least two factors that limit the design of more responsive apps:
- connection timeout limit is ‘a few seconds’ → no persistent connections (think Comet)
- no threads or background processing
Drivers for this are clear: current API structure grants that there are absolutely no limits to distribution and scalability of the applications. (You can’t build such even you wanted! Interesting, eh?) Programmer doesn’t need to care about load balancing, state handling, platform architecture, etc. He can just feel happy that them codes are proposedly running on BigTable etc. And the abstraction really does feel successful. At least for simple apps.
But now, if you remember that
- services are switching to two-way communications to suppress polling load and cut down lag,
- amount of time-sensitive information is increasing, and
- patience of a user is decreasing (might be plural, but to be on the safe side),
you don’t need to be Nostradamus to see the severity of the request-response cycle.
Basically, I’m disappointed not seeing interfaces to Google’s messaging platform anywhere. But, push assumes quite a different application architecture so I guess there wasn’t enough business reasons — and perhaps not enough concrete experience — to design/publish that kind of a platform. Dion might know a little more about Google’s standing..
But, the thing shall be called PollEngine for now.
And yeah, I’ve been a little too occupied with work now recently, severely lagging in following the industry. At least I got my ACM Queue order in place, which I think as one of the best tech magazines. Although I need to still get a couple more issues to be really sure about it..