Kit Wai Chan - Fotolia

Docker usage rises, but high portability pointless for most

Docker containers are a powerful and popular development option in the cloud. But, while many IT teams are turning to containers, few can fully take advantage of the technology.

The adoption of Docker -- and containers in general -- within AWS environments continues to rapidly increase. However, reports show that abandonment rates align with adoption rates, which is interesting for those looking at Docker's potential.

Docker usage has quintupled in a single year -- following the patter of most-hyped technologies, according to a recent study by Datadog, a monitoring and analytics platform. But this raises some questions: Can this growth be sustained? And, if so, what will be the likely patterns of adoption?

Amazon EC2 Container Service allows AWS users to manage Docker containers in its cloud; Docker also runs on Microsoft Azure and Google Cloud Platform. A higher demand for containers means cloud providers must support Docker usage -- no matter the patterns of adoption. But container-based application development differs from cloud provider to cloud provider, so you can assume there will be a tradeoff. Using Docker on a single cloud provider does not necessarily ensure portability.

Few enterprises really need a high level of Docker portability. In fact, many enterprises that port applications to AWS, Azure or Google will never need cloud-to-cloud portability. Portability costs money, and enterprises that incorporate it as part of their applications lose some of the value of moving to the cloud.

Should you put a lid on Docker usage plans?

A higher demand for containers means cloud providers must support Docker usage -- no matter the patterns of adoption.

So, is Docker necessary? For businesses not looking for Docker portability or a container clustering architecture, the answer is No. Those looking to "lift and shift" into AWS may find that putting apps into containers using Docker may be overkill that drives up complexity and expenses.

On the other hand, Docker is a sound approach to running and scaling applications. Those enterprises willing to spend money for additional development -- and hire some pricey Docker talent -- will find that it works and delivers on most of what it promises. But that doesn't mean it's a necessary tool.

But we're still in the honeymoon stage with Docker -- and containers in general. Docker satisfies many requirements for independent software vendors that are moving to cloud or new application development. Software vendors need to build cloud-based applications that have hardened product-oriented capabilities. Moreover, they value Docker portability because they may have to support all public cloud providers at some point. Applications can be built from the ground up using the container-oriented architecture versus containerizing applications that were not designed for that purpose, making Docker usage attractive for new application development.

While more advanced applications are the likely candidates for Docker, it's unlikely that the thousands of other applications will see the inside of a Docker container, considering the cost and complexity. Therefore, while Docker will grow, its use may be limited to solving certain problems. And Docker won't -- and shouldn't -- be applied to every application or workload that runs on AWS and other clouds.

Next Steps

Google and AWS square off on container services

How Amazon ECS can improve Docker security

Test and dev process accelerated by Docker

Find out how well you know application containers

Dig Deeper on Amazon EC2 (Elastic Compute Cloud) management