Typical Deployment of Onesait Platform
EN | ES
Introduction
The objective of this entry is to show some platform types dimensioning according to different scenarios.
These recommendations must be validated with the Product team on the specific scenario of a project.
A basic objective of the platform is to have a “Zero Lock-in” strategy with the suppliers, so that the platform can be deployed in all Clouds and also On Premise.
To comply with the strategy, the platform offers a deployment based on Docker containers and orchestrated by Kubernetes, so that these can be deployed independently to the supplier, and integrate a CaaS platform that allows the easy, visual management of these containers independently from the provider (as the CaaS, we will use Rancher or OpenShift).
Additionally, the platform can use specific SaaS services from some providers and deploy over an existing Kubernetes cluster (AKS pj), always managed from the platform CaaS to achieve vendor independence.
Deployment for Development Environments based on VMS
When we deploy the platform on VMS in Development Environments, the platform deployment proposal is like this:
CaaS environment (Rancher):
Single-Instance Deployment: 1 small VM (2 cores and 4 Gbs), since an unavailability of CaaS does not affect the operation.
Platform:
Containerized deployment of all modules, including persistence and balancer.
Deployment in 1 VM according to project needs and modules to be deployed:
Basic environment: 1 VM with 4 cores and 16 GB RAM and 256 GB RAM.
Typical environment: 1 VM with 8 cores and 32 GB RAM and 512 GB disk.
High load environment: 1 VM with 16 cores and 64 Gbs RAM and 1 TB disk.
Deployment for Productive Environments based on VMS
In Productive Environments, the platform deployment proposal includes:
Load-Balancer:
The chosen Cloud Load-Balancer, Platform (NGINX) or HW balancer can be used.
CaaS Environment (Rancher):
Depending on the required HA it can be mounted in Single-Instance or in cluster (3 VMS)
Platform:
Containerized deployment of platform modules without including persistence.
Deploy in at least 3 VMs according to project needs and modules to be deployed:
Basic environment: 2 VM with 4 cores and 16 GB RAM and 256 GB RAM.
Typical environment: 2/3 VM with 8 cores and 32 GB RAM and 512 GB disk.
High load environment: 3 VM with 16 cores and 64 Gbs RAM and 1 TB disk.
When to mount the CaaS Rancher in Single-Instance?
When the Rancher is mounted without HA, or what is the same as the Kubernetes cluster without HA, the operation is as follows:
The services deployed in the Workers continue to function even when the Kubernetes Master is stopped.
The web balancers (ingress in Kubernetes nomenclature) that are created in Kubernetes also continue to function.
What is lost if the Kubernetes Master is down:
No deployments or configuration changes can be made to the deployed modules.
In addition, if one of the Workers is down, services will not be automatically lifted in another of the workers, which will only affect non-replicated services and critical services will be replicated.
All of this is operational again when the Master Kubernetes rises again.
Deployment on Cluster Kubernetes (such as Azure AKS or AWS EKS)
When you deploy over a Kubernetes Cluster such as AKS, the Platform modules are deployed as PODs so you can give each one their replication factor.
Sources