James pointed to Amazon’s SimpleDB a little while ago; I’ve been on vacation for two weeks, so I’m a bit behind. Looking over the SimpleDB main page, it seems they’re going forward with the potential that Microsoft has with Project Astoria. The missing link is taking the hosted offering as seriously as Amazon does.
Astoria – Microsoft’s REST
I must admit that, since last year when I went to a day-long review of Astoria, I haven’t followed it extremely closely, and I had to pass on the most recent Astoria review meeting. My Astoria information may be terribly out of date. As Pablo Castro noted last month, there’s a new Astoria CTP out.
To be brutally brief, Astoria is a Microsoft REST-ish framework. In the initial review, as I said, I was quite impressed. I did some more blue-skying on the topic a little while later. They were offering Astoria as a framework for coders to use, but also offered a hosted, “labs” version for people to play around with. This hosted offering wasn’t intended for production use – which is where the initiative lags behind Amazon.
Large companies are always slow to simply release hosted offerings, which drives the innovation hungry nut in my crazy. On the other hand, I understand that these companies – like Microsoft and IBM – want to get it right before shipping things out. This isn’t to imply that people like Amazon ship crap. Indeed, their track record is pretty good compared to famously fast and furious folks like Google.
Fears of Lock-in
As I noted in my post on Astoria, the hosted offering was the most intriguing aspect for me. The reason: Microsoft frameworks are plagued by lock-in fears. That is, you’re either a 100% Microsoft coder or a 0% Microsoft coder. Sure, that’s an exaggeration, but the more nuanced consequences are that something intriguing like Astoria will play best with Microsoft coders, unlike Amazon’s web services which will play well with any coder.
A hosted option has the potential to remove this mental barrier to usage. If you’re just coding to a URL, that’s not quit so bad as coding to a .Net library and all the Microsoft baggage and tool-chain needed to support that.
This whole scenario of lock-in fear isn’t unique to Microsoft. Avoidance of it is part of why open source offerings are psychologically much more appealing than close source ones to many coders: see WebLogic or WebSphere vs. JBoss or Tomcat. Also note, as with most “fear,” the question of whether it’s “rational” or not is besides the point. The fact that developers operating and react with that fear is more important.
A Hosted Offering is the Thing
Pulling back then, the question for Astoria, SimpleDB, and all these “the non-relational database” databases isn’t so much a question of a good idea or not, but the way the technology is packaged and delivered. My sense is that unless it’s all delivered as a URL with dead-simple docs and pricing (check out the page for SimpleDB), any given technology won’t work out at web-scale.
Put another way, these new technologies need to be completely self-service. If a developer has to ever talk with a human from the company or team offering the project, something has gone wrong. You can sling out all sorts of “complex problems need complex solutions” chaff, but the historic fact remains that the new, simple solution tends to win out versus the new, “complete but complex” solution. And of course, there’s some wiggle room with the difference between “complex solution” and “easy to use complex solution.”
Which, really, is what URL-based computing is all about: another tilt at the complexity windmill with the jousting stick of abstraction and encapsulation.
Disclaimer: Microsoft is a client, as is IBM.