In my previous post, I talked about how AppFabric is really coming together as a cohesive platform for building, deploying and managing composite service-oriented applications both on-premise and in the cloud.
Key to recent advancements announced today is the AppFabric Composition Model.
The Azure AppFabric Composition Model is a set of .NET Framework extensions for composing applications & services consistently across Windows Azure & Windows Server platforms, delivering on the promise of a true hybrid platform as a service that transends on-premise and cloud.
It includes Developer Tooling via a Visual Studio based designer to compose, deploy, and manage a cloud application as a single logical entity.
In addition, managed runtime services consume the Composition Model to provide deployment & management of the end to end application in a simple template allowing bringing click-once deployment to the cloud for multi-role applications.
Key to the value proposition of the AppFabric Composition Model is a new "role" called the AppFabric Container which provides a scaled-out, multi-tenant, isolated, high-performance runtime optimized for cloud-scale services & mid-tier components. With the AppFabric Container, we no longer think about Web Roles or Worker Roles, or how many VMs to allocate. It is essentially the 'easy button' for deploying your WCF, WF or ASP.NET apps as first class citizens int he Composition Model. You can almost think of an AppFabric Container as the premier logical hosting environment. A good analogy would be thinking about how self-hosting a WCF or WF service felt like compared to pushing to Server AppFabric hosting. With the AppFabric Container, we don't think about Web or Worker roles. We just deploy.
The beauty of the Composition Model is that you compose your application by dragging and dropping these services at design time, choosing services such as service bus, caching, containers, etc.
Of course, composing Azure roles in itself is only half of the story. As you would probably expect, AppFabric Service Bus provides the integration backbone for composing applications across the cloud and on-premise providing location transparency and a logically centralized, yet physically distributed management model via the AppFabric Management Portal. Announced publically today is the addition of durable messaging to the Service Bus.
And please keep in mind, this is not a Microsoft only party. Any WS compliant service or REST endpoint can be consumed from the cloud, regardless of vendor. This is a WCF client thing. In terms of exposing non-Microsoft services in Azure in particular, Microsoft has committed to investing in other platforms such as Java and Ruby to bring the benefits of cloud to anyone who wants to take advantage of the benefits that the cloud provides.
To me, this is SOA 2.0: the further democratization of building service-oriented applications by commoditizing the composition of services across traditional boundaries, both in the commercial and enterprise space at virtually unlimited scale.
In terms of timeline, caching in Web and Worker Roles are now available in CTP form as is durable message buffer support in AppFabric Service Bus, with full RTW versions following in H1 or 2011 along with the first public CTP of the Composite Model.