I spent half a day at the Philly .NET Code Camp and ended up attending only two sessions (weather was too nice outside to be sitting inside on a Saturday :-D). By chance, I saw Alvin Ashcraft's name on the list of presenters when I showed up, so I was hoping I'd get to meet him in person. But he was seemingly absent from his early morning session.
One of the two sessions I attended was on Windows Azure; it was an excellent presentation given by Dave Isbitski. I've dabbled with it a bit early on in the CTP and was not particularly impressed. Since then, I've continued to read up on it on and off. The one thing that I took away from today's session was that Azure is not enterprise ready (yet) and perhaps isn't meant to be?
To understand why, consider your account management and login experience: it's all tied to Windows Live IDs. Yes, that's right. Windows Live IDs. This means that your enterprise password and account naming policies can't be enforced. Your enterprise password complexity and history rules are not applicable. Furthermore, what happens if the person who owns or creates a new Live ID leaves the company? Perhaps she'd be nice enough to hand over the password info, but what if this person were hit by a bus? I think this is a big problem. What if she has a grudge? And just how secure are Windows Live IDs?
Account management is another issue. As it is, it requires entering in credit card information. This doesn't scream "enterprise" to me. You'd think there would be an ability to link accounts to company by company billing accounts (I dunno, maybe via a company's MSDN license?) There's also no concept of hierarchical account linking and instance management. This means that I can't even associate multiple Live IDs with one account and set granular permissions on the instances that each account can control (for example, Steve's account can manage these two worker roles while Joe's account manages this web role). What it boils down to is the wild, wild west of account management; there's no global view for a company to monitor usage across multiple accounts.
While there are a host of other issues (the ability to create data (SQL log exports and external replication are not supported, for example) and image backups) that affect enterprise adoption, perhaps the biggest one, in my opinion, is the big question mark of how these systems can be validated. Whether you're working with clients in the financial industry or perhaps insurance or life sciences (like me), enterprise systems will need to be validated and certified. I see this is a big challenge for adoption in life sciences due to the strict validation requirements for software systems.
At the end of the day, I can kind of see where Microsoft is going with this if you compare it to Google Apps, for example. But the key differentiator to me has always been that Microsoft always represented the enterprise while Google perhaps better represents the entrepreneur and the tinkerer. While both approaches are needed, it does add some difficulty in terms of evaluting Azure for enterprise usage given that the current implementation of some of the core features are not very enterprise friendly.
That said, it's still an exciting platform. I've got a few things brewing and I'll be keeping the blog updated as I complete my experiments.