Download the authoritative guide: Cloud Computing 2018: Using the Cloud to Transform Your Business
The surging interest in application containerization technologies spawned by the Docker revolution could result in more choices for enterprises in the relatively short term.
The biggest example is CoreOS, a heavily venture-backed startup based in San Francisco that has already gained some early attention as a potential alternative to Docker. The company’s open source project dubbed Rocket has won backing from powerhouses like Google and Intel and others like Red Hat and VMware.
Google has said that it will integrate Rocket into its Kubernetes Linux container orchestration technology and work with CoreOS to maintain the latter’s App Container Spec (appc) for how to develop and run containerized applications.
Intel meanwhile has said it will collaborate on Tectonic, a commercial Kubernetes platform from CoreOS. Red Hat has agreed to be a maintainer of appc while VMware has said it will make Rocket available to VMware vSphere and VMware vCloud Air customers.
Though analysts say it is still too early to say for sure how Rocket will position itself relative to Docker, the startup already has raised some $20 million from an impressive roster of investors including Kleiner Perkins Caulfield & Byers, Accel Partners, Sequoia Capital, Andreessen Horowitz and Google.
Another application container technology that has received some attention lately is LXD (lex-dee) a container hypervisor for Linux from Canonical that essentially is designed to let enterprises run a lightweight, very fast virtual machine inside a container.
The technology, announced in Nov. 2014, builds on LXC (lex-cee) the containerization technology that Docker is based on. It will deliver full operating system functionality within containers, according to Canonical. The company promises the technology will deliver VM-like security while enabling users to deploy new machines in under a second and to launch hundreds of VMs on a single physical server.
Meanwhile, some like Flockport are attempting to take LXC Linux containers beyond Ubuntu to other Linux distributions as well. Unlike Docker containers, which are designed to run single applications, LXC containers behave as lightweight VMs that can be used to run any application or service, according to Flockport’s description of the technology. Because Docker separates container storage from the application it is also less portable than LXC containers, according to Flockport.
The emergence of such initiatives is in a sense a validation of the application containerization movement fueled by Docker.
Docker’s open source technology basically gives developers a way to package an application, associated libraries and dependences into a virtual container that can be deployed on any Linux system.
With Docker, application workloads are completely isolated from the physical system that hosts the containers so developers do not have to worry about infrastructure issues when developing software. Unlike VMs, containers typically do not require a full copy of the operating system and therefore are much more lightweight than the former.
Containers enable a perfect “separation of concerns,” between development and operations teams says Eric Anderson, CTO and co-founder of Docker container management firm StackEngine. The typical DevOps mentality is that the operations team manages resources while developers consume them, he said.
Containers offer a way to separate those concerns. Developers can write code and all the associated libraries and dependencies, bundle it all in a container and simply hand it over to the operations team without having to worry about physical infrastructure, operation system versions and other operational issues.
“Developers can focus on the application they want and not the infrastructure. They can box up their application and make it very scalable and portable,” across multiple platforms, Anderson said.
There are several reasons why the application containerization approach has caught the attention of enterprises, say Anderson and others. Because containers are more lightweight than virtual machines, enterprises can run a lot more applications in a single physical server than they can with a virtual machine.
Containers are also not as resource intensive as VMs, run a lot faster and are relatively more portable. Docker basically allows IT to run the same application unchanged on laptops, data center virtual machines and cloud environment, according to the company
“Docker was sort of the first of a new generation of application containers that present some advantages over traditional VMs,” said Jay Lyman, research manager cloud platform at 451 Research.
Docker has simplified the use of containerization and the ability to isolate applications and infrastructure for easier management. Docker containers can serve as the basis for micro-services that divide up applications and services for easier, more efficient management, Lyman said.
“They are serving as a standard amid a lack of standards for how you package and deploy applications in the cloud-computing era,” he said.
Even so, do not expect Docker to replace VMs any time soon, Lyman added. “Although containers are poised to replace some VMs because of their advantages, the reality of enterprise IT is that there will likely be continued use of VMs as containers grow,” he said.
Lyman’s firm has done use cases where organizations are running containers inside VMs, he said. Though the approach does not afford all of the advantages of containers on bare-metal, it does provide some simplicity and manageability advantages. “We think the future will be marked by mixed use of containers and VMs by enterprises,” he said.
Docker’s attributed have made it a hot commodity in a growing number of enterprises. In a StackEngine survey of over 750 IT staff from the VMblog and CloudCow communities, over 70 percent said they are either already using Docker or are evaluating its use.
Most of the initial use appears to be among quality assurance and software testing teams and to a lesser extent among the developer community. Despite concerns over security and a lack of management tools, about a third of the survey respondents said they are already planning on using Docker to run production applications, the StackEngine survey showed.
The growing enterprise interest in Docker has led to investors pouring money into the company. So far, Docker has raised an impressive $160 million and has a market worth estimated at between $400 million and $1 billion.
The company’s success in garnering enterprise and investor attention has stirred considerable interest in the application containerization market. Over the next few months and years expect to see different technologies and development projects like Rocket emerge that try to either build on Docker or offer an alternative approach to containerization, Anderson said.
But for the moment at least, Docker remains the embodiment of the application containerization phenomenon.
“There are other containers, such as Rocket and the associated appcontainer specification, that are also relevant,” Lyman said. “But the de facto standard seems to be Docker since it is the most widely-used and supported by vendors.”
Photo courtesy of Shutterstock.