Everyone loves Docker. What's not to like? It's a very nicely constructed container architecture that provides better cloud-to-cloud portability and workload management. It also sets a great foundation to build cloud-based distributed systems that can be moved around much easier than the cloud workloads we manage these days.
The 1.0 release of Docker draws a line in the sand as to what this technology will mean to enterprises moving applications to cloud-based platforms. We also know that big cloud technology providers -- including Amazon Web Services, Google, and Red Hat -- are down with Docker, building support into their products and services.
[ Review: Docker 1.0 is ready for prime time. | 6 Docker services making a splash. | From Amazon Web Services to Windows Azure, see how the elite 8 public clouds compare in the InfoWorld Test Center's review. | Stay up on the cloud with InfoWorld's Cloud Computing Report newsletter. ]
Indeed, Google App Engine developers can create and deploy Docker images from their apps via the Managed VMs feature of Google Cloud Platform. Existing Docker images can also be obtained and deployed this way.
In some cloud instances, Docker is a great architecture and deployment approach. However, it could fly in the face of others. Some cloud providers, including those that focus more on the PaaS side, have already tried to address application portability, and their offerings could be neutralized by the use of Docker. Those that use virtual machines or abstraction are particularly threatened by Docker.
Cloud services that promote portability through virtual machines, for example, are finding that app developers prefer the lighter-weight Docker approach to using containers for portability. Using Docker's way means fewer resources are required to support application execution and portability; plus, Docker is more open and more widely supported than any individual virtual-machine technology.
Some PaaS providers use abstraction as their approach to application portability, placing a translation layer (aka the abstraction layer) between the application and the underlying cloud services. As with virtual machines, this approach is both harder for developers to implement and more proprietary than the Docker approach.
I suspect Docker is inspiring intense meetings at many cloud provider organizations. They understand Docker could be a much better -- and much more widely adopted -- approach to application portability for cloud-based platforms. It's hot, it's open, and it's widely supported. But it makes a lock-in strategy harder for cloud providers to impose.
Pushing a proprietary approach to application or workload portability -- even if it's technically better in some cases -- in the face of Docker could be a fruitless exercise for cloud providers.
This article, "Docker could threaten cloud providers' portability plans," originally appeared at InfoWorld.com. Read more of David Linthicum's Cloud Computing blog and track the latest developments in cloud computing at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.