Docker Reigned in 2014, But Competition is Coming
Container technology was without a doubt one of the biggest stories of 2014, and if you mention the container arena to most people, Docker is what they think of. As impressive as Docker is, as recently as June of last year, OStatic highlighted some of its instabilities.
As 2014 ends, we are about to see the container space get a whole lot more complicated and competitive. Some big fish are swimming right next to Docker. Google has set its sights squarely on Docker by transforming its Kubernetes platform into a full-fledged part of Google Cloud Platform with Google Container Engine. Meanwhile Canonical is leaping into the into the virtualization arena with a new hypervisor called LXD that uses the same Linux container tools that have allowed Docker to isolate instances from one another. And, I've reported on how Joyent has announced that it is open sourcing its core technology, which can compete with OpenStack and other cloud offerings, and facilitates efficient use of container technologies like Docker.
A few months ago, I covered the news that Google had released Kubernetes under an open-source license, which is essentially a version of Borg, designed to harness computing power from data centers into a powerful virtual machine. It can make a difference for many cloud computing deployments, and optimizes usage of container technology. You can find the source code for Kubernetes on GitHub.
Following my initial report, news arrived that some vey big contributors to the Kubernetes project, including IBM, Microsoft, Red Hat, Docker, CoreOS, Mesosphere, and SaltStack are working in tandem on open source tools and container technologies that can run on multiple computers and networks. Now, Google has transformed Kubernetes int a full-fledged part of Google Cloud Platform with Google Container Engine.
"Google Container Engine lets you move from managing application components running on individual virtual machines to launching portable Docker containers that are scheduled into a managed compute cluster for you. Create and wire together container-based services, and gain common capabilities like logging, monitoring and health management with no additional effort. Based on the open source Kubernetes project and running on Google Compute Engine VMs, Container Engine is an optimized and efficient way to build your container-based applications."
While Google is a big fish, lots of people are talking about Canonical's LXD project as well. As noted by Silicon Angle:
"Canonical Ltd. dropped a bombshell last week after revealing that its following fellow operating system vendors Red Hat Inc. and Microsoft Corp. into the virtualization market with a new hypervisor that promises to deliver the same experience as the competition faster and more efficiently. Dubbed LXD, the software relies on the same Linux containerization feature that provided the foundation for Docker to isolate instances from one another but adds integration with popular security utilities along with management and monitoring functionality."
Canonical, has recently launched a new “snappy” version of Ubuntu Core. This minimalist take on Ubuntu can especially serve Docker deployments and platform-as-a-service environments.
Also on the Linux competition front, we reported on how the CoreOS team is developing a Docker competitior dubbed Rocket. Rocket is a new container runtime, designed for composability, security, and speed, according to the CoreOS team. The group has released a prototype version on GitHub to begin getting community feedback.
According to a post on Rocket:
“When Docker was first introduced to us in early 2013, the idea of a “standard container” was striking and immediately attractive: a simple component, a composable unit, that could be used in a variety of systems. The Docker repository included a manifesto of what a standard container should be. This was a rally cry to the industry, and we quickly followed. We thought Docker would become a simple unit that we can all agree on.”
“Unfortunately, a simple re-usable component is not how things are playing out. Docker now is building tools for launching cloud servers, systems for clustering, and a wide range of functions: building images, running images, uploading, downloading, and eventually even overlay networking, all compiled into one monolithic binary running primarily as root on your server. The standard container manifesto was removed. We should stop talking about Docker containers, and start talking about the Docker Platform.”
“We still believe in the original premise of containers that Docker introduced, so we are doing something about it. Rocket is a command line tool, rkt, for running App Containers. An ‘App Container’ is the specification of an image format, container runtime, and a discovery mechanism.”
Joyent has has also announced two new open source initiatives and the general availability of a container service in the Joyent Public Cloud to accelerate the adoption of application containers in the enterprise. Docker application containers are grabbing headlines everywhere and overhauling how data centers operate. Joyent maintains, though, that there remain limitations in the areas of security, virtual networking and persistence that present challenges for enterprises looking to deploy Docker in support of production applications. The open source initiatives Joyent is announcing, Linux Branded Zones (LXz) and the extension of Docker Engine to SmartDataCenter, are targeted to "deliver proven, multi-tenant security and bare metal performance to Linux applications running in Docker application containers."
Joyent maintains that with LXz, you can run Linux applications, including those running in Docker Containers, natively on secure OS virtualization without an intervening hardware hypervisor layer.
"Running Docker containers on legacy hardware hypervisor hosts, like VMware or Amazon EC2, means you give up the workload density and performance benefits associated with infrastructure containers," said Bill Fine, VP Products, Joyent. "LXz and Docker Engine for SmartDataCenter provide an infrastructure container runtime environment capable of delivering secure, bare metal performance to Docker-based applications in a multi-tenant environment."
Docker application containers are grabbing headlines everywhere and overhauling how data centers operate. They will remain a big story in 2015, but Docker will also deal with competition. Many major public and private cloud providers advise enterprises to run Docker containers on top of legacy hardware hypervisors because of security concerns related to the default Linux infrastructure containers. They will look closely at technology that competes with Docker, and that will be a story to watch in 2015.