Moonpig.com, an online greeting card retailer, was founded in 1999. The company grew steadily from 2000, first selling to UK consumers, moving to the Australian market in 2004 and the US in 2010. NCache allows moonpig.com to maintain very crucial high-availability for their high traffic website by storing their ASP.NET sessions in a reliable and replicated cache storage.
“NCache extremely quick and performance is fantastic. It allows us to avoid worrying about the ASP.Net session side of things. As far as the user experience is concerned, there’s no discernable delay in loading sessions from NCache.”
Issues with InProc and SQL Server
Due to a rapid growth of Moonpig’s UK web site, the numbers of visitors and orders placed left a considerable load on the website. Built on Microsoft’s ASP.NET framework and initially dependent on ASP.NET Session State InProc and SQL Server storage options, with time the website required a more sophisticated solution for maintaining high availability. To begin with, ASP.NET Session State storage wasn’t able to scale based on InProc and SQL Server. Furthermore, InProc has limitations when it comes to memory, which is needed with increasing number of sessions. Another element was the lack of up to par performance of SQL Server due to disk storage. Lastly, SQL Server does not scale linearly, preventing a company like Moonpig from smoothly growing a Web farm. This, as a storage mechanism, also becomes a bottleneck for both sessions and application data.
NCache Fixes Issues of High Availability and Scalability
Moonpig’s technical team discovered NCache through a well-respected Microsoft .NET developer magazine published in the US. Moonpig installed NCache to resolve the session store problem. However, NCache offered much more than that. Firstly, through NCache, session loading and performance became faster, eliminating any delays. Secondly, NCache allowed to maintain crucial high-availability, while efficiently handling session storage and carrying out online updates. With NCache, they could also let servers in and out of the load balancer at will during patches and other updates. This is something that cannot be done with InProc or SQLserver. Finally, NCache is linearly scalable, which means they could or remove NCache servers on the go as required.