Sergey Nivens - Fotolia

Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

Should I use Docker containers to deploy cloud apps?

Should I use Docker to assemble and deploy cloud apps? What are the pros and cons of using Docker? Read this expert answer to find out.

Docker, which is virtualization taken to the next level, is a great solution for keeping your software portable, which means supporting multiple underlying cloud platforms or even local databases. The ease of use and change tolerance of Docker's containers give it the edge over traditional IT orchestration. The automation of complex software and services management and coordination tasks has been used mostly in siloed environments. Docker has brought orchestration capabilities to multi-container distributed applications.

Now that doesn't mean Docker is the end-all of container management systems, and it certainly doesn't mean that containers don't have drawbacks. Docker is tied to one goal: making the DevOps role easier. With Amazon's recent announcement that it will support Docker natively in AWS, Docker has become a clear choice for open adoption.

However, as with any virtualization layer on top of hardware, it has performance drawbacks. When you use Docker in the cloud, you're essentially adding another layer under your application. This has advantages for portability, but it means you now need more power from the underlying hardware to achieve the same speeds. Hopefully, once more cloud vendors start natively supporting Docker runtimes this overhead will be reduced; but it will always be present.

CoreOS, a Linux distribution for huge server deployments, has started building a Docker alternative known as Rocket. Rocket is still in its early stages, but the key driving force behind it is to stay away from interoperability and focus only on the core application container concept. That has advantages in that it will never be tied directly to a specific vendor, but it also makes things more complicated when working with a specific vendor. Currently, Rocket appears to be a knee-jerk reaction to Docker siding with AWS, instead of having a goal to make the container concept ubiquitous.

Containers help you spin up new environments easily, and they keep your application in a neat little package. They're a great way to make sure you can update to the latest underlying operating system easily and to make sure your software works wherever you want to install it. Think of them as the modern package-management for the cloud.

Next Steps

Docker makes headlines at Devoxx 2014

Comparing AWS instances and Docker containers

Podcast: Is cloud app containerization really new?

Benefits and drawbacks of using secure containers for mobile security

Dig Deeper on Managed Kubernetes and container services

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

Has your company considered using Docker to assemble cloud apps?
Yes, as part of EMC {code} project (, we're using Docker in a number of ways to deploy applications. We're doing it for Software-Defined Storage, such as EMC ViPR. We're also using it to simplify the management of legacy application tools, such as VMAX SYMCLI. It's a really flexible way to get environments up and running easily/quickly, and manage the transitions from laptop to production for Developers or DevOps teams. We expect to use it for many more application environments instead of more heavy-weight VMs.
It’s a shame to see a knee-jerk reaction like Rocket enter into the container ecosystem at this point.