Microsoft aims for clouds with Azure's programming model
Opinion - This morning in a public webcast, Microsoft announced its upcoming Windows Azure tier-based operating system. Designed to take enterprise-level server systems where they could not previously go, this massively distributed cloud computing OS brings several technologies and products together through shared services and direct interaction. Presenter Ray Ozzie called it, "the Windows of the next 50 years." So, is this truly a blue letter day in history (in honor of Azure's name - which ironically means 'cloudless sky,' or 'blue')? Or is it the beginning of another 50 years of blues song about the Windows operating system?
Basic stuff, just much bigger and much better
There are simply too many details to fully convey everything set forth in motion today by Microsoft's announcement. However, suffice it to say that current Microsoft developers have had their wildest dreams come true with Azure.
Hardcore Microsoft developers will be able to utilize their entire existing set of tools with Azure, making the migration from existing applications to Azure-compatible applications a snap. This transfer includes pretty much everything Microsoft has ever released to developers, including .NET, Visual Studio, ASP, SQL, Office, coupled to a renewed commitment to the XML standard, and so much more.
Also included are a common set of interfaces and technologies aiding in the simplification of security, storage, data transfer, synchronization, communications, etc. And all of it is included and directly supported for in Azure and its developer tools.
Biggest release ever
This is Microsoft's single largest developmental release in their 34 year history. And to top it off, Microsoft announced that what we're seeing today is only a small part of what will come in future months and years - specifically in 2009. They promise not only more and better, following along in the direction real-world developers (not Microsoft employees) will help take them, but also in the areas of an increased level of security, reliability and compatibility to support what they're literally calling "the 50-yr Windows."
Microsoft's announcement today parallels an emerging trend among closed-source commercial software companies. Specifically, Microsoft appears to be truly listening to the industry, taking cues from real customers. This announcement today follows in that tradition whereby several companies over the last year have acted similarly, announcing they are working with their users and developers to see where the end lies because they don't yet have a full plan of where they're going.
In taking it all in, it honestly seems like because technology is changing so fast, specifically in areas of hardware compute, communication and parallel processing abilities, these companies are unable to gaze deep into their crystal balls as they could in previous software generation cycles. They simply can't see clearly the path ahead. And instead of taking chances on what they think might be, they are turning toward their core developers and saying, "Hello. We're here to support you. Where would you like to go today?" And then they are doing the unthinkable, they are actually following and going there. Or at least that how it seems to date.
Listening to developers will be key
Part of this trend of listening to customers and going the way of the market is in direct response to the success of open-source initiatives like Linux and its growing popularity. But, there is absolutely no question in my mind that what Microsoft has announced today will take the open-source community quite a while to respond to.
Very succinctly, Microsoft has developed and released an alpha version of what will likely become THE de facto standard for web software distribution - bar none.
All of your servers belong to Microsoft
Microsoft has developed a software platform, with hardware infrastructure and support driven by the uber-simplicity and machine flexibility made possible by hardware virtualization, which moves the data center and its many maintenance headaches away from individual efforts and into their own corporate realm of expertise.
Microsoft has announced they'll be establishing huge server farms world-wide to support this effort. They will be capable of scaling up and down as necessary to support the needs of any enterprise-level application deployed on its architecture. And if 10,000 huge, massive enterprise-level applications are simultaneously deployed, then Microsoft will scale their hardware and bandwidth up and down to accommodate such needs.
Microsoft has also released, for the first time ever, a set of generic tools for developers which make it possible, from within this new software architecture, to deploy these types of enterprise-level applications without hindrance or complexity. This also includes the release of periodic upgrades, bug fixes, new versions, expanded or contracted software models, and all of it without ever taking the server down completely (significantly bypassing the often dreamt of idea of five 9s). Azure gives developers abilities like these without any complex or custom coding. It's all handled for you, compliments of Azure.
Impervious to earthquakes, power outages, coup d'etats, famines, locusts, alien attacks, and pretty much everything else, Microsoft's cloud-based distributed platform has given the developer community THE tool they've needed. Becoming a world-class enterprise-level applications developer has never been easier.
Without question, it is simply the greatest software and hardware platform release Microsoft has ever given unto the world. And this is likely the one product which may truly live up to its Microsoft billing, namely "the 50 year Windows."
Read on next page ... Author's opinion
As I was listening to the presentation today I could not help but recognize what this truly means. To be clear, Microsoft is offering to the world the ability to host every business's software from now until at least 50 years from now. They've released such an awesomely integrated set of tools that it will be so very easy to follow suit and march in the direction of Azure, all the while singing, "Oh, it's so wonderful. Thank you, Microsoft! Oh it's so wonderful, yes it is. Oh, it's so wonderful. Thank you, Microsoft! Oh it's so wonderful, what you've done for my biz."
But consider what it means. All of the data, for every business that uses this tool, will be stored on Microsoft's servers. All of data, all of the software logic, all of the communications traffic, all of it will be running on, and controlled by, Microsoft's hardware. It will be handled internally using their protocols - an invisible aspect and one typically outside of a developer's concern (just so long as it works). But everything about the deployed application will be remote from the developer's standpoint, and therefore only accessible so long as it's accessible.
All of this will do two things simultaneously: First, it will present unto the world what will likely be the most seamless integration of a wonderful web experience ever created by any tool - Microsoft or otherwise. And second, it will give Microsoft direct control over every aspect of every piece of data, business logic and Internet traffic related to any business using this software.
Please see things clearly
We must never lose sight of the fact that once our data exists where it can be accessed, analyzed or mined at any time, and without us ever knowing anything about it, then it only becomes a matter of time before that data is exploited in some ways - as history has shown time and time and time again.
It could be as simple as changing a software setting somewhere, one which takes everything away from us by disabling the entire range of applications. Perhaps if we don't pay our bill? Or it could have some form of corruption intentionally introduced so that our data files are damaged slowly, but methodically. Or it could be any number of other unforeseen software or hardware maladies which may seem to be of no foul intent, but are.
In the end, however, we are basically handing over everything that's related to anything our web-presence businesses do to Microsoft, and we are saying, "Here, Microsoft. I trust you. Please take good care of my data. And thank you."
Microsoft, our savior?
Do we really want to do that? Do we really think it's a good idea to have Microsoft virtual servers running Microsoft's newest operating system, storing all of our data on Microsoft's hard drives, and communicating over Microsoft's Internet portals, and being subject to the whims of Microsoft's future business decisions which we may or may not at that time agree with?
I have no doubts that everything Microsoft has announced today will work perfectly and wonderfully, perhaps after SP1 or SP2 at least. It will be easy for both developers and users. But is it too high a price to pay? I mean ... what are our business and personal goals? Do we want to give Microsoft, a company that last quarter earned over $4.7 billion in net profits, one of only two software companies worth over $100 billion (the other being Google at $104 billion, Microsoft over $195 billion), do we want to give them the keys to everything related to our businesses?
If power corrupts, and absolute power corrupts absolutely ... Do we really want to trust them that much? Is it really a wise business decision to trust any company that much?
In my opinion, not one of us should use Azure. Ever.
See our previous articles entitled Azure: A cloudless sky for the Windows cloud and Microsoft unveils cloud service Windows Azure.