I get asked this both by colleagues and clients, why Windows Azure? What makes it special? I’ve answered that I believe that if we don’t get “with the cloud”, we’ll be the COBOL programmers of the next generation. Now before anyone gets offended, I’ve done my share of COBOL. I also need to put this in context.
Some of you that come here may be aware that I also have a blog I do called the Cloud Computing Digest. In my latest update I made the following statement.
When talking to people about cloud, I keep telling them that IMHO Microsoft is betting on PaaS and playing the long game. The patterns that are being pioneered in products like Windows Azure will be coming back on premises and affect the way we build solutions. I believe this so firmly that I’ve essentially bet the next 5-10 years of my career on it. So it was nice to get some validation.
Now this resulted in a question back from a colleague in Ohio…
Clarify this for me, if you would. I am perceiving it as; Since cloud platforms are so massively scalable, their architectures will be mimicked by enterprises that still take a traditional approach to their platforms.
I use the word “traditional” to mean: “Here is our server room” as in it is on-premise at the client site.
Is that what back on premises means?
This made me realize that the discussion that follows my statement when I’m talking to folks helps put that statement in context. While its difficult to have a discussion on a blog, below is my attempt at a more detailed answer.
Microsoft, unlike many of the other vendors is already fully, deeply, and some say irrevocably entrenched in the on-premises world. Windows servers still drive the enterprise. Other cloud computing players are almost entirely hosted. Google, Amazon, Rackspace… they don’t have this advantage.
If you’ve looked at what Microsoft does, they pick a direction they know they can control and exploit it. Now they already had a good set of tools to manage their own data centers. Tools built on the back of offerings like MSN, Hotmail, Bing, BPOS, etc… So it made sense to take those tools to the next level and create something like Windows Azure. A product built on a vision where you no longer have to configure each server manually and install applications into it. A vision where a “fabric” of computing hardware could also dynamically shift the load to whatever hardware was necessary to best leverage the resources in the datacenter.
So that’s where we are at today… what about tomorrow…
We have all these servers back on-premises. And we’re building up the tools to make them easier to manage (latest hyper V updates for example). But even if we make it easier to virtualize and manage those resources, we still have the application deployment challenges. One-click made it easier, but there’s still environmental setup and the lack of the ability to move stuff around in an automated fashion.
So the next step is to make this easier. We do this with another fabric approach and add support for discrete application units that can be scaled and connected into more complex solutions (gee, just like we do in Windows Azure). Essentially taking SOA and finally making it practical.
IMHO this is where things are going. Cloud, and specifically PaaS requires us to think differently about how we architect our solutions. This new approach WILL leave the cloud and find its way into the on-premises world. As such, we’re on the front end of a new trend in computing, the likes of which we haven’t seen in almost 20 years.
That is what I’m banking the next 5-10 years of my career on. If this fizzles, I’ll be heavily invested in an architectural approach that hasn’t panned out and more to the point an expert in a failed platform. But I’m confidant that this will not be the case. That those of us that adopt this new thinking now will be uniquely qualified to take the lead when the future comes to pass. :)