In the Platform, we make deployments based on application containerization technology with Docker, for several reasons:
- Modularization of the different components of onesait Platform.
- Portability of the onesait Platform components.
- Isolation and Independence of the underlying operating system in which the onesait Platform components are executed.
- MultiPaaS, allows us to deploy in multiple PaaS/CaaS existing in the market, from the simplest ones like Docker Compose, Rancher/Cattle, Kubernetes to other companies such as AKS, Openshift 3.5, 3.6 and 3.9.
To achieve this, we have a private image registry, where we publish the OP's stable images, which are then distributed to the different projects/solutions that make use of the Platform: https://registry.onesaitplatform.com
Besides, for the Open Source community, we have a public registry in the Docker Hub, where we publish all the release candidate versions of the Platform modules: https://hub.docker.com/u/onesaitplatform
From this registry and templates of Cattle/Kubernetes/Openshift, we deploy in the different CaaS. In the case of platform environments (DEV, STABLE and CLOUDLAB), we deploy in Rancher 1.6:
To install the onesait Platform in the different clients or solutions, we have a containerized Ansible playbook, which automatically performs the installation of both the CaaS (Rancher 1.6) and the Platform itself in virtual environments (cloud) and in on premise environments.