The ELMA365 application runs on the Kubernetes container management platform. It stores data in PostgreSQL, MongoDB, and the S3 object storage. Read more in the Architecture article.
There are three distribution options available for ELMA365.
- ELMA365. Distributed as a Helm package. All application manifests are combined into one package for installation by the Helm3 package manager. This is the main and recommended option. It is suitable for installation in a Kubernetes cluster, both Bare-metal and Managed Kubernetes of any cloud provider.
- ELMA365 in Docker. Distributed as a script that installs the ELMA365 Helm package into the Docker container launch environment (Docker or its alternative must be installed on the server). The option uses the Kubernetes cluster deployment system on nodes in Docker containers. It is suitable for any Linux distribution that supports Docker (or its alternative). This option is most suitable for small companies.
- ELMA365 in MicroK8s. Distributed as a script for Ubuntu Linux and Astra Linux, which installs the ELMA365 Helm package in MicroK8s, installed via the SnapD manager. It is suitable only for Ubuntu Linux and Astra Linux.
The ELMA365 On-Premises application has the following editions:
- ELMA365 Standard is the basic edition that includes:
- ELMA365 application.
- Support of a single node in a Kubernetes cluster.
- Optionally: PostgreSQL, MongoDB, Redis, RabbitMQ, or S3 databases.
- ELMA365 Enterprise is the edition for large companies that includes:
- ELMA365 application.
- Support of more than one node in a Kubernetes cluster.
- Optionally: PostgreSQL, MongoDB, Redis, RabbitMQ, and S3 databases.
- Linkerd as a Service Mesh routing system.
- System for microservice autoscaling that scales services according to the load.
- Prometheus + Grafana monitoring systems.
Read more about installing ELMA365 On-Premises Enterprise in the Install article.
The ELMA365 distribution package includes the following components:
- ELMA365-DBs. A package to install databases (PostgreSQL, MongoDB, Redis, RabbitMQ, and S3 Minio) to the Kubernetes cluster. Installing this package is optional. You can use external components for more convenient administration and backup. Read more in the Connect to external databases article.
- ELMA365. The ELMA365 application (a set of ELMA365 microservices).
- ELMA365-addons. Add-ons for ELMA365 Enterprise that include:
- The Linkerd routing system (service mesh) that distributes traffic among the working replicas of the ELMA365 application microservices.
- Prometheus + Grafana monitoring system.
All ELMA365 data is stored in PostgreSQL, MongoDB, and S3. Interaction between services within ELMA365 is organized using RabbitMQ queues. To create a backup, copy the PostgreSQL database, the MongoDB database, and the files from the S3 object storage bucket connected to the installed ELMA365 application. Then save the RabbitMQ virtual host. Read more about backup in the Backup and recover databases article.
To ensure continuous operation of ELMA365 on Bare-metal servers, it is required to build a high availability Kubernetes cluster for the ELMA365 application and ensure failover operation of the databases.
Keep in mind that placing large and highly loaded databases in a Kubernetes cluster is not recommended due to the possible inconsistency between the operation of the StatefulSet of the Kubernetes cluster and the cluster of the database itself (for example, PostgreSQL).
Read more about creating a fault-tolerant ELMA365 environment in the ELMA365 high availability cluster section.
You can use ELMA365 in a cloud environment. Providers usually grant all the components necessary for the ELMA365 application to work:
- Kubernetes cluster
- S3 Object Storage
You will need the ELMA365 Helm package to install ELMA365.
Found a typo? Highlight the text, press ctrl + enter and notify us