One of my favorite topics with software architecture and development is definitely storage of data in distributed applications. If you basically look at the fact that data in distributed apps is usually stored in all layers in all sorts of different ways, you soon end up thinking about a way on how to really optimize storage of the data, how to provide quick access to it, how to minimize round-trips between layers down to database (or data store) and how to basically enable caching through layers, through apps and even through different locations.

Well luckily I am not the only one thinking about it :) and I finally had the time to catch-up on some reading and test some new betas that include a project called Velocity. Project Velocity is roughly a framework (plus a Windows Service) that enables distributed cache, covering various scenarios and enabling data caching between all the applications you can think of! Yes, it can also serve as a substitute cache for web sites in IIS (or any other application).

Currently, from December 5th 2008, a CTP v2 is available and I just finished installing it. It is somehow a bit more tricky (yes, reading the instructions helps) since it is by default meant for distributed caching scenarios. But not to blog too long about it, you can read a very good article on this topic on the MSDN site and download the bits from this site.

Just to get a feel of what Project Velocity will enable, here is a picture from the MSDN site:

Some more details and samples will follow soon ...