Windows Azure and the many faces of cloud
Summary: Before I come to my analysis of Microsoft's Windows Azure platform and the hidden danger lurking there for many ISVs looking to embark on a SaaS strategy, I'm going to segment cloud computing into several important but separate categories.
One of the reasons it's so difficult to satisfactorily define cloud computing is that people have many different needs and expectations from a cloud platform. To start a conversation about cloud — especially one that seeks to evaluate the relative merits of competing cloud platforms — without first identifying what needs are being met is to invite misunderstanding and confusion. So before I come to my analysis of Microsoft's Windows Azure platform and the hidden danger lurking there for many ISVs looking to embark on a SaaS strategy, I'm going to segment cloud computing into several important but separate categories.
First and foremost, we need to be clear whether we're talking about cloud as a service or cloud as an infrastructure asset. I often find myself halfway through a conversation about cloud computing, in which I've made the natural assumption that we're talking about delivery of cloud computing as-a-service by a third-party operator, when it suddenly dawns on me that the other person has been talking about buying software and hardware in order to implement their own cloud infrastructure.
There's a huge cognitive gulf between these two perspectives. In my view, most enterprises that invest in their own cloud computing projects are on a Fool's Cloud mission. Unless you intend to set up as a cloud provider in your own right, it's unlikely in the long term to be a good use of your funds. But I have to recognize that my point of view currently represents a tiny minority compared to mainstream opinion. Most enterprises are convinced the best way to take advantage of cloud computing is to implement it themselves. Many will find they achieve significant short-term savings from doing so, simply because moving to a virtualized data center architecture with automated provisioning is a much more cost-effective means of rapidly provisioning new servers than what they used to do. The newly launched Rapid Access Computing Environment (RACE) at the US Department of Defense is a good, topical example. But it's not a variety of cloud computing I want to discuss here — in fact, in many ways, I don't define it as cloud computing at all because it's behind the enterprise firewall rather than immersed in the public cloud.
So far, Microsoft has resisted siren calls to package up Windows Azure as a software bundle that enterprises can deploy in-house. Thus it fits firmly into the third party, as-a-service cloud platform category. Within this category, I see four distinct sets of use cases, all of which Azure explicitly caters for. In that respect, I think Azure represents a new, second-generation cloud platform that is more attuned than first-generation providers like Amazon to the present-day needs of the enterprise market. Those early providers came to market offering cloud computing as a standalone service, making no provision for enterprises to link cloud-based servers and applications with their in-house operations. That would be fine (up to a point) for those few enterprises that are prepared to embrace the cloud as a wholesale alternative to on-premises computing. But the pragmatic reality is that most enterprises today are destined for the foreseeable future to pursue a hybrid strategy, in which they're obliged to maintain computing infrastructure on-premise as well as extending into the cloud. Cloud providers that serve this market have to acknowledge and address that reality, by catering for several different use cases:
- Short-term, overflow or burst capacity to supplement on-premise assets. This is the primary use case for as-a-service cloud platforms today in the enterprise market. This takes advantage of the pay-as-you-go elasticity of cloud computing, and it's been found to be extremely cost-effective for test and development servers as well as in cases where an enterprise application or project needs to bring in extra burst capacity at times of peak load. It's so prevalent that people commonly see rapid provisioning an elastic demand as the primary characteristic of cloud computing, which can easily be replicated on an in-house platform. That's because this use case doesn't often take advantage of the cloud-facing properties of cloud computing.
- Cloud-based services and applications that extend on-premise assets with new capabilities. Windows Azure has got some interesting examples of this type of use case. There are the new Sites and Commerce extensions to Microsoft's Dynamics on-premise ERP software, for example, which supplement the back-office suite with the kind of automated front-office operations that are best done in the cloud. I'm even more interested by the new service codenamed Dallas, which uses Azure as an aggregation point for premium information services. This is a great example of where the cloud can deliver real-time information far more simply and cost-effectively than in-house infrastructure and looks set to foment a new set of Azure-native applications. Of course it's also meant as a vindication of Microsoft's Software+Services strategy, although it does nothing to allay my reservations that the strategy explicitly defines cloud computing as a supplement to conventional on-premises computing rather than as an outright alternative, and thus is prone to encourage over-reliance on in-house infrastructure.
- Interim hosting as part of a cloud migration strategy. This can be either a good thing or a bad thing. Moving servers to the cloud as an interim step towards a wholly cloud-native IT strategy is something I can imagine many enterprises having to do in order to ease the complex process of shutting down on-premise assets as part of an orderly migration. But too often, I see people imagining that if they simply port an existing on-premise application to the cloud, that's all they need to do to take full advantage of cloud computing. It's a delusion, and I think it's where many ISVs (and enterprises) are going to get snared by Azure.
- Cloud-based services and applications that replace and supercede on-premise assets. This of course is cloud nirvana, where all computing will ultimately end up. Azure shows promise as a platform able to fulfil this use case, but it risks being held back by the distractions of serving all those other use cases, especially those that rely on perpetuating on-premise and single-tenant computing assets. So long as it continues to evolve with the primary aim of complementing rather than rivaling what customers are able to do using their own in-house, on-premise computing infrastructure, it will struggle to compete with other cloud platforms that are not being held back by the same ambivalent motivations.
Why am I so insistent on cloud computing being multi-tenant? A full answer to that question will have to wait for another blog posting, but I recently presented a webinar (disclosure: sponsored by OpSource, an Azure rival) that sets out some of the case. In short, I worry that Windows Azure, and similar platforms, will lure developers into half-baked (half-aaSed?) cloud deployments without realizing they haven't completed the journey to the cloud. Many of the use cases above extend enterprise IT assets into the cloud, but they simply use Azure as an alternative platform for software and applications that are also intended for on-premise deployment. They don't change those assets to take full advantage of the real-time, bandwidth-rich, shared-API cloud environment. The risk is that, instead of being a staging post on the way to realizing the full benefits of cloud computing, Windows Azure will become a kind of rest-home in the cloud where applications go, not to be rejuvenated, but merely to be made more comfortable in their declining years.
Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.
Talkback
Rest home?
However you have to offer this possibility, because Hybride clouds will be the norm for a very, very long time.
What I did not see you talk about much was the AppFabric, which is the ability to make use of Azure .Net Services to develop applications that are multi-tenant, and have the ability to expand and collaspe on resources as needed.
The issue, like any major shift, is there has to be stepping stones to get from one side of the river to another.
Still valid points on someone getting stuck on the big stone in the middle of the river. And great points about private clouds...
-Brandon
http://dynamics-ax.blogspot.com
multi-tenancy
on the flip side i've been poking around inside of the force.com platform and discovering all sorts of fabulous limitations like governor liimits and retrictions on the number of asynchronous requests that can be processed in a day and so on. restrictions which were engineered because of the fundamentally overlapping multi-tenant nature of their platform architecture.
so, i would say that it cuts both ways in terms of what a multi-tenant architecture can provide, and the limits and constraints that it potentially imposes. architects and analysts need to take a hard look at the needs of the application and the company and make smart decisions on a case-by-case basis.
More multi-tenant confusion
For perceived security issues, we run the application in single tenant mode. So now, we have a single tenant application running on top of a multi-tenant operating system (Windows Azure) and accessing a multi-tenant database (SQL Azure).
Gads, what do I call that model?
you are right...
Once data is meta'd to the point of view that that 80% is in the cloud and 20% is under your desk (ie. the 80% is digital confetti without the 20%), look forward to a wholesale rush to embrace real cloud services.
why describe the webinar
Use this link
http://opsource.na6.acrobat.com/p72781557/
Software Plus Services Makes the Most Sense for Some Orgs
First, this hybrid approach can work both ways. The primary application can rest on the cloud with an in-house extension used to suppliment it. As you know, Windows Azure allows a hybrid approach as well as a cloud-only approach for software implementation. I think the benefit here is the flexibility offered to software vendors, allowing them to decide how to best benefit from the cloud service. Eventually moving everything to the cloud may or may not be the future. As of right now, there are benefits to keeping some processing and data in-house.
I don't see the risk of customers "getting stuck on the big stone in the middle of the river" (as skillaid puts it) as a major problem. In some organizations, this approach may be the best solution.
(I am contracted by M80, working with Microsoft to promote Windows Azure)
Cloud: what is it?
Everything old is new again.
Cloud Conundrum: Trust
MS Office, for example, is not a "Cloud" application. It will need vast revisions before it becomes so. Also, vast improvements changes in how much trust business people have in "web-apps" and security of their own data need to be made.
On the hand, in the initial design of an application or service was poor than nothing can fix it.
Server-Client applications may seem more readily applicable toward "Cloud" architecture. If such an application did not do well in it's present implementation it more than likely will not do well in a "Cloud" implementation.
"Cloud" application should be designed from the ground-up as such.
The issues raised in your article and by the other talk backs, shows that 2 things need to happen.
First, succinctly define the technology and paradigm that is now still a broad all-in-compassing idea, "cloud computing".
Second, define how the various industries and businesses can implement "cloud computing"; from your international enterprise down to your small local firm.
At present, I see a maze of confusing and contradicting information all over the Internet about the subject.
You seem to be on a noble quest to do just that.
However, I see that many such efforts
present a "commercialized" motivation for doing so and not a more altruistic attempt.
Thus, may find themselves in a Cloud Conundrum: Trust
I run a small technical support business
for Linux, Apple and Microsoft software and hardware.
RE: Windows Azure and the many faces of cloud
Nirvana?
Really?
The mainframe people thought that too.
I don't think you're right. I don't think that it is nirvana, and I don't think that 100% cloud should be the ultimate goal.
And I don't see how it makes anybody struggle to compete. Local resources are always more responsive, with less lag due to shorter cables.
I think it all depends on your needs. The one-size-fits-all mentality is really backwards - it's been proven again and again that jamming everything into one paradigm leads to complete disaster when you have needs that don't fit into that paradigm.
Force feeding everybody your paradigm is a disaster waiting to happen - not a societal good.
You are correct sir...
Re: You are correct sir...
(I am contracted by M80, working with Microsoft to promote Windows Azure)
Don't be too short-sighted about the cloud...
Thanks for your disclaimer regarding your contract to promote Windows Azure.
Leveraging Local Hardware
That said, some smaller business might move their entire IT operations into the cloud, as you suggest, but this will vary by customer and usage case.
(I am contracted by M80, working with Microsoft to promote Windows Azure)
RE: Windows Azure and the many faces of cloud