Much of the value proposition for Windows Azure — the star of the show Tuesday at PDC 2009 in Los Angeles — has been its ability to open up new business avenues for customers who had not been able to envision hosting high-intensity data center operations before. Azure could give these customers a leg up, a new and more affordable way to get off the ground.
But once they’re off the ground, the question becomes, why stay up in the air? What’s to keep those customers grounded — to mix metaphors like an old editor of mine — in the cloud? The surprise answer to that question is coming from a senior product manager for Windows Server, not Azure. Scott Ottaway told Betanews today that provisions are being planned for customers to move their deployed applications back off the Azure cloud, onto on-premises data center servers.
“Our goal is to provide a common application platform, just the way that we support ASP.NET in both places, PHP in both places. We want to supply a common platform so customers don’t have to make the hard choice up front about where they’re going to run something.”
During the October 2008 PDC conference when Windows Azure was first introduced, it wasn’t exactly clear who Microsoft was targeting as its customer. Thirteen months later, we have a much clearer picture of cloud services customers comprising three discrete classes: one that is made up of SMB businesses investing in affordable data center architecture for the first time, and building entirely new cloud applications that have never been tried; another made up of applications and services hosts that are simply mirroring their existing apps to the cloud space for affordability and scalability; and a third class in-between comprised of businesses of all sizes, who aren’t looking to the cloud as a migration platform, but as a way to backup, complement, or augment their existing customer services as necessary.
The common factor between each of those classes is the need for a bridge — perhaps now, perhaps later — between their on-premise and off-premise cloud platforms. That’s the reason for Microsoft’s latest brand, announced Tuesday morning.
“If you write your code for Windows Server AppFabric, it should run on Windows Azure,” said Ottaway, referring to the new mix-and-match composite applications system for the IIS platform. “What we are delivering in 2010 is a CTP [community technology preview] of AppFabric, called Windows Azure AppFabric, where you should be able to take the exact same code that you wrote for Windows Server AppFabric, and with zero or minimal refactoring, be able to put it up on Windows Azure and run it.”
AppFabric for now appears to include a methodology for customers to rapidly deploy applications and services based on common components. But for many of these components, there will be analogs between the on-Earth and off-Earth versions, if you will, such that all or part of these apps may be translated between locales as necessary.
“Right now, if I have an ASP.NET app running on Windows Azure, and it’s using SQL Azure, I can pull that off with minimal refactoring, in most cases, and run it on premises on Windows Server, because Windows Server supports ASP.NET via IIS, and our .NET Framework, and it supports SQL Server,” remarked Ottaway. “So I can move a certain class of apps that I have up there, off — not all.” Applications that utilize binary large object (BLOB) storage, and other Azure-specific features, would still require significant refactoring. “But if it’s just an ASP.NET app through SQL Azure, you should be able to pull it back on-premises without much effort at all.”
Some of the more recently deployed, non-Microsoft language platforms, including PHP and MySQL, will also aid customers in that transition.
“Whether there’s a total cost-of-ownership advantage to being off-premises or on-premises, depends on so many factors. Are you highly virtualized? Do you have really good management tools? Do you have affordable staff? Regulatory concerns? Privacy, security concerns?” remarked the Windows Server senior product manager. “There’s many, many factors that may indicate to you that…you want to keep it on-premises, or that it’s okay to go all the way off-premises. But it’s probably going to be more of a non-enterprise decision; it’s going to be project by project and app-by-app.”
Next: Virtual machines migrate to Azure…
Virtual machines migrate to Azure
One of the distinguishing factors between Microsoft’s cloud platform and Amazon’s has been the distinction in what’s being served. Specifically, Amazon’s EC2 gives customers a way to deploy entire server images on its cloud, while Azure provides an active cloud-based .NET runtime for the deployment of applications rather than servers. Still, that distinction will grow fuzzier, first with last week’s announcement by Amazon of an SDK for cloud-based applications deployment, more similar to Windows Azure.
Then there’s Microsoft’s announcement Tuesday — effectively made by Ottaway during an afternoon press conference — of a system for deploying Windows Server virtual machines to its cloud.
“What we’re announcing is that we will have what we’re calling Windows Server Virtual Machine Roles on Windows Azure,” Windows Server senior product manager Scott Ottaway told a press gathering Tuesday afternoon at PDC 2009. “What these will be, are pre-configured images of Windows Server — one might have .NET [Framework] 3.5 on it, the next one might have .NET 4.0 when that’s available. And you can bring your existing app, that you’re running on-premises now on Windows Server, to Windows Azure, deploy it in this virtual machine image, and there you have existing applications support or migration — you don’t have to necessarily write new apps to take advantage of the Windows Azure service.”
Notice the distinction still exists, if lessened a bit: VM Roles will provide Windows Server admins a way to deploy apps in the cloud as though they were being deployed on virtual machines locally. It’s still not deploying servers, like the Amazon model, but it’s closer. One big reason, Ottaway said: Customers already have applications that they paid for; they don’t want them redeveloped.
But the other reason (and here’s the basis for Microsoft’s new value proposition for Azure) is that it makes less sense for customers to deploy servers in the cloud (including from a licensing perspective) when their goal is really to add scalability to their applications and public-facing services, not to Windows.
“Certain companies out there say everything’s going to move off-premises, and everything’s going to be a service. But there are two issues here: Network latency, the sweet nectar of having a big pipe and fast response time, is a big inhibitor for a lot of things moving off, that might make a lot of sense. And then, you want Print Server nearby, right? You don’t want to send your print requests to Dublin [the Microsoft service, not the country] before it gets to your printer. Then for security servers and your management servers for managing all your clients, you’re definitely going to want them to be on-premises.”
Ottaway pointed to a compelling demonstration during the Tuesday morning keynote, of an online automobile shopping service provided by Kelley Blue Book using Silverlight. That service was devised to take advantage of a feature called cloudbursting — using the cloud where necessary, such as in periods of heavy traffic, but not necessarily as a principal deployment platform.
“The scenario they were talking about on there was, in general, most of the time, their application and business presence runs on Windows Server and SQL Server and Silverlight. But currently, they’ve had to have a large amount of investment in server hardware, for a peak capacity that occurs very rarely across their year. And what they’re essentially using Windows Azure for [instead] is for cloudbursting, so when they do have unexpected peak capacity, they can very quickly spin up a bunch of new instances of their Silverlight application and be able to meet the demand that’s occurring.
“The key thing that’s really interesting here — and where Microsoft, again, is differentiated from other cloud providers — is that Kelley Blue Book also wants to be able to scale down, and bring everything back on-premises when that demand isn’t as great. It’s a hybrid scenario; they’re using off-premises Windows Azure to meet their increased capacity demands. That’s a unique advantage of having a Microsoft infrastructure on-premises, as well as Windows Azure.”
One reporter asked Ottaway today, is there a way for Azure customers to utilize any kind of capacity planning tool — to estimate what it might cost to cloudburst under varying traffic circumstances? The long answer from Ottaway — who seemed to take some inspiration from this question — was no. Online calculators do exist to help customers set caps on their expenditures, and to turn off service once those caps are exceeded to avoid tremendous billing. Azure can also provide customers with warnings in advance of heavy charges. Even with those stopgaps in place, he acknowledged, it may become cheaper for certain customers to keep their applications on-premises.
Customers will need to consider those possibilities and scenarios for the future, Ottaway said. But for now, the templates and policies and best practices — the “solution accelerator” for the cloud, to borrow a phrase — is very much in the works.