When you want to put your (Docker) containers into production, what is the biggest challenge for you or your organisation?
Comment or take the poll:
One of the main issues with Docker in production actually is the need for rescheduling a container on a Docker host if the container/host goes down.
This implies more than just reschedule the container on a different node, you'll need to find a way to share your data volumes across your hosts so you won't loose any data (this is achievable with volume plugin such as GlusterFS, Flocker... even with NFS). You'll also need to manage an overlay network inside your cluster so your containers can communicate with each others inside your cluster. This area is still pretty experimental and is not production ready.
About monitoring, I've read a few articles about Prometheus (https://prometheus.io/) being able to pull metrics from Docker and it was recently integrated in the Kubernetes solution. I'll definitively have a look at it.
Sébastien Portebois
Software architect at Ubisoft
(re)Launching . : With supervisor/s6 overlay, data volumes and aws ECS, we don't have any issue, and indeed, when something goes wrong (it doesn't happen frequently, but sometimes for some reason a config isn't correctly re-updated or anything), the easiest way for us to get a clean container is to kill it (which supervisor will do automatically with the process is broken). ECS will restart the task definition and everything is fine again
A side aspect of launching (that you didn't mention, either it was implicit or forgotten) is service discovery. Managing container become really easier when you don't have to bother about the ports, and don't use static ports. It took us some work to get it (and for some containers we haven't yet finished), but it really makes your life easier because you can start multiple instances of the same container on the same host, and the service discovery will link them. (We used Consul, and are happy with it so far, but other alternatives exist)
Deployment: although easy, I find it a little bit cumbersome. Wercker is great (and so far it was free!). But sometimes hangs, lags, ... Using ECS (and Terraform) for the deployment itself make it easy to maintain and update, really. But it required some amount of work to setup.