Recently Microsoft has released another Azure AppFabric CTP. This particular one focuses on Azure “AppFabric Applications” or otherwise known as “Composite Applications”. The goal of Azure AppFabric Applications(as I see it) is to build, deploy and manage multi-tier applications as a single logical entity in Windows Azure.
Coming from the BizTalk world I am very familiar with distributed applications. Some of the challenges in developing and maintaining these types of applications is understanding all of the moving parts that are involved in these solutions. AppFabric Applications is a step in the right direction as it provides a holistic view of our “stuff” that makes up a distributed application including Web Applications, Custom and 3rd party Services, Service Bus capabilities (Relay/Queues), Workflow and Storage(DB/Blob/Table).
Managing, and understanding, different application/solution tiers independently can be a bit of a nightmare. One of the features of AppFabric Applications the ability to automatically generate a diagram that describes all of the core components of our distributed application and the related dependencies.
If we take a look at a diagram that describes one of the sample solutions we can quickly discover what our solution is made up of. In this case we have a Web Application that will push data to an AppFabric Queue. In turn we have a service that pull this data off of the queue.
So at this point you may be thinking “whoopee” I can draw that in Visio in 2 minutes. Well Visio will not be able to deploy this entire solution to the cloud in the matter of a few mouse clicks. Once this application is in the cloud we then have the ability to provision our various tiers by “turning a knob” or in this case pulling down a menu to select the amount of instances we require.
Another nice benefit is that we can trace and instrument our entire solution from once place. This is another pain point of distributed systems. There is usually logs all over the place that have to be aggregated to get a sense of the performance and health of an entire application. This is another benefit of using Azure AppFabric Composite apps.
Unfortunately my experience with this technology is only in the Local Development fabric as I am currently waiting to get access to the “Labs” environment in Azure. But if you check out some of the resources that I have outlined below you can see some demos of the Management features available in the Cloud.
- Ease of deployment
- Greater developer productivity
- Effortless scale
- Centralized managed and monitoring
- AppFabric Developer Tools
- AppFabric Application Manager
- Composition Model
- Support for running Custom Code, WCF and WF
What you need
Before you start, I recommend watching the following videos:
The Samples that are available include introductory apps like a StockQuote app that has a Web Front end and then consumes a back end service to a Contoso Pizza application that includes a Web Front End that consumes a back end service which leverages some WF workflow.
This new CTP has me really intrigued. I plan to investigate further and will blog more about my findings.