How to Run iMonnit Enterprise in High Availability (HA) Environments
High Availability Overview
Certain installations of iMonnit™ Enterprise will benefit from implementing a high-availability cluster to host the applications and the collected data. A few key benefits are:
- Maintain uptime while performing maintenance such as Windows updates.
- Guard against downtime caused by hardware failures.
- Some configurations allow for expanded reporting from secondary data replicas.
Prerequisites (Must be in place before iMonnit Enterprise can operate in HA.)
- SQL Server cluster configured for HA
(This is the main piece to evaluate, as it will be the highest cost and also affect resiliency and capabilities the most.) See Appendix A for notes on SQL Server configurations.
- SQL Server 2022 recommended
- SQL Server Standard
- Lower license costs from Microsoft
- Limited to Active-Passive configurations
- SQL Server Enterprise
- Higher licensing costs provide more flexible configurations
- Active-Active options
- Higher levels of redundancy
- Application Servers
- Two Windows servers are prepared with:
- .NET Framework Version 4.8
- ASP.NET MVC Framework
- IIS 10 Web Server
- Two Windows servers are prepared with:
- Load Balancers in HA Configuration
- Windows Server Network Load Balancer (NLB)
- 3rd-party load balancers may be easier to configure and maintain. Here are a few:
- Loadbalancer.org (https://www.loadbalancer.org/products/enterprise/)
- Edgenexus (https://www.edgenexus.io/products/load-balancer/)
- FortiADC (https://www.fortinet.com/products/application-delivery-controller/fortiadc)
Licensing of iMonnit Enterprise
Currently, two SKUs are available for HA configuration:
- MNW-EP-5000HA
- Supports up to 5000 end devices (gateways not included)
- Support for installation on two servers
- Intended for HA configuration
- MNW-EP-10000HA
- Supports up to 10,000 end devices (gateways not included)
- Support for installation on two servers
- Intended for HA configuration
Other components will also need to be licensed, including:
- Windows Server licenses
- Hosts and VMs as determined by your use case
- SQL Server licensing
- Load Balancer licensing
- Your use case determines others
Installation of iMonnit Enterprise
As with all iMonnit Enterprise installations, the servers must first have the prerequisites installed and configured. For HA configuration, the same needs to be configured on both application servers. SQL clustering and configuration must also be completed before installation.
The same installation wizard can be used on both application servers. Whichever server is installed first will create and populate the initial database in the cluster. After the database is created, additional steps may be needed in SQL Server to ensure high availability and failover capabilities.
When installing iMonnit Enterprise on the second server, ensure that the same Database connection parameters are utilized so that the second instance shares the same database already created. If different parameters are entered, a second database instance could be created instead of both servers sharing the same database.
Appendix A (SQL Server Considerations)
In SQL Server 2022 (Standard and Enterprise), there are three HA paths.
- Basic Availability Groups (Standard Edition).
- Full Always On Availability Groups (Enterprise/Core Edition).
- Failover Cluster Instances / Log Shipping (Not a direct form of HA, but almost always used together with FCI).
These days, in almost all situations, Availability Groups are more widely used than the previous forms mentioned below. We recommend using Enterprise if the cost difference isn’t a deal-breaker, given the limitations of the standard version (it doesn’t scale).
For comparison purposes, this information assumes that the server(s) will run Windows Server 2022/2025 Datacenter edition. Have a minimum of 12 physical cores per socket and the appropriate amount of RAM, storage, SAN, switches, power, Cooling, etc.
Standard Edition Core Licenses (includes 2-Core Pack) MSRP: $3,945 USD (approx.). When getting the additional 10 cores to bring this to 12 cores, the total is $23,670.00 USD (approx.).
The Enterprise Edition Core Licenses (includes 2-Core Pack) MSRP is $15,123 USD (approx.). When getting the additional 10 cores to bring this to 12 cores, the total is $90,738.00 USD (approx.)
Basic vs Full Availability Groups
- Basic is obviously much cheaper than Enterprise/Core licenses.
- Basic only allows one secondary replica.
- Basic doesn’t support read scale or multi-database failover (failover happens per database, not per instance).
- Basic only allows one Availability Group per instance.
- No Automatic Page Repairs, much less resilient than iMonnit Enterprise.
- Not recommended for large environments with high transaction volume or read-heavy workloads.
- Enterprise allows up to eight secondaries.
- Enterprise allows offloading backups, checkdb, reporting, and other maintenance tasks to secondaries.
- Allows Databases (MDF/LDF/NDF) to reside on each physical server(s) storage.
Failover Cluster Instance (FCI) Standard vs Enterprise/Core Editions
- Instance-level failover: everything fails over (jobs, logins, linked servers, SQL Agent).
- Doesn’t require availability groups.
- Works in the Standard Edition (2-node max).
- Really designed for the protection of a single-database environment.
- REQUIRES Databases (MDF/LDF/NDF) to reside on (iSCSI/Fiber Channel) regardless of version.
- It is NOT a disaster recovery solution by itself because it can only fail over within the same cluster, not to other locations.
- Doesn’t offer read-scale, and failover times can take much longer than Always On groups because the actual SQL Server instance MUST restart.
Log Shipping
- Available in all editions of SQL Server 2022
- Unlimited secondaries
- Stable, simple, and reliable
- Supports DR (FCI from above) /with latency, meaning you can keep warm standbys days behind
- Offers readable secondaries
- Does NOT offer automatic failover; the process is 100% manual
- Data loss is possible depending on the frequency of the transaction log
- It is NOT a true real-time HA
- Not suited for high transactional workloads that require near-zero data loss
SQL Server 2022 High Availability Options
|
HA Feature / Behavior |
Basic Availability Group (Standard) |
Full Availability Group (Enterprise/Core) |
Failover Cluster Instance (Standard & Enterprise) |
|
Edition Required |
Standard Edition |
Enterprise (Core licensing) |
Standard: 2-node limit, Enterprise: OS limit |
|
Replica Count |
1 primary + 1 secondary (2 replicas total) |
1 primary + up to 8 secondaries (9 total) |
Not applicable (instance-level only) |
|
Synchronous Commit |
Yes |
Yes (multiple replicas) |
Yes (instance-level) |
|
Asynchronous Commit |
Yes |
Yes |
Yes |
|
Automatic Failover |
Yes (1 secondary only) |
Yes (multiple secondaries possible) |
Yes (WSFC drives failover) |
|
Readable Secondary |
No |
Yes (read routing allowed) |
No |
|
Read Scale-Out |
No |
Yes (read routing, load balancing) |
No |
|
Backup Offload |
No |
Yes (backups on secondaries) |
No |
|
CHECKDB Offload |
No |
Yes (secondary database) |
No |
|
Multi-Database Atomic Failover |
No |
Yes |
Yes (instance-level) |
|
Automatic Page Repair |
No |
Yes |
Depends on the storage subsystem |
|
Distributed AG Support |
No |
Yes |
No |
|
Clusterless Read-Scale AG Support |
No |
Yes |
Not applicable |
|
Number of AGs Allowed |
One per instance |
Unlimited |
Not applicable |
|
Failover Unit |
Individual database |
Database group |
Entire SQL instance |
|
Storage Requirement |
Independent storage per node |
Independent storage per node |
Shared storage required (SAN or S2D) |
|
Instance Migration |
No (DB-level only) |
No (DB-level only) |
Yes (instance-level failover) |
|
Licensing Cost |
Low (included with Standard) |
High (Enterprise Core licensing) |
Standard: low, Enterprise: high |
|
Best Use Case |
Basic HA without scale-out |
Mission-critical HA/DR with read scale |
Simple, stable, instance-level HA |
|
Read-Only Reporting |
Not supported |
Fully supported |
Not supported |
|
DR Across Regions |
Limited (1 async secondary only) |
Strong (multiple async replicas, distributed AG) |
Possible only via a multi-subnet cluster and shared storage replication |
|
Failover Speed |
Fast |
Fastest (parallel redo improvements) |
Moderate (instance restarts during failover) |