Posted by Steve Lay
With the release of Questionmark Perception v5.4, our software platform for on-premise installation, we’ve taken advantage of a new aspect of the Microsoft server platform called Windows Server AppFabric to enhance performance and scalability.
AppFabric is fairly new, so system administrators embarking on a new installation or an upgrade from an earlier Perception version may not be familiar with it.  In this blog post I introduce the basic idea behind AppFabric, the reason we have chosen to use it and which components of Perception are affected.
AppFabric was born in the cloud, as a key component of the Windows Azure cloud-based application environment. Azure is similar to the older Google App Engine: it allows developers to write applications and host them in the cloud without having to worry about the operating system, web server configuration and so on.  Microsoft have now released a version of AppFabric for their server operating system platforms, called Microsoft AppFabric for Windows Server.
One of the challenges cloud-based developers face is storing temporary information in their application when it has been load balanced across lots of servers.  Questionmark’s assessment delivery system, in common with many enterprise systems, is organized on a three-tier model: a presentation tier for optimizing the user experience for the user’s web browser or device, a business tier for implementing the business rules and a data tier for storing information.  The data tier is overkill for most types of temporary data and overusing it can have an impact on performace; that is where technologies like AppFabric come in.
AppFabric is a light-weight alternative to a database designed to store temporary information.  For example, the business tier application might retrieve some information from the database and store it temporarily using AppFabric. Next time it needs the same information it can get it from AppFabric faster than it could get it by going back to the database. Performance improves and the application becomes more scalable.
At Questionmark we have been using this type of caching solution as an integral part of our OnDemand environment for some time.  With the release of Perception 5.4 it is now a pre-requisite for OnPremise customers too.  AppFabric is helping us to extend our three-tier architecture to cover new technologies, such as Questionmark Analytics and our new Enterprise Manager portal, available for OnPremise customers for the first time in Perception 5.4.
These are our first steps with AppFabric – and we are always looking for opportunities to increase the scalability and performance of our assessment delivery platform. AppFabric may well have an increased role to play in future releases.