Deploying updates with zero downtime
In swarm mode, Docker has two features that enable updates of the whole stack without application downtime--rolling updates and node draining. Rolling updates replace application containers with new instances from a new image--updates are staggered, so provided you have multiple replicas, there will always be tasks running to serve requests while other tasks are being upgraded.
Application updates will occur frequently, but less frequently, you will also need to update the host--either to upgrade Docker or to apply Windows patches. Docker supports draining a node, which means all the containers running on the node are stopped and no more will be scheduled. If the replica level drops for any services when the node is drained, tasks are started on other nodes. When the node is drained, you can update the host and then join it back into the swarm.
Load balancing across swarm nodes
I've connected to my Azure swarm using Docker for Windows and deployed my NerdDinner...