Capacity Specification
The choice of NCache License, Edition, and Package depends on your deployment, including the number of servers and your specific use case. Your use case guides the selection of features, helping you decide which Edition is most suitable. After this, the most critical consideration is the number of vCPUs you will require.
Important
For NCache Enterprise, you can move licenses from one environment to another by deactivating/reactivating them when needed.
Note
For assistance with the planning process, please contact Alachisoft Support.
As part of capacity planning (when you contact Alachisoft Support), you will have to provide information about your deployment. This includes the number of web servers you have, the number of cache servers you intend to use, and the hardware profile of your servers. You must ensure you have ample resources for deployment, and your primary focus should be on the following:
vCPUs: NCache is a highly multi-threaded software and takes full advantage of extra cores. The most common configuration for NCache is eight cores or higher. You may need more powerful processing if you have higher transaction loads or tonnes of data stored in NCache.
RAM: Ensure that the amount of memory you have available works based on your use case, as with more connected applications, there is more data, and more memory is required.
Network: You will require a network that minimizes latency and improves response time and cluster communication. As cache servers are incredibly chatty, and a fast network helps facilitate the constant communication between the application and the servers.
In most cases, a minimum of 8 vCPUs with 16 GB RAM is recommended, regardless of the size of your working set. However, you can use 4 vCPUs for 8 GB if they have a very simple use case.
Capacity Planning Across Deployment Environments
When estimating NCache capacity and licensing requirements, account for every environment in which NCache will be installed or activated. Production and non-production environments usually have different availability, performance, and capacity requirements and should therefore be planned separately.
Production and Disaster Recovery
The production environment should be sized according to the expected data volume, transaction load, number of application clients, and availability requirements. Production cache servers should have sufficient processing, memory, and network capacity to handle the expected workload without operating continuously at maximum utilization.
A Disaster Recovery (DR) environment should be planned based on how quickly it must take over production traffic and how much workload it is expected to handle during a failover.
Consider the following when planning production and DR environments:
- Number of cache servers required in the production and DR sites.
- Cache topology and replication requirements.
- Whether the DR environment will be continuously running or started only during a disaster.
- Whether the DR environment must support the complete production workload or only critical applications.
- Network bandwidth and latency between the production and DR sites.
- Licenses required for each environment in which NCache is activated.
For a fully operational DR environment, use a hardware profile comparable to production. A smaller DR environment can be used when reduced capacity during a disaster is acceptable, but it should still be able to support the required business workload.
Important
Do not include production and DR servers under a single capacity estimate. Calculate their server, client, hardware, and licensing requirements separately.
Staging and Test
Staging and test environments are used to validate application behavior, NCache configuration, upgrades, deployment changes, and performance before they are introduced into production.
A staging environment should resemble production closely enough to reproduce production behavior. Where possible, use the same:
- NCache edition and version.
- Cache topology.
- Operating system and deployment model.
- Security and network configuration.
- Application integration settings.
- Server-to-client distribution.
The staging environment does not always require the same data volume or server capacity as production. However, reducing the number of cache servers or changing the topology may prevent it from accurately reproducing cluster, failover, replication, and performance behavior.
Test environments can use lower-capacity servers when their purpose is functional testing. Performance, scalability, load, and failover testing should be performed on hardware and cluster configurations that are representative of production.
Development and QA
Development and QA environments generally have lower workloads and can use smaller NCache deployments. A single cache server or a reduced-capacity cluster may be sufficient for application development, API validation, and routine functional testing.
Use a clustered deployment when developers or QA teams need to test behavior related to:
- Cache clustering.
- Data distribution and replication.
- Server failure and recovery.
- Client connection failover.
- State transfer.
- Node addition and removal.
- Deployment automation.
Development and QA environments can often use fewer vCPUs and less RAM than production, provided the selected hardware meets the minimum requirements for the features being tested.
Note
A reduced development or QA environment is suitable for functional validation but should not be used to estimate production performance or capacity.
Types of NCache Licensing Based on Capacity Specification
NCache licensing is vCPU based, where the license is bound to machine specifications (like the vCPUs, RAM, MAC addresses, IP addresses, machine names, etc.).
Note
NCache Servers refer to the boxes hosting the cache, and the term NCache clients refer to the boxes hosting your applications.
Based on these specifications, NCache offers two types of licensing, which have been discussed as follows:
Server-only (SO) Licensing
In server-only licensing, you only purchase NCache cache servers with free clients. These servers are licensed based on a combination of RAM & vCPUs. In this model, you get unlimited clients. This model is recommended if you have a large number of clients. While choosing this model, please ensure that your cache servers are mapped according to your plan.
Note
It is best if you follow the plans exactly as detailed. For example, if you opt for the 4GB plan, ensure that you have 4 GB available and 2 vCPUs.
Client-server (CS) Licensing
In client/server licensing, you must explicitly purchase and activate the clients and servers, compared to server-only, where you only need to do this for the servers. This licensing model is recommended when you have a smaller number of clients.
Note
You can learn more about this and other licenses via NCache Pricing.
Note
NCache is very flexible in terms of deployment. You can deploy it on the cloud, on-prem, or using a containerized environment. Similarly, NCache lets you choose whether to opt for Windows or Linux.
Important
When deploying NCache, please ensure that everything (applications, cache servers, web servers, etc.) is on the same network, subnet, and IP range. Thus, avoiding latency.