Tag: Docker Swarm

Kubernetes is the most popular and fastest growing production-grade container orchestration platform in today’s container deployment and management landscape. Kubernetes has an enormous community of developers expanding on its already feature rich platform. So you did your research and you believe K8S is the right choice for you going forward, but you already have your application platform running in Docker Swarm. Ugh, you’re stuck right? Wrong! Migration from Swarm to Kubernetes is fairly straight forward.

Docker’s Swarm Mode is a great way to run web applications in a highly available distributed environment. Docker provides that high availability with a quorum of managers and multiple instances of the application container distributed across the workers. With the application being distributed across the workers, you have a new challenge of how to know which node to contact to reach your application. Docker has solved that with it’s ingress network that publishes the port for your application across every node and then automatically routes your request to a container in the swarm providing that service, even if it’s on another node.

The shift away from monolithic legacy applications to microservices has been long coming. The benefits of deploying your application as a microservice far outweigh any additional complexity or costs. High availability, redundancy, robustness, cost, and ease of development are only a few of the advantages.

Docker has significantly sped up this process. With Docker, you can package your applications in lightweight containers and run them on any system with a Docker Engine. When Docker Swarm was released, they brought native orchestration to our production clusters. Stateless applications fit perfectly into this deployment model; however, what about stateful services?

Configuring your stateful application to work with load balancers in high availability mode used to require a significant amount of effort. You needed to point your load balancers at a set of reverse proxies. These proxies needed to cache cookies or other metadata to determine how to route traffic from the web connections to containers providing your services. All of this was fairly complicated and costly, until Traefik and Docker Swarm came along.

Docker recently released 17.06.0-ce, their latest stable release for the community edition. Full release notes are available at https://github.com/docker/docker-ce/releases/tag/v17.06.0-ce. Here are some of the highlights from this release:
Version 1 Registries Are Deprecated If you use a 3rd party registry with docker, you’ll need to make sure it supports the version 2 protocol. If not, you can reenable version 1 support with --disable-legacy-registry=false but expect version 1 support to be completely removed in the 17.