Yandex uses Docker as the technology for infrastructure virtualization and app isolation on the Cocaine platform. Docker is a lightweight container that can run in almost any environment and is becoming one of the most important open-source technologies for a new class of cloud services, including CoreOS. Red Hat has adopted Docker for OpenShift, its own PaaS.
In the documentation, Yandex points out that Xen and KVM are full virtualization environments that are difficult at best to move. In contrast, containers share a common kernel and cannot provide device emulation, but their use doesn’t incur additional overhead and they start almost instantly. Ben Golub, CEO at dotCloud, the company behind Docker, said in an email that virtual machines (VMs) are the basis for most of today’s cloud services. For example, most IaaS vendors sell their services by the VM. Amazon Machine Images from Amazon Web Services are basically VMs. But he said VMs are heavyweight, impose a performance penalty, and are difficult to migrate.
While I certainly wouldn’t call this cloud washing, I would say that traditional virtualization was such a great hammer, and that everything started to look like a nail. But VMs aren’t a good fit for certain cloud purposes. Containers, by contrast, provide lightweight isolation. A container has the app plus its dependencies, and runs on the physical host’s operating system. They abstract at a much higher level than VMs. They avoid a lot of the penalties of VMs. However, until recently, they were difficult to use and non-standardized, and containers were not compatible across environments.
Regardless of the name, these cocaine clouds represent a new force in the cloud services market and show the trending acceptance for Linux containers.