Hi,
If I’m deploying ShinyPorxy on a Swarm host, what exactly differences would there be versus deploying on just a single docker host?
I understand Swarm can connect to multiple hosts and then run containers on different hosts, which I think is a good way to scale up our application. However, I don’t think ShinyProxy is using Docker Stack, as a result, we will not be able to get features like Continues Integration when we update or roll back applications. Is Swarm load balancing the containers in this case?
The other concern would be that ShinyProxy always spins up a new container for every new user that accesses our application. If we’are using Swarm, what happens if a host fails? I know if services are deployed by docker stack, they will be rescheduled on healthy nodes. But does ShinyProxy automatically unregister these failed containers( user to port to container mapping) and spawn a new container for the user?
Also, I think ShinyProxy is using a database, so to run ShinyProxy as a service on Swarm cluster, we need to have a dedicated machine which has access to a database and also the Docker daemon. It will be great if some instructions on how to configure shinyproxy with Swarm cluster to be included on shinyproxy.io.
In general, I guess my question is what is the best practice deploying ShinyProxy in a production environment so that we can easily add/upgrade/rollback applications, scale up the infrastructure, have basic load balancing and high availability.
There are two posts in this forum that have talked about this for a bit.
Load Balancing of Shiny Apps
Running ShinyProxy in Kubernetes
Thanks!