I am managing about 60 servers running the same dockerized application (consisting of 16 containers). The containers are versioned using the semver standard (ex: 2.1.3, 2.2.6), and linked together with Docker Compose.
What is the best way to selectively update specific components on a subset of servers?
For example, I want to update the frontend and backend on the first 10 servers. What would be the easiest way to do it?
I have tried doing it remotely via a script using the Docker remote HTTP API, but it wasn't always reliable due to some servers having an unreliable internet connection, and hard to use.