NextGen Knowledge Center

Architecture - Design

The recommended architecture described in this document has high availability as the central requirement of running Mirth® Connect by NextGen Healthcare using the Azure cloud services. This requires the use of two Centos virtual machines (VM) located in two different availability zones. Each virtual machine will run Mirth® Connect with the advance clustering plugin installed. The cluster will have an active/active configuration where the Azure load balancer will route traffic to either VM nodes. The backend database for both Mirth® Connect instances will share a managed Azure SQL database instance, where high availability is achieved by using three different availability zones. The traffic between the Azure services is managed by the Azure Virtual Network (VNet), which allows secure communication between the service needed for the implementation. All the Azure services used in this design is in-scope as part of the HIPAA Business Associate Agreement.
Mirth Connect Architecture with Virtual Machines

  • Azure Virtual Network (VNet): The virtual network service allows a private network to be built so that the Azure resources can communicate securely.
  • Azure Load Balancer: The Azure load balancer is a layer 4 load balancer that distributes incoming traffic among healthy virtual machine instances. By default, it uses a 5-tuple (source IP, source port, destination IP, destination port, protocol type) hash to map traffic to available servers. Load balancers can either be internet-facing where it is accessible via public IP addresses, or internal where it is only accessible from a virtual network. Azure load balancers also support Network Address Translation (NAT) to route traffic between public and private IP addresses.
  • Azure Virtual Machine: The virtual machine resource will have Centos as the operating system while running Mirth® Connect. Two Azure VMs is recommended deployed in two different availability zones. Each VM is recommended to be setup using the CentOs 8.2 Linux image provided by Azure. The recommended size is the Standard_D2s_v3 - 2vcpus, 8 GiB memory. The recommended OS disk type is the Standard SSD. Each VM will have its own Mirth® Connect instance installed with the advance clustering plugin.
  • Mirth® Connect by NextGen Healthcare Advance Clustering Plugin: The advance clustering plugin is a Mirth® Connect plugin which will allow the user to monitor the health of the nodes of the cluster through the Administrator. The plugin also allows the user to manage channels and view messages statistics across all nodes in the cluster.
  • SQL Managed Instance: The service is a managed SQL Server database which leverages the Virtual Network (VNet) for security between the VMs and the SQL Server instance. This resource will serve as the back-end database for both Mirth® Connect instances. The recommended compute and storage is Gen5, 4vCores, 256 GB storage on a general purpose service tier. Currently, the maximum storage using a Gen5, 4vCores is 2TB.