The momentum behind Docker, which provides true application portability by encapsulating apps within containers, is driving more interest in cloud computing. And many cloud providers want in on the action. Joyent is the latest cloud provider to jump on the Docker bandwagon, which already includes Google, Microsoft, Amazon Web Services and others. These cloud providers use Docker to provide infrastructures that support the container standard.
Joyent raised $15 million in funding and will emphasize the use of container technology within its cloud infrastructure services. It plans to use the funding to market the value of running containers as a core part of its public and private cloud services. In essence, it will become a cloud provider that focuses specifically on hosting Docker-based applications.
Using containers is nothing new, however. The ability to create running instances that provide an environment for an application and abstract it from the underlying platform has been around since the distributed object and container movement of the 90s with Java and J2EE. But how does Docker affect different aspects of the cloud?
Docker from the app point of view
From the application architect's point of view, Docker is a great idea. It provides an environment for the app within the container, which is portable from platform to platform. The container takes the application from the underlying cloud platform. Therefore, the container handles the platform differences -- and not the application.
There is some concern about application performance, but companies shouldn't notice any latency -- depending on the app. Docker is not right for all applications, so it's important to pick and choose the right ones for its platform/containers.
The distributed feature of Docker holds the real promise. Similar to distributed objects from the days of old, the goal is to run Docker containers on any public and private clouds, allowing them to locate each other and form distributed applications. The possibilities are endless, including the ability to provide application server reuse, load sharing and control running containers with orchestration.
Docker vs. heavyweight virtualization
From an infrastructure manager's point of view, Docker is lightweight virtualization. Virtualization, while a handle mechanism, comes with costly overhead expenses. Infrastructure managers need more hardware resources to support more virtual machines (VMs) -- and that's not very cloudy.
Docker containers spin up much faster than VMs, and don't have the same effect on underlying platforms. Thus, Docker should be more cost-effective in a public cloud environment. In a private cloud environment, it should provide better performance and require fewer hardware resources.
The real-world value of Docker
Much of Docker's value lies in what it's not: It's not a heavyweight system. It's not proprietary. It's not unpopular. And it's not being oversold as the second coming of cloud. That holds significant value for container technology. Docker is a container standard with a solid design that provides a good foundational standard -- and it works well out of the gate.
So, what are the risks of moving to Docker? It's the common path many technology providers take to get around using standards. Providers dilute the standard with their own features and functions to create proprietary versions and lock-in customers. This eliminates the benefits of portability that moving to Docker creates.
Given the amount of brainpower behind the container technology, Docker will be largely successful; it's the new flavor of the month for cloud computing. However, there is enough practical value to make Docker a huge part of cloud for many years.
About the author:
David "Dave" S. Linthicum is senior vice president of Cloud Technology Partners and an internationally recognized cloud industry expert and thought leader. He is the author or co-author of 13 books on computing, including the best-selling Enterprise Application Integration. Linthicum keynotes at many leading technology conferences on cloud computing, SOA, enterprise application integration and enterprise architecture.
His latest book is Cloud Computing and SOA Convergence in Your Enterprise: A Step-by-Step Guide. His industry experience includes tenures as chief technology officer and CEO of several successful software companies and upper-level management positions in Fortune 100 companies. In addition, he was an associate professor of computer science for eight years and continues to lecture at major technical colleges and universities, including the University of Virginia, Arizona State University and the University of Wisconsin.
What does Docker 1.0 mean for virtualization?
AWS Elastic Beanstalk joins the Docker bandwagon
Docker eyes enterprise market with Orchard buy
Benefits of using containers in a microservices environment