System architecture and requirements / Architecture

Architecture

ELMA365 is a microservice-based solution built upon the following technologies: Golang, Node.js, and Angular. It uses the PostgreSQL and MongoDB databases. As the service bus, the system uses RabbitMQ. Data caching is organized with the Redis in-memory data store. Docker containerization and the Kubernetes orchestrator are also used. Files are stored in an S3 compatible object storage.

An ELMA365 cluster can be deployed on the customer’s server facilities and be accessible both in the company’s local network and through the Internet.

External security is arranged by system user authentication with JWT and by flexible configuration of internal system permissions. Internal security is organized with the help of the standard security features provided by the databases used. Passwords and access tokens are stored securely as Kubernetes Secrets.

PostgreSQL, MongoDB, RabbitMQ, Redis, and MinIO S3 servers are included in the ELMA365 On-Premise distribution package. For testing purposes or when deploying the Standard edition, these packages can be installed on a single physical server.

For the Enterprise version runtime environment, these services are supposed to be deployed by the customer so that a fault-tolerant local architecture is organized. All the work aimed at the services fault-tolerance are conducted by the customer.

illustration_2

Found a typo? Highlight the text, press ctrl + enter and notify us