I’m trying to assess the adoption and usage of cht-deploy and Medic provided helm charts.
I have a few questions for you:
What orchestrator/virtualization tool are you using for your production deployment? Docker? Kubernetes? Something else?
Do you use clustered CouchDb?
Do you use a different tool for your test/staging deployments?
If using Docker, do you use the docker-compose files developed by Medic?
If using Kubernetes, do you use the helm charts developed by Medic?
Where are you hosting your CHT instances? (cloud, private datacenter etc).
Have you ever used cht-deploy? If yes, could you please share the context you have used it in.
I appreciate everyone’s time! Having this information would be very helpful to make decide and allocate effort for maintenance, development and improvement of these tools.
thanks @diana
1 . We use docker
2. Not really
3. yes we use docker-compose files developed by Medic
5. We host the CHT testing instances on the cloud AWS and production ones mainly on premise via local servers
6. No i have not yet used cht-deploy
I think the reasons to choose k8s vs Docker Compose for deploying the CHT are pretty much the same as you would have for deploying any other kind of services in Docker containers. (There is nothing really special when it comes to the CHT deployment.)
If your team is not proficient with k8s and you just need 1 or 2 CHT instances (e.g. a test and prod instance), then Docker Compose has a clear advantage of being much simpler. Additionally, you will probably not get much value from the additional complexity of k8s.
However, if you are deploying 1 or 2 instances AND your team is already proficient with k8s (e.g. you are already running other production services on that platform), then it might make a lot of sense to deploy the CHT with k8s alongside your other services.
Alternatively, if you need to deploy many CHT instances (e.g. a national deployment with dedicated instances for each region/province) the value added from being being able to use k8s to automate infrastructure management starts to become relevant. (Provisioning/maintaining host servers for running all the Docker Compose services becomes a lot of work at this scale.)
That being said, if your team is not proficient with k8s, it is highly recommended that you invest in proper training on that technology before using k8s to deploy the CHT to production. k8s can make it easier for trained technicians to deploy and maintain many CHT instances, but it is still much more complex than just using Docker Compose.