...
We can go ahead with implementation of setting up containerised and non-containerised workloads on k8s cluster. Post the installation SRE team should be able to manage the infra including databases.
Add a disclaimer saying, if the SRE team is not capable enough to manage the database workloads on k8s cluster, it is recommended to setup the databases using cloud managed services or on self managed compute instances
Do the load testing and benchmark the setup for 2000 1000 tps.
If the adopter has requirement of more than 2000 1000 tps, it is recommended to setup the databases using cloud managed services
Enable configurability to connect to the managed database services from microservices and test with one CSP
Document the best practices to setup and manage the environment including security, scale, monitoring and logging
Following table shows what should be the production environment setup based on the TPS, Availability and Skillset of the engineers
TPS | Application Availability | Skill Set of the engineers managing the infra | Production setup Recommendation |
---|---|---|---|
< 20001000 | < = 95% | K8s cluster management Database backup and restore management | You can setup Sunbird Ed on Kubernetes cluster where containerised applications along with databases are deployed to k8s cluster |
>2000>1000 and < 3000 | >95% and < 98% | K8s cluster management Handling self managed servers Database backup and restore management | You can setup Sunbird Ed deploying containerised applications to the kubernetes cluster and databased workloads to the self-managed servers (VM/EC2) |
>2000>3000 | >98% | K8s cluster management Configurability to the cloud managed services | You can setup Sunbird Ed deploying containerised applications to the kubernetes cluster and databases to the cloud managed services |
NOTE: If you are looking for higher resilience and availability, we recommend you to go with cloud manged services for databases irrespective of expected TPS