Country or Region:
Founded in 1976, Paragon Security is Canada’s largest privately-owned security firm - its mission is to protect its customers’ lives, properties, and assets. They provide security guard services, training for these guards, and professional security consulting services. Their client base includes Class A commercial office buildings, condominiums, health care facilities, shopping centers, colleges and universities, mobile patrol services, logistics, transportation, mining, and manufacturing companies. With over 600 client locations in just the Greater Toronto Area, they are at the forefront of the country's security needs.
The private security industry is rapidly growing, particularly in North America. Protecting essential individuals, businesses, and property is a perpetual concern, but it is now more crucial than ever as businesses face threats from domestic and foreign sources. This increased security spending has also resulted in significant technological advancements in the operational and IT private security sectors. Additionally, the evolution of criminal investigations and prosecutions, i.e., the recent emphasis on developing preventative measures, hasn't helped matters.
In the face of such demand, Paragon Security has to significantly scale up its operations, including the operational capacity of its internal portal (prism.pplguard.com). The company uses this tool for customer and operation management - their focus is on maintaining records on their customers and the security services provided to them. Undoubtedly, a good caching solution is incredibly advantageous in such circumstances.
As a notably high-traffic web application, with over 4,000 Security Personnel accessing the portal daily to retrieve such sensitive information, they needed to employ a stable caching platform. This requirement became an issue for them as they designed their application to work with Memcached, and these days Memcached is very basic, an obsolete product which is barely maintained.
With all this in mind, they initially decided to switch to Redis Open Source, which presented them with even more issues. For instance, similar to Memcached, they had to resolve bugs themselves due to lack of official support for Redis open-source. Additionally, the lack of GUI made application management and monitoring a nuisance. The limited number of counters and lack of third-party tools supported didn't help either. Furthermore, their preference for and experience with windows, made working with Redis on Linux a constant struggle with maintenance in particular being a nightmare.
NCache, with its official regular and 24/7 support options along with powerful web management and monitoring tools was the ideal alternative in the face of these complications. Not to mention, NCache being 100% Native .NET and thus being ideal for Windows addressed several of their major concerns. Further, it was apparent that NCache provided them with all the features they needed in the context of their Proof of Concept use cases - Object Caching, Expiration, Groups, etc.
NCache provides a flexible and scalable solution for their multi-tiered application. Additionally, using NCache to cache frequently used data in memory speeds up the application’s response time and saves database trips for every request. With NCache as their caching tier, they are experiencing faster data access and application stability. And given that NCache is very feature-rich with relatively simple implementation, they are more than happy to use it in their environments.
Customer Needs Met:
Paragon Security's ASP.NET Core web application uses ASP.NET Core Web APIs and Microsoft SQL Server Database as the central data source through several class libraries and the same web servers for its front and back-end functionality. To be clear, it operates on the following tiers:
This back-end tier is responsible for interacting with the Database Tier, between which the caching tier or NCache integration comes in. This layer consists of two cache servers serving separate clusters, with 6-7 client machines connected to the cache servers.
The MVC front-end web application communicates with the back-end for requests, which NCache addresses first. The cache servers in question physically reside within close proximity to the web servers, so they are on the same network - reducing the network latency and improving the request response time. This performance boost is essential given that the system may deal with around 600k requests during peak hours.
The following diagram depicts the application architecture visually.
Alachisoft provides a high-performance in-memory distributed cache called NCache. NCache is an Open Source middleware that runs in a production environment and boosts the performance and scalability of .NET web apps, SOA service apps, and general high-traffic server apps. Since 2005, NCache has proven essential to hundreds of customers worldwide, especially in the US, UK, and Western Europe.
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
Any data stored in NCache saves the application from making costly database calls. Paragon Security makes business decisions based on the customer information in the database, so Prism must handle their requests quickly. Fortunately, NCache has dramatically improved application performance. Currently, if the data is not in the cache, the relevant customer data is retrieved from the database and cached for future use just the way they wanted.
Since Prism is ideally required to provide information concerning countless records and maintain its high performance simultaneously, it shouldn't waste time searching through stale cache data. Therefore, NCache has allowed them to configure their caches with sliding expiration to retain the cache data only as long as it is in use. The mechanism removes any data that remained unused for a specified time.
Additionally, with countless records to search through, data filtering is a necessity. NCache allows Paragon Security to categorize or logically group its customers for easy object caching operations. This grouping of cached data based on rational criteria significantly reduces the time required to search for said data. As a result, it produces faster search results, improving the scalability of the application via simple Group API and SQL queries for when the searches become more complex.
Paragon Security is a big proponent of NCache SQL Search. They are using it to handle frequently queried datasets that aren't updated often, like their uniform inventory. They use NCache to cache these objects when they are first queried and handle them via the cache in the event of any further queries. Essentially, when their employees search this inventory or any other cached datasets, they'll receive much quicker responses, having saved themselves the database trip.
NCache is paying off for the company in a big way and it has functioned perfectly in its environment since its integration - with no planned changes coming to the Prism portal, this state of affairs is set to continue. More than satisfied with the platform, Paragon Security plans on incorporating NCache into its other applications.