This post (and probably some more) is about coming to grips with Microsoft’s latest announcement at the PDC: Windows Azure and the Azure Services Platform. Matter of fact, I’m constantly turning this thing over and over, trying to discuss it with various different people, trying to think different scenarios through, and I’m constantly adjusting my perception. Frankly, if anybody tells you he has understood what is ahead of us, who says he knows how all that stuff will evolve, you’ve met a fool.
Now for this fool’s current view…
I’ll not try to explain it in technical details (not this time anyway, start at here or here to come up to speed — anyway, there are probably books being written about it right now). And I’m certainly not going to join the debate, whether Azure is an operating system or not.
I was still at the PDC when I started a Google search to see what reactions Azure triggered. That particular question was a predominant topic — and utterly without any consequence. (I couldn’t find that again though, it’s buried under millions of near identical pages describing Azure.)
So let’s talk about what Azure is about. For me, for you, for the companies we work for, for the industry.
Hailstorm — or what Azure is not…
When I first heard about some of the Azure stuff I immediate thought “Wait, didn’t they announce something very similar in 2001? Called Hailstorm a.k.a .NET Building Blocks a.k.a. My Services?”. It turns out that I was not the only one with this particular déjà-vu…
Taking a closer look, however, there are some significant differences in strategy between Hailstorm and Azure: Hailstorm was about Microsoft providing services to manage your data. Azure is about providing a platform for your services. In other words: With Hailstorm Microsoft said “give us your data and identity, keep the apps”, with Azure they say “give us your apps, you may keep the data and the identity (or you may choose to let us handle that as well)”. This is certainly a noteworthy change in attitude.
There’s another thing that changed since 2001. In 2001 Hailstorm was a new approach. It was visionary. It was the first time that someone asked me to let him manage my identity, appointments, even my wallet! And it was the evil empire that asked this very question… .
Today, hosting providers are a common thing and trusting Google or online communities with personal information is quite normal. Going even further, Amazon already offers a service platform with AWS, based on virtual machines (EC2), storage (S3 and SimpleDB), and a queuing service (SQS) as messaging bus. Google App Engine provides scalable application hosting (Python apps) and complements that with their identity system (Google Accounts). So, the good news for Microsoft is that they are for once not the bad guys. Of course, Microsoft being Microsoft, that probably only means that they will be accused of being the copycat again… .
What Azure may eventually become…
Still, what’s the big deal about Azure? I mean, doesn’t my hosting provider offer virtual or dedicated servers? Aren’t there enough storage offerings, many of them for free? Aren’t there Internet communities, online applications, service providers, …?
Well, looking at Azure piece by piece, there’s nothing new, nothing especially exciting. But take a step back and look at the big picture, at the strategy. With Azure…
Microsoft becomes a service hoster and operator. Not just a server hoster. They don’t stop at booting a VM. They operate your applications, load balance them, restart them on failures, scale them, provision them, provide an upgrade mechanism that doesn’t disrupt 24/7.
Microsoft becomes an application service provider as well as a service provider. They do not stop at providing fully fledged business applications like CRM or other. They offer basic infrastructure services like SQL Data Services or Workflow Services. You could even build your own CRM System, run it on Azure, competing with Microsoft’s CRM — and Microsoft couldn’t do anything about it (for if they would, that would put them out of business at the speed of light).
Microsoft becomes a service integrator. They don’t stop at getting applications into the cloud. They offer bridges to your company’s private network. Using Access Control you can leverage your local AD to control security. Using Service Bus you can integrate with any application on premise or in the cloud, even let business partners integrate with you.
Microsoft becomes a device integrator. They don’t stop at central storage or some device specific app for synchronizing contacts and appointments. The let you sync any application data on any Live enabled device on the fly, including handling offline cases.
Microsoft becomes a people integrator. They don’t stop at providing some social application. They allow you to collaborate with other people within your own application. “People” being users authenticated by your AD, LiveID, OpenID, and probably any other well-known ID provider. All based on “claims” in order to build trust between app and user.
And most important: They do all this at once! Putting it all together Microsoft offers a far more complete, comprehensive, and concrete vision of what the hazy term “cloud computing” means than anybody else out there. It’s the vision of interconnected, intertwined applications, devices, networks, … the next level of ubiquitous computing.
OK, I may have been carried away. Currently Azure is rudimentary, not yet version 1 (and we know what version 1 usually means at Microsoft) and many questions remain unanswered. I cannot help but think that the mixture of various existing apps and services with hosting and a big bunch of announcements, all wrapped up in a nice name, is more like a stew, thrown together but not yet readily cooked.
But then I might not. After all, Ray Ozzie said it loud and clear:
“[…] the systems that we’re building right now for cloud-based computing are setting the stage for the next 50 years of systems, both outside and inside the enterprise.”
and
“[..] we’re betting on Azure ourselves, and as the system scales out, we’ll be bringing more and more of our own key apps and key services onto Windows Azure because it will be our highest scale, highest availability, most economical, and most environmentally sensitive way of hosting services in the cloud.”
That’s what I call an announcement.
Does Azure stand a chance?
Cloud computing and Software-as-a-Service is widely seen as a coming trend, Azure or not. Microsoft is entering this market with vision, data centers, and service offerings. And a huge developer community and tooling support. This will change the IT industry and not many companies will be able to compete with that.
But a small statistic may be funny:
Google search for „Windows 7“: about 35,000,000 hits
Google search for „Windows Azure“: about 1,830,000 hits
Google search for „Amazon AWS“: about 13,000,000 hits
(measured 12. Nov.´08; add one for this post 😉 )
That’s 20 times more hits for Windows 7 than for Azure. Quite a poor result for the thing that denotes a change in strategy for the worlds biggest software company, the thing that Microsoft is betting its future on.
On the other hand, 2 million hits is “not too shabby” just two weeks after its announcement on the PDC. And it starts to shine if compared to the mere 7 times more hits for Amazon’s AWS, the offering that’s probably the most similar to Azure and one that dates back to 2004(!).
My opinion? Don’t expect Azure to play a big role next year or the year after. But then, don’t expect it to play no role in 10 years.
Great article! Very good points about how Azure will play out in relationship to MS CRM.
Comment by Craig Klein — November 17, 2008 @ 6:41 pm
Just some thoughts from a developer’s view:
When I am talking about Azure, most people show the same reaction: “I will not give my data to Microsoft, nor will any/my company do.” It is funny to see that nearly all .NET developer I spoke to, behave like this (you know, these developers who present their whole life in facebook etc. ;). Microsoft should work on their image somehow.
The good thing is mentioned in “Microsoft becomes a ….”. Since I am a .NET developer, I have a .NET platform environment supporting the cloud business case (such as google and amazon)
OK. The core Azure system is about trusting Microsoft (as long as it is only available from MS – we will see). You will have to trust MS that they will deliver computing power. You will have to trust MS that they will not use your data (hey what about Google, Amazon …). But this is not the main point for developers.
Microsoft presents an architecture that will scale beyond my scope. They offer a solution for monitoring, versioning, computing/data distribution and authentication. You are free to use it, if your business profits from it. For me it is an reference on how to write scalable software (stateless, asynchron)
Alternative you can use the .NET services to do your work in the Cloud without using the core Azure system. Use your own computing power by providing computing services, use your own data storage by publishing your own data services (e.g. via Biztalk Services). Change your architecture!
Conclusion I: Azure and its services is about services in a cloud (developers view!). Use your computing and data storage power wherever you want. Use the base Azure conzepts to write scalable, secure and versionable services. As a .NET developer, use the preferred technology stack (uuuuhh damn stateless, asynchronous and services stuff). Write services, write services, write services.
Conclusion II: If the security concept (federated authentication) will not be accepted (trusted), the cloud (and Azure) will fail. MS should provide the “connectors” for free. MS should connect all major portals.
Conclusion III: Developing using WebRoles (FrontRole), WorkerRoles should not be special to the Azure environment. This should become a standard pardigma for “normal application development” (ASP.NET, Silverlight, WPF).
Comment by Fried — November 18, 2008 @ 12:41 pm
They have no clue. Flat out. Sure things will go their way. They are just too big. They can afford building the datacenters. They can afford being competitive on price to Amazon. But there is nothing revolutionary about it. They don’t even have a clue how to bill yet. Disappointing. Same feeling as when WCF shipped. Disappointing. WCF could have changed the way people build apps, but it still almost mandates the request reply model everywhere. Same crap as before, just different topping. It is a technologically good platform. But it stops a couple of steps short of being a change in direction. Same with Azure. Disappointing. But why should they bother changing the game?
Azure stitches together a handful of already existing technologies, and does that result in a vision? I don’t really think so. Microsoft just sucks at changing the world. They take their piece of the cake, but they are not game changers. Slow and steadily, but not “PDC, here we are, changing the way applications are done”. He who believes that is a jerk.
What they have built is a technology to build, manage and provision scalable apps. What is crap about this platform is that I don’t have a unified way of building apps. It shouldn’t matter, where I host my code and my data and my workflow. Why should I care whether I will host my crm platform in my datacenter or in the cloud? Or in my datacenter now and the cloud later? Or half of it here and the rest there? With Azure I’ll have to make that choice before I start building. Because as of now, Red Dog won’t be licenced (well parts will find its way into products).
I don’t really think these guys have a clue. Technology wise they do, but vision-wise, I doubt it. Other MS products in the pipeline will have a bigger effect in the short term.
These guys should do better, quicker. Well Ray is a good guy. At least he has ideas.
Comment by Brian — December 6, 2008 @ 1:09 am