In late 2008, when Microsoft announced sweeping plans to move its server product line to the cloud, few outside the company's Windows Server division even understood what this change in strategy meant for the company and its customers. Now, just over a year later, Microsoft has delivered the first non-beta versions of its core cloud server products, Windows Azure and SQL Azure. And while a hosted version of SQL Server might seem like a fairly obvious solution, a hosted version of Windows Server--Azure--is a bit more mysterious. Here's what you need to know about Windows Azure.
Put simply, Windows Azure is the Windows Server operating system redesigned as a cloud-based service. At a very high level, Windows Azure is much like Windows Server, except that it's hosted by Microsoft at its datacenters and not on-premise at your own company. That is, it provides a platform on which developers can create hosted applications and companies can run hosted applications and store data in the cloud.
But Windows Azure is not simply the current version of Windows Server modified to work in the cloud. Yes, Microsoft did of course start with a Windows Server core to create Windows Azure, but the system was also designed from the start to work as a cloud-hosted service. As such, Windows Azure and Windows Server both have capabilities that are unique to one that are not available in the other. According to Microsoft, the company will continue developing each product separately, all while bringing the respective capabilities of each system closer together. That said, because of their unique focuses, it's likely that they will never truly mirror each other fully.
Another important aspect of Windows Azure is that it works within Microsoft's notion of a hybrid computing model, allowing companies to utilize on premise servers for those tasks that need to be hosted onsite and cloud-hosted services that do not. So your company may choose to host some of its applications and data in the cloud but retain other on premise applications and data as needed. This system can also be utilized to slowly move resources to the cloud over time as you evaluate the cost, effectiveness, and convenience of such a strategy.
If Windows Azure were simply a hosted version of Windows Server, the value proposition would be simple to understand but basic in functionality. But as alluded to earlier, Windows Azure provides a set of benefits that are unique to this platform.
One such benefit involves so-called "spiky" workloads. The canonical example is an online store that experiences typically predictable traffic during most of the year but then far more unpredictable ("spiky") traffic during the holidays. The traditional responses to such a problem are problematic. You could purchase additional computing resources to handle the spike loads, but then these resources would sit ideal for much of the time. You could partially offset the spiking by moving to a virtualized infrastructure where many workloads were typically virtualized but then migrated to physical hardware when required; this requires architecting, deploying, managing--and paying for--a very complex infrastructure, however.
With Windows Azure, you can simply add capacity when it's needed. You only pay for what you use--Azure's simplistic pricing structure is discussed below--when you use it. This reduces both your costs--including those related to management, hardware purchasing and software licensing, energy costs--and your time to market and provides a way for companies of any size to scale effectively, at any time.
For those interested in the hybrid approach, Windows Azure also supports a new composite application model via the Windows Azure platform AppFabric technologies. Through AppFabric, developers can build and manage applications that run on premise but access and cache Azure-based resources.
Because Microsoft understands that it will likely be some time before enterprises trust their mission critical workloads to an offsite hosted service such as Azure, it has not yet provided a comprehensive set of pricing and licensing options that map closely to the software giant's various customer groups. Instead, what we see for now is a very simplistic consumption-based pricing model: Compute resources cost 12 cents an hour, storage is 15 cents per GB stored per month, storage transactions are 1 cent for each 10 kb, and data transfers are 10 cents per GB inbound and 15 cents per GB outbound.
For AppFabric usage, Microsoft charges 15 cents per 100,000 messages, and data transfers are 10 cents per GB inbound and 15 cents per GB outbound. There are additional consumption costs around SQL Azure as well.
Microsoft's service level agreement (SLA) states that customers who deploy two or more role instances in different fault and upgrade domains will see external connectivity of 99.95 percent for Internet-facing roles. This is less than the traditional 99.99 percent uptime promise one typically sees with online services, including Microsoft's own Business Productivity Online Suite (BPOS) products.
In real world terms, it's hard to know how Microsoft's Azure pricing will impact customers. Even the company admits that the current pricing model is almost experimental and one can assume that it will adjust pricing--and offer additional pricing and licensing options--over time. That, of course, makes the Windows Azure early adopter process even dicier than it might have been otherwise.
As a relatively new technology and, frankly, a great unknown for many, the Windows Azure technologies will likely be adopted slowly by established enterprises and more quickly by new, smaller businesses. This is as it should be. But Windows Azure deserves investigation, regardless of your circumstances, and as Microsoft moves to a more mature pricing model, it will likely get even more attractive. It's pretty clear that the cloud computing future won't be absolute, that is, that most larger businesses will always have a need to host some resources on premise. The hybrid model offered by Windows Azure and Microsoft's other online services isn't just a stopgap. It is a peek into the future of computing.
An edited version of this article appeared in the February 2010 issue of Windows IT Pro Magazine. --Paul