Our bet for deployment: CaaS Platforms

onesait Platform is independent of the subjacent infrastructure. Its architecture is based on open technologies, mainly Java over Spring (Spring Boot) and Node.js but also databases such as MongoDB, Elasticsearch, etc.

Because of this, it can be deployed on any OS supporting a Java Virtual Machine (Windows, Linux, MacOS, UNIX…) or on Docker containers or Kubernetes. 

Read also: Why do we use containers?


In other projects, OpenShift as Kubernetes platform could be used to offer a low maintenance and high availability architecture without SPoF. We typically use OpenShift in our SaaS offer and Rancher in the OnPremise Deployment.

Rancher and OpenShift are CaaS Platforms. They offer different tools to execute containers. They are built on Kubernetes and this simplifies the application deployment and management.

The stack corresponds to the platform’s functional modules deployment, that is, ControlPanel, APIManager, DigitalBroker, FlowEngine, …


This CaaS Platforms allows you to control each module, e.g. if you click on the API manager service you can:

  • Manage the scale of every service, now set in 1: This implies that there will always be an active container for this service. If the container stops (due to a memory error or a manual stop), the platform will automatically launch another container.
  • See the use stats for every container: CPU, memory…
  • Restart, stop, etc… These options open a console and check the logs for every container:

Besides the stack, we also have a stack focused on monitoring the Prometheus stack - the Prometheus stack, which offers tools to monitor the platform modules status:

This stack includes a Grafana instance that visually monitors the platform status using dashboards with different information (CPU, memory, disk…) of the devices where the dockers are run:

along with the docker number and their status:

The stack includes the Prometheus monitoring tool that allows you to deploy scale rules, e.g. if the memory use of a container is very high, an alert e-mail can be sent, or another container can be automatically launched, or if it is a defined error (intrusion alert), the administrator is alerted and the platform is disconnected from the Internet.

To check the active rules:

All parts of the platform are ready to be working in High Availability:

 By clicking on “expr” in the “graph” tab, we can see a representation of the evolution of the selected rule: