AppFabric Architecture Guide

The purpose of this guide is to provide guidance on how to optimize the architecture of a Microsoft AppFabric 1.1 for Windows Server system. It does not discuss the topic of AppFabric Caching. This guide is meant to complement the existing documentation on the features of AppFabric. It will reference that documentation to provide additional technical depth.

Introduction

AppFabric extends Windows Server to provide enhanced hosting, management, and caching capabilities for web applications and middle-tier services. The AppFabric hosting features add service management extensions to Internet Information Services (IIS), Windows Process Activation service (WAS), and the .NET Framework version 4. These features include Hosting Services and Hosting Administration tools that make it easier to deploy, configure, and manage Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF)-based services.

Services and service-oriented architectures exist in many types of applications. Modern applications typically have a data-driven transactional component (such as taking orders on a website) together with highly distributed business logic that manages these transactions across a middle tier. Developers are increasingly tasked with requirements to deliver highly responsive and scalable applications. This is true not only for middle-tier services, but also for web, mobile, and desktop applications. As demands on applications increase (for example, a website becomes popular, or other groups start consuming your shared service), expensive data access can often present serious limitations to application performance and scale. A solid architecture is critical to ensure that you develop a useful distributed AppFabric solution.

Today architecture is a commonly overused term.  However, within its many diverse definitions there are some common core concepts that define an architecture as follows:

  • A group of key choices about how a software system is composed

  • The fundamental association of system components through their relationships and interfaces

  • The principles surrounding the solution creation and ongoing evolution

These concepts apply here as we provide specific recommendations on how to properly design an AppFabric deployment for enterprise-scale load requirements.  We will start by providing a high-level understanding of the primary components of AppFabric. These are hosting of .NET Framework WCF and WF services, the AppFabric Windows services (Event Collection service and Workflow Management service), and storage for persistence and monitoring data. 

Following the high-level introduction, we will look at specific issues that influence your AppFabric architecture. It is important to understand how to conceptually scale out an AppFabric installation at the service and database tiers.  These issues include concepts surrounding configuration of the hosting environment, the AppFabric Windows services, and deployment of .NET Framework WCF and WF services to an AppFabric web farm.  The configuration of the persistence and monitoring data plays an important role in ensuring that your architecture is able to scale correctly over time. We will look at optimizations and different server and cluster configurations at the data-tier level.

Who Should Read This Guide?

  • IT professionals whose job is to administer, configure, and deploy AppFabric servers.

  • IT architects whose job is to develop solution architectures using AppFabric servers as a part of the design.

What's in This Guide?

  2012-03-29
Show: