Personally, I find Docker to be a useful tool and we’ve been embedding it into our dev and test processes in useful ways for DefCore TCUP (at Conference), OpenCrowbar Admin and Dev Nodes. To me, these a concrete and clear use cases.
There are clearly a lot more great use cases for Docker but I can’t help but feel like it’s being thrown into architectural layer cakes and markitectures as a substitute for the non-worlds “cloud”, “amazing” and “revolutionary.”
How do I distinguish hot from hype? I look for places where Docker is solving just one problem set instead being a magic wand solution to a raft of systemic issues.
Places where I think Docker is potent and disruptive
- Creating a portable and consistent environment for dev, test and delivery
- Helping Linux distros keep updating the kernel without breaking user space (RHEL 7 anyone?)
- Reducing the virtualization overhead of tenant isolation (containers are lighter)
- Reducing the virtualization overhead for DevOps developers testing multi-node deployments
But I’m concerned that we’re expecting too many silver bullets
- Packaging is still tricky: Creating a locked box helps solve part of downstream problem (you know what you have) but not the upstream problem (you don’t know what you depend on).
- Container sprawl: Breaking deployments into more functional discrete parts is smart, but that means we have MORE PARTS to manage. There’s an inflection point between separation of concerns and sprawl.
- PaaS Adoption: Docker helps with PaaS but it does not solve neither the “you have to model your apps for a PaaS” nor the “PaaS needs scalable data services” problems
Speaking of Miley Cyrus, it’s not the container that matters, but what’s on the inside. Docker can take a lesson from Miley: attention is great but you’ve still got to be able to sing. I’m not sure about Miley, but I am digging the tracks that Docker is laying down. Docker is worth putting on your play list.