NCache is really great! Performance from write and read to NCache is excellent, plus it's easy to use and ideally suited for our needs to maintain scalability and high availability.
The Liebherr-MCCtec GmbH, Nenzing (Austria) is one out of ten divisional control companies within the Liebherr Group and coordinates all activities in the field of maritime cranes.
The MCCtec currently employs more than 3.500 employees worldwide and has four state-ofthe-art production sites for maritime cranes in Nenzing (Austria), Rostock (Germany), Sunderland (Great Britain) and Killarney (Ireland). In addition, the maritime division operates 37 sales and service organizations.
The product range of the MCCtec includes solutions for any kind of cargo handling in ports as well as in the shipping and offshore industry such as mobile harbor cranes, gantry cranes, ship cranes, offshore cranes and reachstackers. On the international construction machinery market the division is offering a broad range of universal duty cycle crawlers, lift cranes as well as foundation equipment.
About the Group:
The Liebherr Group, headquartered in Bulle, Switzerland, is among those giant corporations that early on had humble beginnings. But today is among the top manufacturers of construction equipment in the world. Back in 1949, the family patriarch, Hans Liebherr, developed his first mobile, easy-toassembly and affordable tower crane. It represents the very foundation on which the company has flourished and been successful.
Customer Needs Met:
Alachisoft, a California based company, designs, develops, and markets NCache and TierDeveloper for .NET. NCache, a clustered object cache for .NET, allows customers to boost performance of their applications by as much as 10 times simultaneously enhancing application scalability and reliability. And, TierDeveloper, an object to relational (O/R) mapping code generator for .NET, cuts down development time by 50%.
You can download a free 30-Day fully working trial of NCache from here.
12005 Ford Road, Suite 520
Dallas, TX 75234
US: +1 (214) 764-6933
UK: +44 207 993-8327
The challenge Liebherr-MCCtec faced was having and maintaining maximum 24/7availability of their intranet. A second challenge was having scalability for the future. When Liebherr-MCCtec intranet applications were initially developed, they relied on Microsoft’s ASP.NET framework StateServer and its SQL Server to save sessions data.
Tuertscher said, "The problem was when you have only one StateServer and the server is down, your applications go down as well and then you have a single point of failure and sessions data is lost. We tried to resolve our requirements with our StateServer and tried to save sessions data in SQL Server, which was too slow for us. In our attempt for a fully failsafe system, we had to use two StateServers or two SQL Servers, which led to greater expense."
Both StateServer and SQL Server have a variety of issues. In short, when a web server goes down for whatever reason, the StateServer on that web server also goes down. That means many sessions are lost. Also, when a dedicated StateServer box becomes overwhelmed due to added web servers and transactions are greatly escalated, a scalability bottleneck is created.
As far as the scalability issue, Tuertscher said, "Our Microsoft systems did not permit us to save our global objects and allow us to use this data across application pools, plus they didn’t give us additional access from a WinForms application."
Meanwhile, SQL Server is not an in-memory data store, but rather a diskbased data store. All databases are kept on disk because they grow so large that memory is not sufficient to hold the entire database. Thus, a database stores its data on a persistent storage, which is a disk. Due to disk storage, SQL Server performance is not as fast, resulting in a performance drop.
Also, Liebherr-MCCtec lacked the high availability it needed when they needed to bring their server down for maintenance or other reasons. High availability means that the cache must be extremely stable so it never crashes. It must also provide the ability to make configuration changes without stopping the cache.
"We now use NCache to store data for maximum performance of our applicatons, and we don’t require a round trip to the SQL Server," according to Tuertscher. Liebherr-MCCtec also uses NCache to resolve high availability problems, as well as those issues earlier introduced by Microsoft’s StateServer and SQL Server. Today, Liebherr-MCCtec uses a clustered cache to synchronize the session data between two IIS servers. This way, sessions data is available on every request.
He added, "We have no single point of failure because NCache is installed on every IIS server. We saved significant money by not requiring additional servers that come with expensive licenses,” Tuertscher said.
Before installing NCache, Liebherr-MCCtec intranet’s failsafe system required two Windows servers and associated licenses for their StateServer to synchronize sessions data. Then, it needed two other servers, two Windows server licenses, and two SQL Server licenses for their SQL Server to synchronize sessions data. Costs of hardware and software can be saved.
Furthermore, he added that the entire menu structure as well as the sitemap of the intranet is stored in NCache. To achieve maximum performance the menu is loaded via NCache at runtime without the need for the slow SQL Select from the database.
NCache provides high performance and linear scalability. It can scale out due to its architecture. It keeps data distributed across multiple servers and still provides one logical view so that it appears as one cache. However, the distributed cache exists on multiple servers, and that feature allows NCache to scale out in a remarkable fashion.
Also, because it is in-memory, NCache provides Liebherr-MCCtec intranet the highly critical replication. If any server goes down, no data is lost and another server will have that identical data. Replication provides more than one copy of the same data in different locations on different servers. By doing so, Liebherr-MCCtec achieves 100% uptime.
Thanks to NCache’s partition-replicate caching topology, as shown in Fig. 1, Liebherr-MCCtec can consistently maintain that high availability with no downtime. In this caching topology, each partitioned cache can be replicated and grow. Plus, Liebherr-MCCtec is able to replicate for availability to get assurances that no data is lost. Plus, with the help of partitioned- replicate topology, Liebherr-MCCtec is able to grow its cache linearly in terms of scalability.
As an added bonus, Liebherr-MCCtec further enhances its high availability through dynamic cache clustering. In effect, this is the ability to add or remove cache servers from the cache cluster at runtime without stopping the cache or the client applications.
Currently, Liebherr-MCCtec uses NCache only for its ASP.NET applications. However, the company can imagine to use NCache in its .NET WinForms applications for maximum performance and to relieve their SQL Servers.