The Top 11 Highlights of Docker Enterprise 3.0 — Unlocking the “other 50%”​ of Developer Time

Torsten Volk
4 min readMay 7, 2019

--

Docker Enterprise 3.0 brings a set of interesting capabilities that aim at eliminating all developer tasks that are unrelated to actually writing business code. Below is my Top 10 list of these new capabilities, with brief impact assessments.

1. Consistency of Development Environments with Kubernetes Clusters

Consistency between developer machines, running Docker Desktop Enterprise, and Kubernetes clusters to entirely eliminate all application issues that are related to infrastructure differences between development and server environments.

Version packs ensure consistency between Docker APIs and Kubernetes versions between environments (image source: blogs.docker.com)

Impact: High, as developers spend significant time over obsessing about exactly matching their environment with test, staging, and production Kubernetes clusters. This also lets developers switch contexts when they jump from one application to another.

2. Onboarding Legacy and Brownfield Applications

Personally, this is the feature I have been waiting for the most impatiently, as lifting and shifting existing enterprise apps has never been as simple and painless as some Powerpoints wanted to make us believe. Docker App, included in Docker Enterprise 3.0, promises to entirely abstract an application’s runtime requirements and infrastructure dependencies to enable containerization and deployment to different clouds.

Docker App discovers runtime and infrastructure dependencies of enterprise apps and automatically creates deployment packages

Impact: Potentially high, if Docker App can truly deliver on its promise of automatically containerizing existing apps.

3. Adding new Capabilities to Legacy Apps, without Rewrite

Docker App Explorer centrally manages application parameters and environment variables for traditional software applications and allows developers to add-on new micro service-based capabilities.

Adding on new capabilities to existing apps via microservices is exciting, as it helps channel developer resources toward business-critical software capabilities instead of worrying about unnecessary migrations

Impact: Very high, as this would allow to focus development efforts on creating functional requirements, instead of spending time on refactoring applications that currently run “just fine.”

4. Universal Builds for any Environment

Docker Desktop Enterprise provides developers with application templates that work universally for any Kubernetes cluster, no matter the CPU architecture, or operating system. Builds are automatically offloaded from the developer machine to the respective Kubernetes cluster for faster performance and optimal build consistency.

Impact: medium-high, depending on the heterogeneity of the customer’s application infrastructure.

5. Faster and Parameterized Builds

Buildx chops the typical build process into individual segments that can be parallelized to optimally use the multi-threading capabilities of modern CPUs. Segmenting the build process comes with additional interesting examples such as the ability to reference external dependencies, for example to access password tokens without needing to store actual passwords or to inject custom deployment variables during the build process.

Impact: ultimately very high, as Buildx is the backbone technology for enabling parameterized builds that can run on different environments or accept different configuration parameters.

6. Simplicity

Docker app enables developers to fully abstract environmental variables and configuration parameters from the application. This enables anyone with basic Docker knowledge to install, update, or uninstall the application based on a centralized YAML file.

Impact: medium. The time spent on writing YAML code, by definition, cannot be spent on writing code that directly affects business outcomes. The degree to which Docker Enterprise 3.0 takes this responsibility away from developers remains to be seen, as we all know potential shortcomings of WYSIWYG.

7. Policies and Compliance

Docker App enables centralized policy enforcement by basing application images on standardized configuration files that provide a set of compliant default and optional settings, but do not allow policy violations or malicious intrusion. This also comes in very handy when enforcing policies for backup and restore, scalability, and performance.

Impact: This is big. Monitoring and enforcing compliance at runtime is critical for distributed applications. No further explanation needed.

8. Audit Readiness

Basing application environments on centrally managed configuration files is a dream for everyone who cares about being ready for the next audit, without having to scramble to figure out how to download and consolidate the required log data.

Impact: Big, if Docker can truly deliver the promised audit trail.

9. Application Templates

Docker Enterprise 3.0 automatically creates environment-specific application templates for developers to get started without having to write any YAML. When the application is ready to deploy, Docker Enterprise Desktop will automatically build it on the target cluster to rule out any application issues caused by differences in configuration, operating systems, CPU architecture, libraries installed, etc.

Impact: Medium

10. IDE integration

Docker Desktop Enterprise automatically generates and maintained the files necessary to deploy the docker app (e.g. metadata.yml and docker-compose.yaml). This means that developers do not have to worry about learning YAML.

Impact: Medium. The IDE integration should help developers focus on actual application code.

11. Security Integration

Enterprises can enforce security rules through defining policies for their DevOps pipelines. For example, this would allow to require that only images that were signed by the appropriate developer can be pushed into staging or production environments.

Impact: potentially large, as it enables enterprises to build ‘insurance’ into their DevOps process. The actual impact will depend on adoption.

Take a look at the pretty entertaining DockerCon 2019 keynote to watch the ‘official’ demos of most of these new capabilities.

--

--

Torsten Volk
Torsten Volk

Written by Torsten Volk

Industry analyst for application development and modernization at the Enterprise Strategy Group (by InformaTechTarget).

No responses yet