Microsoft Distributed Cache “Velocity”

Sudhakarj21
Posted by in .NET Framework category on for Beginner level | Views : 7985 red flag

Microsoft “Velocity” is the code name for their new Distributed Cache Tool. Distributed Cache is about making your application data available on a Distributed Environment means a set of Physical Servers in a Web Farm scenario or in a Distributed multi layer system. This articel is about an overview of "Velocity" will provide more detailed articles in next coming months.
Introduction

Microsoft “Velocity” is the code name for their new Distributed Cache Tool. There are many Distributed Cache Software’s out there in market, so why Microsoft is coming up with this new one?

Before that we should understand about Distributed Cache. It is about making your application data available on a Distributed Environment means a set of Physical Servers. ASP.NET comes with a set of options to make Session Distributed but none of the models have good flexibility on Cache API and Flexibility. Below are some of the differences comparing Distributed Cache Vs Others.

Disributed Cache Vs Others

 

In Process

ASP State Server

SQL State Server

Distributed Cache

Scalability

Not Scalable

Can be scaled up to 1 server only

Can be scaled up to 1 server only

Can be scaled up to N servers

Availability

Session information lost if the worker process is restarted

State is maintained on a single server, and thus a single point of failure

Supports failover clusters

State can be maintained on a different server, and thus supports multiple failover clusters

Performance

Fastest to Read and Write

Slower than In-Process

Slowest method

Faster than SQL state servers

Deployment

Easy to Configure

Easy to Configure

Complex to setup and maintain failover clusters and mirroring

Easy to Configure for Simple mode. Need little expertise to configure Router cluster mode

Cache API

Custom static objects or ASP.NET Web Cache

No API. Only Session data will be persisted

No API. Only Session data will be persisted

Cache/Session API

Memory Usage

More Memory. Saves all Session and Cache data per App Pool

Less Memory when compared with In Process. Since the Session data is placed on different server

Less Memory when compared with In Process. Since the Session data is placed on different server

Less Memory when compared any other modes. Since Session data and Cache data are saved on different servers


Microsoft has strongly putting their efforts to make Microsoft “Azure” a new cloud computing platform to be a platform for Highly Available, Reliable & More Performance Tuned. Distributed Cache is one of proven pattern in today’s distributed application to provide all the above options and “Velocity” will help to integrate all Microsoft related Software’s and Tool’s  to Distributed Cache without any difficulty.


Comparision With Other Softwares


Below are some of the differences when compared with other tools which are available today for Distributed Cache.

 
 

N – Cache

Mem Cache

Shared Cache

Velocity

Licensing

Per Client

Open Source

Open Source

Free

Features

More

Minimum

Low

V1 with Minimum Features

Deployment

Easy

Not Much Documentation

Not Much Documentation

Easy

Monitoring & Administration

Very Easy

-

-

Not difficult. Need to know about performance counters and power shell

References

http://www.alachisoft.com/ncache/

http://www.codeplex.com/memcachedproviders

http://www.codeplex.com/SharedCache

http://msdn.microsoft.com/en-us/data/cc655792.aspx

"Velocity" Features

Microsoft “Velocity” went through different cycles of testing & user acceptance. CTP3 is the latest version release to Public but for Corporate Users next version is also available. It is also moved to “Beta1” as part of Windows Server AppFabric and also as part of Application Server Extensions for .NET 4.0

 

Below are the features provided by Microsoft “Velocity”

 

·         Caches any serializable CLR object and provides access through simple cache APIs.

·         Supports enterprise scale: tens to hundreds of computers.

·         Configurable to run as a service accessed over the network

·         Supports dynamic scaling-out by adding new nodes.

·         Backup copy provides high availability.

·         Automatic load balancing.

·         Integration with administration and monitoring tools such as PowerShell, Event Tracing for Windows, System Center, etc.

·         Provides seamless integration with ASP.NET to be able to cache session data in without having to write it to source databases. It can also be used as a cache for application data to be able to cache application data across the entire Web farm.

·         Follows the cache-aside architecture (also known as Explicit Caching) for V1. That is, you must decide explicitly which objects to put/remove in your applications and the cache does not synchronize with any source database automatically.

 

Conclusion

Below are some of the scenarios where Microsoft “Velocity” fits in.

 

·         Application Tier in Windows / Web

·         UI Tier in Web

·         Data Access Tier in Windows / Web

·         Large Scale Enterprise Tools / Services

Will provide few more articles on using Microsoft "Velocity" in the coming days.

 

Page copy protected against web site content infringement by Copyscape

About the Author

Sudhakarj21
Full Name: Sudhakar Kottapalli
Member Level: Bronze
Member Status: Member
Member Since: 10/5/2009 7:05:50 AM
Country:



Login to vote for this post.

Comments or Responses

Login to post response

Comment using Facebook(Author doesn't get notification)