Container frameworks, such as Docker, is certainly a technology high on the Hype Cycle. Docker has been adopted voraciously by typical early adopters (for example, high-scale Web properties and cloud infrastructure players), but what makes it stand out from other leading edge developer tools is an appetite for adoption beyond the usual leading edge. Despite Docker’s recent emergence, there is already an aggressive early majority of adopters, including financial services and retail organizations. Its impressive adoption is happening because it is the right tool at the right time.
My view is that Docker’s primary innovation is democratizing virtualization, giving usable, application-focused virtualization to DevOps-minded developers and administrators. My recently published assessment (for Gartner clients only) informs solution architects and infrastructure managers considering containers about the benefits and risks of adopting Docker.
Docker’s rapid adoption is due to developers’ pent-up demand for a fast and natural command line interface (CLI) and a scriptable workflow that provides application runtime environment parity across different server environments. Cultural aspects are also in play in a discussion of Docker adoption. Whereas access to virtual machine (hypervisor-based) virtualization tends to be provided through and governed by gatekeepers in I&O, Docker is being adopted from the ground up by developers with a DevOps approach.
Despite the performance and hosting density advantages of shared OS virtualization, OS containers have not achieved wide-scale adoption until now. Docker has gained broad and accelerating grassroots adoption because it solves thorny problems experienced by all developers. In particular, code that works on their machines may not work as expected when shipped to other environments. Docker is also timely because it touches on many trends in contemporary application development, architecture and delivery that indicate how applications have changed in the last decade.
I’m speaking to clients every week about application containers (primarily on Docker at the moment). Their questions range from introductory ones, such as …
What is the adoption rate and maturity of Docker in the financial services industry?
How can Docker help in <client name redacted>’s DevOps/Agile endeavours?
What would be the pitfalls/attention points when looking for business cases?
How to explain Docker in layman’s terms to non-technical people?
Some strengths and weaknesses of the Docker community.
How do Cloud vendors position Docker?
… all the way to more complex use case questions, such as:
How do I setup a deployment method for containers (specifically Docker) and using something like Apache Mesos or Amazon EC2 Container Service, to create an infrastructure that allows me to build microservices as Docker containers and deploy them across a fleet of EC2 instances/servers?
My app deals with intense visualization, its heavily nvidia and GPU-based, how does the virtualization of GPU hardware work with Docker?
Another source of great information on Docker for me was attending the QCon conference in London a few weeks ago. Here are my take-aways from the Docker and containers track, ably moderated by Alexis Richardson from Weaveworks:
- Docker users are obsessed, obsessed, I tell you, with storage drivers and file systems. People debated the pros and cons of Overlay, AUFS, BTRFS and Bitmapper at the containers Open Space and Jessie Frazelle took a detour (or as she said a ‘medium tangent’) in her QCon Presentation on Docker Swarm to chat about how Overlay betters AUFS (for some use cases).
- Anyone doing something for real with Docker is creating their own orchestration tooling, or making very different choices of tools from the ecosystem, including Kubernetes, Apache Mesos & friends, Clocker, and others.
- Dissatisfaction with what Alexis Richardson calls ‘big PaaS’ is seeping out. Particularly so amongst the group of leading edge technologists presenting at QCon who are looking for more architecture flexibility than PaaS offers. They are looking to build PaaS-like functionality, but based on YAGNI and MVP principles. Watch this space – this is *THE* app infrastructure battleground for the next 12 months and beyond.
- If I see another photo of an intermodal shipping container, I won’t be responsible for my actions.
All of which tell me the ‘what is Docker?’ and ‘why would I ever need that?’ type questions have been superceded by overcoming implementation challenges issues … Which is exactly the kind of advice that will keep me and my Gartner for Technical Professionals colleagues busy in the coming months.
Comments or opinions expressed on this blog are those of the individual contributors only, and do not necessarily represent the views of Gartner, Inc. or its management. Readers may copy and redistribute blog postings on other blogs, or otherwise for private, non-commercial or journalistic purposes, with attribution to Gartner. This content may not be used for any other purposes in any other formats or media. The content on this blog is provided on an "as-is" basis. Gartner shall not be liable for any damages whatsoever arising out of the content or use of this blog.