Docker 1.12 features built-in orchestration
Container orchestration is no joke and, according to the Docker core engineering team, it is at the same stage today as containerization was three years ago. Docker 1.12 contains new API objects such as Service and Node that will allow users to utilize the Docker API to deploy and manage apps on a group of Docker Engines called a swarm. With this new release, “the best way to orchestrate Docker is Docker,” the team claims.
Container orchestration plays an essential part in transitioning from deploying containers individually on a single host to deploying complex multi-container apps on more than one machine. It necessitates a distributed platform (independent from infrastructure) which stays online through the whole lifetime of an application, is hardware failure-resistant and can survive software updates.
According to the Docker core engineering team, “orchestration is at the same stage today as containerization was 3 years ago.” Therefore, you can either rely on technology experts to come up with a complex ad hoc system or put your faith in a company which offers what you need as long as you buy all software, hardware, services and support from them. Building the container orchestration into the platform is the better solution, one that satisfies users’ expectations and helps them avoid lock-in.
What’s new about Docker 1.12?
Docker 1.12 features new API objects such as Service and Node that will allow users to utilize the Docker API to deploy and manage apps on a group of Docker Engines called a swarm. Its design is based on the following principles:
- Simplicity — The team has built orchestration into the core Docker engine; their approach to orchestration follows their philosophy about containers, namely no setup, just a few simple concepts to learn.
- Flexibility —Failures occur regularly whether we like it or not, which is why a zero single-point-of-failure design is a must.
- Security — Although barriers to strong security should be removed, advanced users should still be able to control and audit all aspects of certificate signing and issuance.
- Optional Features and Backward Compatibility — Preserving backwards compatibility is a must for Docker Engine. All new features are optional, and users don’t incur any overhead (memory, cpu) if they don’t use them. Orchestration in Docker Engine aligns with the platform’s batteries included but swappable approach allowing users to continue using any third-party orchestrator that is built on Docker Engine.
What’s under the hood?
Docker 1.12 uses a number of other technologies. First of all, inter-node communication is done using gRPC, which offers HTTP/2 benefits such as connection multiplexing and header compression. Second, the data structures are transmitted efficiently thanks to protobufs.
Docker 1.12’s built-in orchestration is not the only news; the team also introduced experimental distributed application bundles, Docker for AWS and Docker for Azure, and they opened up the beta for Docker for Mac and Windows to everyone.