Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Kubernetes provides significant advantages, including high availability, better resource utilization compared to dedicated machines or VMs, log aggregation and monitoring, seamless upgrades, and cloud compatibility.

How to try it out?

Please note that it is still work in progress.

At this point we have a basic helm chart available for deploying OpenMRS O3 3.1.0.

If you want to try it out, run:

helm install openmrs oci://registry-1.docker.io/openmrs/openmrs

Please refer to https://github.com/openmrs/openmrs-contrib-cluster for more details.

Continue on reading to see the complete proposed solution and roadmap.

Architecture

  • Single-Tenant:

    cluster_single_tenant_o3.drawio.png

    In smaller deployments the MariaDB Galera cluster can be replaced with a 2 node MariaDB cluster that has one primary node and one read replica for high-availability. The Search Index (Solr/OpenSearch) and Distributed Cache (Memcached) are an option in later phases to offload O3 backend and/or support multiple O3 backend replicas.

  • Multi-Tenant:

    cluster_multi_tenant_o3.drawio.png

    In multi-tenant environment there is a dedicated backend and frontend to serve always the same and one tenant. Tenants connect to same storage clusters with dedicated DB schemas, search indexes, caches etc. for each tenant. Depending on the scale tenants can also be distributed across multiple storage clusters. The distribution between storage clusters can be introduced at any point in time.
    In case there is some synchronization (data sharing) between tenants needed there can be introduced supporting services such as Master Patient Index (for sharing patient data).

...