Microsoft's Windows Server AppFabric will be generally available this month and there will be more than 25 AppFabric-related sessions at Tech-Ed 2010. But why should IT pros care about AppFabric and what the heck is it?
Windows Server AppFabric is an answer to the call from organizations and developers who have been asking Microsoft for an "application server" for years now, since Windows Server and Internet Information Services (IIS) have not provided a full range of services for deploying, managing and monitoring certain classes of Web applications, said one expert.
"Windows Server AppFabric addresses much of this gap and its availability as a free extension to Windows Server -- and an expected native component of future Windows Server releases -- will be welcomed," said Rob Sanfilippo, an analyst at Directions on Microsoft, a Kirkland, Wash.-based consulting firm.
The two AppFabric technologies, which are based on the .NET development framework, will converge in future releases but, for now, the naming is probably going to confuse IT pros, especially since there is another separate technology, Windows Azure Fabric, that overloads the name even further.
So, what's the difference?
Windows Azure Platform AppFabric, which became available in April, is a service bus that relays messages to the Internet and provides a way to move data to applications located in the cloud. It also includes an access control service that allows for federation between different cloud service providers.
Windows Server AppFabric's capabilities can be useful to developers and organizations regardless of whether they use Windows Azure or other cloud-based services. It is essentially a set of management extensions to the Application Server Role in Windows Server that makes it easier to build, scale and manage Web and composite applications running on IIS.
The platform, now in a release candidate version, will be most useful to organizations running Web services that use the Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF), since it provides infrastructure to deploy and monitor those services in a consistent way, through IIS Manager or PowerShell scripts, Sanfilippo said.
"Without AppFabric, service developers have been required to write code to handle infrastructure around hosting WCF and WF services," Sanfilippo said. "Developers using these technologies will also benefit by no longer carrying the burden of implementing the tasks handled by AppFabric."
The first release of Windows Server AppFabric has two parts that can be used independently or together: AppFabric Caching Services to speed up access to frequently used information and AppFabric Hosting Services, which makes it easier to run and manage services.
AppFabric Caching is a way to scale out without adding multiple database servers. Instead, it creates a distributed cache across multiple machines. So rather than sending every request to a single database server, which causes bottleneck issues, the data is retrieved from various machines, and performance should increase.
The caching feature consists of a cache client that accesses a cache cluster, which contains numerous cache servers that store data in memory. Each cache server runs an instance of AppFabric Caching Services and maintains some cached data, while each cache client maintains its own local cache using software provided as part of AppFabric Caching Services, according to Microsoft sponsored May 2010 white paper, "Introducing Windows Server AppFabric."
In addition, a high-availability option stores a secondary copy of each cached data item on another box in the cluster.
Sanfilippo said the cross-server memory caching mechanism could help developers build high throughput Web applications on ASP.NET, and high-traffic Web applications deployed across many servers will realize the most benefit.
Application developers using WCF – the programming model for building service-oriented apps - and the workflow engine, WF, can run those services in AppFabric Hosting Services.
AppFabric Hosting doesn't create a new environment. It builds on the existing IIS and Windows Process Activation Service (known as WAS) environment, adding a number of capabilities for running and managing WCF and workflow services. It also includes PowerShell cmdlets so that administrators can create custom management scripts.