What exactly is the Windows AppFabric?
Microsoft released a beta of Windows Server AppFabric that "makes it easier to build, scale and manage Web and composite applications that run on IIS".
MS has also said that you can deploy AppFabric on your own servers, on a 3rd party host and on Windows Azure.
So far we haven't done any Azure development mostly because the API differs from ASP.NET and you can only deploy your app to the cloud (and not on your own servers).
So if I use the AppFabric API, will that let me create apps that I can deploy in house, at a 3rd party hoster or on the cloud with the same API? Will it be a 'first class citizen' in all of these?
Where does this leave the Azure API - is AppFabric a replacement? What about Azure SQL?
As far as I'm concerned, the main thing that AppFabric offers is what was previously codenamed "Velocity".
Velocity was the original name for Microsoft's answer to MemCached, with the benefit of being written specifically for Windows (with x64 compatibility), and also having better ASP.NET integration.
Microsoft have bundled this with something for "managing software built with Windows Workflow Foundation and Windows Communication Foundation". (A project previously codenamed Dublin.)
Those two projects (Velocity and Dublin) have now been put together and are being sold under the title AppFabric.
AppFabric is 2 things so far: a caching provider and a monitoring service.
The caching facility was previously called Velocity and only recently was added to AppFabric. This caching facility, now called AppFabric Caching, provides local caching, bulk updates, callbacks for updates, etc... so this is why it's exciting over something like MemCache which doesn't provide these features OOB.
The monitoring facility is a plugin for IIS 7 manager that works in conjunction with 2 windows services which are called AppFabric Workflow Management Service and AppFabric Event Collection Service. Once you install AppFabric you get 3 "features" in IIS manager:
- AppFabric Dashboard
- EndPoints
- Services
If you are using WWF (Windows Workflow) then using AppFabric gives you advanced control over monitoring and troubleshooting failures with a workflow.
Its the new name for the technology codenamed Dublin. A simple way of looking at it is that it represents the latest evolution of pre canned hosting for applications based on the WF and WCF. It will form a foundation for scalable services, and as such azure will be part of the landscape. We currently have our own hosting services for WF but while migrating to WF4 we're trying out App Fabric for long term scalability solutions.
It's a lot by being based on existing technolgies such as IIS, WF, WCF ETW etc and on top of these MS are adding things like reporting, management etc. I suspect that the azure api's will form a lower level or more rightly cloud only api.
See here for a channel 9 Video on the subject