Running MATRIXX

MATRIXX is deployed as a cloud native solution, where physical platform abstraction is provided by running in containers orchestrated by Kubernetes in a public or private cloud environment.

MATRIXX is deployed in Kubernetes using 100% native controls and without plugins or an external provisioning overlay. This is made possible by the inherent micro-service design of MATRIXX (even with the inclusion of the stateful in-memory database components), coupled with Kubernetes deployments and an operator framework.

Kubernetes is an open-source container orchestration engine designed to manage reliable, distributed, containerized applications at scale. The smallest and simplest Kubernetes component is a pod, but most applications are formed from multiple different pod types and instances. Kubernetes provides various default controllers to manage these different types of pods. MATRIXX makes extensive use of a Kubernetes deployment and replica sets to ensure that for a particular function in the platform, a required number of pods is available when needed. Cloud native MATRIXX is delivered as Docker images and Helm charts. The software compute nodes that host containers must have the same capabilities as the physical nodes outlined in the discussion about infrastructure requirements in MATRIXX Installation and Upgrade.

MATRIXX includes an operator that supports auto-healing, allowing Kubernetes to reinstate a pod that is not functioning correctly. The operator uses liveness probes to detect the state of all pods in a deployment. A newly reinstated pod can rejoin the running cluster without any manual interaction.