Microsoft has little excitement about its cloud

Tim Anderson

I attended Microsoft's Professional Developers Conference last month, with one of my goals being to learn more about Azure, the company's cloud computing platform. I have been meaning to write a post on the subject for some time, but it did not come together until this week, when I listenened to Marc Benioff expounding the Salesforce.com version of cloud computing.

Benioff is ebullient and outspoken; a contrast to Microsoft's Ray Ozzie who gave the Azure keynote at the PDC and conveyed little excitement. Of course, it's easier to be ebullient when your company is growing at 20% per year; but another factor is that the Saleforce.com vision is easier to articulate. Throw out your servers, says Benioff, and move everything to the cloud, that is, to us.

In reality Salesforce.com has a significant integration story, so you can have your on-premise applications talk to your cloud applications, but it is not something Benioff talks about much. Why should he? His company profits when you migrate stuff to his platform; the integration piece is merely an enabler.

Microsoft by contrast makes its money from on-premise software. Its internet services lose money, according to its own accounts. It also has a vast partner infrastructure that is sustained by installing and maintaining its products.

Still, Microsoft knows that it has to do cloud, because the economic benefits to its customers are unavoidable, and because any IT company without a cloud strategy will be punished by the financial markets. In consequence, there is an array of consumer services under the Live brand, and an emerging platform of enterprise services under the Azure brand.

Azure is Windows server in the cloud. You get SQL Server; you get IIS; you get ASP.NET; and it is all pay-as-you-go. So is Microsoft suggesting that we throw out our servers? Considering the profitability of its server division, that would be madness; and indeed, the PDC presented mixed messages about the company's cloud strategy.

This was brought home to me by a session I attended on Bridging On-Premise and the Cloud, given by Windows Azure Distinguised Engineer Yousef Khalidi. Cloud computing, said Khalidi, is a "style of computing with dynamically scalable and virtualized resources provided as a service through the network ... this definition doesn't even say if it has to be on the internet or not. It's a way to think about how an application is structured to fit in a cloud-like model."

Khalidi went on to describe a "spectrum" of computing platforms, from the traditional server or datacenter to private and then public clouds. The forthcoming AppFabric Server will make it easier to run cloud-like applications (according to the definition above) on your internal network, with the option to move it to Azure later should you so desire. "Our strategy, our basic thesis guys, is that there are benefits across the whole spectrum and we'll continue to support the whole spectrum," he said.

The snag is that co-ordinating cloud and on-premise gets complicated, as a glance at one of his slides illustrates.

ms-cloud.png

Well, computing is a complex business and I can understand the appeal of this model to Microsoft-platform companies that require some specific benefit, like pay-as-you-do scalability. As an overall proposition though, it is less attractive than the kind of thing Benioff talks about; it can feel like adding complexity rather than reducing it.

Another issue with Azure is that while it lifts much of the IT administrator's burden, it does little to speed development. You still have to write the code, test it, debug it, deploy it, maintain it. Saleforce.com on the other hand is not only a multi-tenant platform, it is a multi-tenant application. If you are lucky, a little bit of customisation is all you need.

You might not be lucky. You might end up having to write mountains of non-portable code in Apex, the Force.com language. You might run into limitations of the platform, like its difficulty with long-running data processing operations that can interfere with the responsiveness of the system. Salesforce.com is also an expensive platform, with per-user per-month fees for ever.

Still, at least Benioff has a coherent story. I'm not sure that Microsoft does.

The latest news is that Microsoft has re-organized Azure into a new Server & Cloud Division. So now the internal division that has most to lose if Azure succeeds is running the whole show. Technically that makes sense; but the marketing message is going to be even harder to articulate.

0 TrackBacks

Listed below are links to blogs that reference this entry: Microsoft has little excitement about its cloud.

TrackBack URL for this entry: http://www.itjoblog.co.uk/blogadmin/mt-tb.cgi/129

1 Comments

Mike Leach said:

The Salesforce.com platform is greatly assisted by the built-in database schema and report designer. They are, after all, the pre-eminent Oracle database gurus on the planet.

Azure's tremendous flexibility in regards to many storage options and models may be an inhibitor to immediate adoption since no LOB modeling tools exist (yet). However, data modeling is where the Salesforce ROI and huge gains tend to stop IMO.

Having worked now in both environments, I can say that 80% of Apex/Visualforce development time is spent debugging, which is a very painful process given SForce's lack of debugging features (the greatest applause I heard at Dreamforce was when debugging functionality was announced as a priority roadmap feature).

Where Azure currently lacks in data modeling it greatly makes up for in localhost debug capabilities and deployment features. 2 stage deployment is built-in to Azure, whereas a sandbox must be purchased separately on Force.com.

Of the 4 major cloud providers (Salesforce, Amazon, Google, and Microsoft) Salesforce is the only one not offering a local development environment. The trend toward local development with one-click deployment to isolated, geographically relevant, virtual machines in the cloud seems to be the future.

The Azure migration story is an interesting one. Yes, you can port existing apps to Azure, but I'm finding the new Azure table/blob storage and queue manager to be truly new and innovative features not otherwise found in existing .NET architecture. Especially since these features are designed to be load-balanced and scaled automatically without much IT overhead.

So, in all fairness, all existing .NET applications would greatly benefit from a redesign to truly embrace what is being offered on Azure.

Leave a comment

Current Vacancies from CWJobs

(* Required field)










Preferred format