CIO.com – Microsoft's recent entry into cloud computing, Windows Azure, was both a strategic and necessary move that has put other cloud computing players on notice. Threatened by competition from industry titans, such as Google, Force.com and VMware, Microsoft pulled a page out their old playbook and leveraged their development platform strength, a decision that has perhaps turned the cloud tide back in their favor. Given the popularity of the .NET platform and Microsoft's vast financial resources, Azure is a cloud force to be reckoned with. However, the emergence of Windows Azure does not guarantee that Microsoft is a cinch to dominate the cloud computing market.
But before we go too far, let's make sure we're on the same page by answering a couple of key questions: What is Windows Azure and what benefits does it provide?
According to the Microsoft Azure Services Platform site, "Windows Azure is a cloud services operating system that serves as the development, service hosting and service management environment for the Azure Services Platform." This definition, while concise, requires some imagination.
Drawing out the definition a bit more, Windows Azure is an application development and runtime environment (.NET in this case), hosted and managed by Microsoft (within Microsoft "owned and operated" data centers), that enables IT organizations and software vendors to offer software as a service (SaaS). To put it more succinctly, Windows Azure is an application platform offered as a service (PaaS).
PaaS, such as Azure, is at least, one part of cloud computing (albeit nascent). Looking at the market today, several PaaS choices are available including: Google's App Engine, Salesforce.com's Force.com, and Oracle's Cloud Computing strategy.
So, why are these industry titans offering PaaS? What benefits does PaaS provide? For IT organizations that are out of data center power and space, don't have the manpower to manage additional applications, or simply want increase their application capacity quickly and easily, PaaS may be the ticket. PaaS providers supply the entire application environment including hardware, operating system, and application platform. Thus IT organizations don't have to expend precious capital building and maintaining IT infrastructure.
Furthermore, PaaS providers, such as Microsoft with Azure, have built an agile IT infrastructure optimized for change. Using a PaaS cloud provider, IT organizations have the ability to quickly provision additional IT infrastructure based on customer demand. Conversely, if business is slow, an application can be scaled back, using only the resources it needs. And because the IT infrastructure is shared by multiple customers, PaaS providers can keep hosting costs relatively low, as compared to a single IT organization that owns and operates their own data center.
PaaS also provides new business models for independent software vendors (ISVs) looking to gain entry into the SaaS market. Today's workforce demands that productivity applications be accessible via a mobile device on a 24x7 basis. As a result, ISVs are moving to a SaaS business model to meet this demand. But many ISVs don't have the capital to compete in SaaS market. Most ISVs lack the ability to build the IT infrastructure necessary to host their own applications and the capability to manage the additional infrastructure. PaaS provides the development environment and infrastructure ISVs need to compete in the SaaS market.
But one can argue that these benefits apply to all PaaS providers. What is it about Microsoft's Azure platform that makes it different compared to Google's App Engine or Force.com? Answer: Microsoft's old faithful, the .NET development platform.
The .NET Advantage
Not only is .NET clearly a better development environment than the competition, but also Microsoft brings scores of developers who know how to use it. By offering .NET as a service, Microsoft has made application portability to the cloud relatively simple. Essentially, the .NET development and runtime environment remain largely unchanged (Azure is using server virtualization underneath, but the application need not be aware). The biggest change is the application's runtime location (Microsoft's data center). Thus, Azure is likely to host thousands of applications, ensuring Microsoft's longevity as an application platform and perhaps vaulting Microsoft to the position of PaaS leader.
However, PaaS (including Windows Azure) also has some serious drawbacks:
-- Application portability and Vendor lock-in. Once an application is written to a specific application platform, how difficult would it be to move that application to another PaaS vendor who employs a different application platform?
-- Business continuity and availability. Things happen, they always do. What happens when the PaaS provider's data center goes down? Will the PaaS reimburse the IT organization for loss? Does the SLA have specific provisions that fit every IT organizations availability requirements?
These problems aren't unique to Microsoft. Google, Force.com, and Oracle have the same issues. But what are the specific problems for Microsoft and Windows Azure? What might prevent Windows Azure from succeeding?
ISV competition is one concern. Will competing ISV write their applications to Azure? Will ISVs such as Intuit (Quicken),IBM (Notes), or Novell (Groupwise) port their applications to Windows Azure? Every ISV looking to port their application to Azure has to ask themselves, "will Microsoft compete with me at some point"? It's one thing to compete with Microsoft on a Windows OS in the customer's environment, it's another to compete where Microsoft owns the entire environment.
Another concern is the lack of client side control. In previous years, Microsoft's market domination was, in part, due to the proliferation of the Windows client. Today, thousands of customers use smart phones to access application services such as e-mail. If the customer can retrieve their e-mail using an iPhone, does it matter if the back-end application is Microsoft Exchange or not? If clients can access their account, does it matter if the back-end server is using SQL Server or not? Customers don't care whether the application is running on Azure or Google App Engine or Fiddlety Sticks. Customers simply expect service.
But perhaps the greatest concern--and biggest threat to Microsoft-- is the potential developer community movement to another application platform. Several SaaS companies are already attacking Microsoft on the application side (offering online email, productivity suite, messaging, collaboration). By offering PaaS, Google, Force.com, and Oracle are attacking the very heart of Microsoft, threatening Microsoft's business at its core.
That's why I believe Windows Azure is good move (perhaps Microsoft's best move into cloud computing,) because it leverages their strengths. Given the immaturity of the PaaS cloud market, Microsoft's timing is good and in the end, it was a move they had to make.