For the past few years, one of the big questions in the software industry has been what direction Docker would take. Much of their unique intellectual property, such as Docker images, had been open sourced and many of their products have underperformed. Docker Swarm is an excellent example of a product that was too little too late. While loved by Docker customers I spoke with, Docker Swarm simply couldn’t surf the swell that is the Kubernetes wave.
With that in mind, Docker has been moving away from the commodity business of container infrastructure and reinventing itself as a developer tools company. With the upcoming Docker Enterprise 3.0, Docker will have taken an important step in becoming a developer automation and toolchain company.
Docker E3.0, which is slated for general release in Q2 this year, provides a complete set of tools for packaging code into container images, moving that image down the developer pipeline, and deploying it to production in a repeatable fashion. These are new tools for modern developers. The ability to package code for different clouds, architectures, and OS’s is a serious advantage in the emerging multi-platform, multi-cloud world.
The real value of Docker E3.0 is in simplifying developer pipeline activities through automation. Instead, of writing endless YAML and then stitching together different CI/CD applications to form the pipeline (usually with more YAML), and endless CLI commands, Docker E3.0 makes this happen in a few simple commands and templates, generating all the command files necessary to create the whole pipeline.
This addresses one of the largest problems in DevOps today – the complexity of the DevOps pipeline. The whole purpose of DevOps and Agile is to push code out more quickly. In speaking to developers, we find a real fear that they will be overwhelmed with this new pace of releases. It’s not the writing of code that is at issue though; It’s the mountains of YAML and CLI commands necessary to take new code through the DevOps pipeline to production. Packaging code for deployment to different platforms and environments can take a tremendous time and effort. For some, this has meant going backwards to slower deployment cycles. Others have added more cost by hiring more people to handle all the packaging and moving of code to get it to production. Making software slower or more costly are antithetical to the goals of DevOps and Agile.
Docker Enterprise 3.0, especially Docker Desktop Enterprise and Docker Apps, are designed to directly address these issues. Docker Desktop Enterprise provide the tools to autogenerate Docker Compose and CI files, vastly simplifying the work to package code and move it down the DevOps pipeline. Instead of writing YAML, developers can now spend more time writing actual code. Docker Apps, which is bundled with Docker E3.0 but also available as a CLI plugin now, goes a step further. A CNAB implementation, Docker Apps creates a bundle of containers, making it easier to move whole microservices applications around. These tools plug right into common IDEs, such as Visual Studio Code, and work with common DevOps software such as Jenkins and GitHub, to make a developer’s life much easier.
Docker didn’t talk much about what would come after Docker E3.0. That would provide the community more confidence that Docker had learned to read the tea leaves better. Docker E3.0 addresses problems of the here and now and should provide a major boost to the company. Let’s hope they can keep the momentum going.