I guess most of the web is going to say what I’m about to say. I suspect a lot of people already have said this stuff, in fact. I’ve been at work and not reading the Internet today. Still, I want to put it on record: If you are a web developer and you’re not rethinking your entire world in the context of Google App Engine, you’re wrong. It’s the best thing to happen to the web since it showed up; all of the hard problems in the web domain that aren’t related to your application and specific problem domain are now solved.
Unless I’m nuts, this is the new way to prototype and (when this becomes “live” and the full scaling/pricing model is released) deploy web applications. Why bother handling infrastructure and scaling when somebody can provide a much bigger and better infrastructure? We’re not talking Joe’s random scalable web infrastructure. We’re not talking about somebody who just read Schlossnagle and wants to stretch their nuts.
We’re talking about one of the biggest networks in the world. A massive distributed data store. Redundant, too. An abandonment of the relational model. One of the largest computational grids out there.
Let me repeat: Using anything else does not make sense. High availability, fault tolerance, and linear scalability is now a commodity. Now the only challenge is writing applications; the hard infrastructure problems are solved. Google has created an infrastructure incubator.
Don’t get me wrong, I’m sure there are limitations. I haven’t used my account yet, or run through the tutorials. Most of the demo applications and things people have hacked together are toys. This is no real shock, given the short time frame.
In my head the one thing that Google is really good at is infrastructure. Fuck the rest of what they can do, they know how to build infrastructure, and they have at least a few bright engineers that have the vision to invest in making some solid infrastructure. The specific things that Google does are not, as a general rule, that impressive or interesting. But, they have been building a robust platform for a long time, and a platform that can scale like Google’s takes some smarts. My belief for years has been that when they figure out how to commoditize and sell that infrastructure, they will find a way out of having all of their eggs in the basket. Google is now the application platform on the Internet.
I’m not stupid; I don’t mean that they are yet. This thing has been “out” for a day, after all. That said, it’s just a matter of time. This will be the one way to host dynamic web content.
As far as I can tell, the one thing the system does not provide is a direct compute hook into Google’s system. It looks like everything thus far is query and data oriented. Provided that a problem can be enumerated as a data query, this isn’t a problem, but I don’t yet see this as a generic computing platform. As long as your problem is just querying data and transforming it into something for a user to view (this covers far more problems than I think people realize; if your application is LAMP, your odds are pretty good), you don’t have an infrastructure problem anymore.