Configuring Scalability And High Availability With AppFabric Caching (Velocity)

One of the main features that stand out about AppFabric is how simple it is to scale. Multiple servers can be added to cache data called the Cache Cluster. The makeup of the cluster however is something important to get familiar with and understand how it works, so certain situations can be avoided or resolved quickly to minimize downtime. Let's start with a quick background of what I refer to as AFC (AppFabric Caching). The need for caching information in today’s architecture is not foreign. Within ASP.Net information can be cached in/out of process or even within SQL server for scalability. One of the shortcomings of some of today’s current caching models is the scalability and high availability. With AFC, formally codenamed Velocity, it is very simple to set this up. Once you have your caching cluster setup, data no longer has to be pulled from the database consistently. Business downtime is not as high when servers go down, which is sure to happen from time to time from either maintenance or other uncontrollable acts of IT nature. These senarios were the main reasons Microsoft decided to come up with AFC. Most architectures look like below and I have had first hand experience in seeing this type of architecture head south quickly.

Instead, AFC can help out by giving your solution the scalability and availability your business solution demands. By monitoring your business solutions activity, decisions can be made on the fly for scaling out how business data should be cached.

To benefit from cache scalability, it is important to understand the different senarios. There are lead hosts that manage the cache cluster. These hosts are designated through configuration and the more cache servers created, the more lead hosts should be designated to manage them. In order for a cluster not to fail, there always needs to be a majority of lead hosts running to manage the cluster. If not, then the cluster goes down. However, the cluster would continue to run even with all four cache servers shutting down.

Now that we have scalability, what about High Availability? High Availability occurs by creating a secondary copy of the data being cached on another server. This is not activated by default and there must be at least 3 servers in the cache cluster(makes sense for needed cache duplication). Because cached data is duplicated, when one of the servers go down, cached data is no longer lost.

When you see these two features of AFC in action, it becomes very clear how much of a difference AFC can make. Microsoft has made just about every aspect of installing and setting up AFC simple. Once you have a basic understanding of how its configured, cache servers can be stood up and setup for high availability very quick. This Saturday, I will be heading to Tampa, Fl., for SQLSaturday, where I will be giving a 1 hour presenation walking others on how to setup and configure caching and also how to build caching clients that can pull data from the cluster. 

Currently rated 2.9 by 7 people

  • Currently 2.857143/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: BayerWhite
Posted on: 1/8/2010 at 2:05 AM
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed
Comments are closed