Skydiving through the cloud: Windows Azure gambles with 'Full Trust'

The architectural implications
More often these days, Microsoft talks about implementing new features for one reason only: responding to customer feedback. You asked for it, thus, there it is. Sometimes what the customer asks for and Microsoft delivers isn't what Microsoft would prefer to be delivering; and in the case of Azure, there's no question that Microsoft would rather not be a host of PHP-based Web sites...at least, not if it could be a host of ASP.NET sites instead.
We saw this in the case of Silverlight's early days, when Microsoft was simultaneously marketing two versions. The initial version 1.0 worked with JavaScript only, though it was building 1.1 to be a more versatile system using .NET languages like C# and Visual Basic. That eventually became version 2.0; and at the time 2.0 was released, the company's message was, sure, we have a lot of customers who are stuck with just JavaScript. But our mission now is to educate them toward this better world.
That tack has actually been surprisingly successful thus far, which may be one reason Microsoft is attempting to replicate it with Azure. Prashant Ketkar, who directs marketing for Azure, used this same model in his talk with Betanews this week to depict where Azure's customers are now, and in what direction Microsoft wishes they would go. During our interview, Ketkar compared the Azure model of service hosting with that of Amazon EC2:
"If I provide you with raw virtual machine access, well, it might solve your [near-term needs] -- I might take your Windows Server application that you're running on-premises today and simply move it to Windows Azure and it works," Ketkar described. "Problem: If that application dies because the hardware failed, there is no difference. You've just basically taken the workload off of premises and moved it to the cloud. That's not necessarily writing a cloud-enlightened application, which is where we want to educate the marketplace. If you truly want to take advantage of the economic value of the cloud, you've got to think about writing applications and services in a certain way. And we have optimized the Azure services platform for that design point. That does not mean that we will not enable that other functionality...but is that really what you want to do?
"Part of the journey we are on with our customers and with our partners and with our developers is this journey of education of the cloud, versus just a hosting environment. We're not providing just a hosting environment," he continued.
There are legacy applications and there are cloud-enlightened apps, and Microsoft clearly wants to educate clients about the benefits of crafting the latter category. In the meantime, it needs to provide some native code functionality, which may be helpful, though Ketkar cautions it's limited:
"If you were a real estate site that needed a calculator of some sort to calculate your mortgage payment, and you'd already built this calculator using FORTRAN or COBOL or something like that, you need to be able to take your native code and native libraries over and be able to run it inside of the Windows Azure environment without necessarily having to rewrite it," he told us. "You could take that calculator and drop it exactly the way it is, as you migrate your Web service or your app without having to re-architect it. It calls on some native libraries and native code."
Could you do that kind of dropping into the cloud with any kind of Windows application, including the kind of legacy app that's distributed across multiple systems in a network? Maybe, Ketkar responded. "Some parts of that legacy application migration scenario may work today," he said. "Over a period of time, we are committed, by the time that, say, we go to commercial launch, to taking that entire workload with all of its endpoints and being able to simply move it to the Windows Azure environment, and for it to work. We're still working through all of the technical details of how we do that."
One example Ketkar provided involves the provisioning of the company's new SQL Data Services, the first culmination of its cloud-based SQL Services project (and there again, you'll have to pardon the branding). SQL Data Services will be Azure's first fully functional relational database platform, which will apparently rely to some extent on Azure's newly minted Full Trust functionality. Conceivably, a distributed application that relies on SQL Server today can be deployed on Azure and made to rely upon SQL Data Services.
"As a platform, we're totally committed to enabling the enterprise legacy migration scenario," said Ketkar. But how soon? "Not today -- that scenario...is complex, and it is not a simple case of you just taking that application or service and simply plunking it into Windows Azure and it works. If it is managed code that is today running on Windows Server, most parts of it are likely to run on Windows Azure, but we're still doing a bunch of stress testing around that."
Will the final deployment of Azure as a commercial service depend on the customer's capability to relocate legacy applications to the cloud, and run them under a Full Trust scenario?
"No...We're committed to enabling that scenario over a period of time, hopefully sooner rather than later," the marketing manager responded, "because one of the things that we see today when we talk to enterprise customers is, they're more likely to move some of their more elastic workloads of scenarios to the cloud. Think of them as new workloads to the cloud, versus really thinking about legacy migration as a workload. They're concerned about that, and they certainly want to look at the cloud as an avenue to do that, but it's not holding them back from thinking about how they could leverage the cloud."
And there's that silver lining message again, the seed of an inkling of a hope of an idea that maybe customers will be willing to design applications for Azure rather than just relocate stuff that's for Windows. It's that value proposition that will either make or break Microsoft's cloud enterprise as it continues to search for a viable business model.