Monday, June 22, 2015

Docker Adds Multi-Host, Software-Defined Networking to Containers

Docker is adding software-defined networking (SDN) capabilities to strengthen the portability of multi-container distributed applications across multi-host IP networks. Along with networking capabilities, Docker is adopting a dynamic plugin architecture that provides an opportunity for direct platform extensibility for technology partners and developers. For example, Docker native SDN can be “swapped” with a third-party product. Initial plugin capabilities are in the areas of networking and storage volumes and are available for use from Cisco, Microsoft, Midokura, Nuage Networks, Project Calico, VMware and Weave for SDN and ClusterHQ for storage volumes.

“By bringing SDN directly to the application itself and into the hands of the developers, Docker is driving multi-container application portability throughout the application development lifecycle,” said Solomon Hykes, CTO and chief architect of Docker. “Individual developers, through a single command, can establish the topology of the network to connect discrete Dockerized services into a distributed application. And then through a set of commands be able to inspect, audit and change topology ‘on the fly.’”

Docker's SDN capabilities, which were developed through its recent SocketPlane acquisition, are being extended through the company's three orchestration tools (Docker Machine, Docker Compose and Docker Swarm). The SDN functionality is tied into DNS (domain name system) and VXLAN (virtual extensible LAN). DNS ensures that Dockerized services will be able to communicate without modification. VXLAN enables the creation of portable, distributed networks that allow an application’s microservices to reside on any member of a Swarm, a native Docker cluster.

Docker Compose defines the containers that comprise the distributed application and how they are connected together. Through integration with Docker Swarm, the multi-container application can be immediately networked across multiple hosts and can communicate seamlessly across a cluster of machines with a single command. Docker Swarm now has working integration with Mesos scheduling.

Docker is also announcing a collaboration with Amazon Web Services (AWS) and Amazon EC2 Container Service (ECS) to optimize the scheduling of Dockerized applications for Amazon Elastic Compute Cloud (Amazon EC2), and provides a native cluster management experience for Docker users. Amazon ECS integration with Docker Compose and Docker Swarm will make it easier for customers to launch tasks on Amazon ECS using the same APIs across their local dev environments.

Docker said its SDN functionality provides a new level of consistency in terms of how applications are networked through their full lifecycle. A development team can initially define the topology of its distributed application, while the networking team can, at a later stage, apply the sophisticated networking policy necessary to run an application with the highest level of availability and security in production. Even with these sophisticated policies in place, an operations team will have the freedom of choice – without reconfiguring the Dockerized application – to move the application from their private data center to any cloud.

http://www.docker.com