Docker released Enterprise 3.0, and Docker Desktop Enterprise is the big new thing in this release. Docker Desktop Enterprise, or DDE, extends the Docker Enterprise container platform to the developer’s system for a seamless developer experience from desktop to production, across any infrastructure, supporting legacy application modernization and cloud-native development.
There’s a number of features that make DDE great for enterprise environments; let’s walk through each.
Application Designer may be considered the meat of this release. Application Designer brings the containers that run in production to the desktop. In addition to keeping container version and configuration drift to a minimum, it speeds up onboarding of developers to projects, as well as bootstrap the scaffolding for new projects based on templates. This library of application and service templates to help developers quickly create new container-based applications, based on organizational standards, decreasing the time-to-Docker.
Application Designer gives developers an easy, graphical way to scaffold applications; developers no longer need to know all the lower-level Docker commands to get started.
The Designer uses Docker Application packages, an implementation of CNAB (which solves the ambiguity of the different application package formats like Helm charts, Kubernetes YAML and Docker Compose files). Applications can be single- or multi-service and include configuration parameters and descriptive meta-data. Applications are deployable to both Kubernetes and Swarm.
The great thing about Docker Applications is that they’re easily distributed using existing methods. The application bundles, containing multiple containers and configs, are distributed via Docker Hub or the organization-private Trusted Registry, identical to regular containers.
DDE has seamless integration into a developer’s workflow. From within the Docker application, code can be opened directly in Visual Studio Code or IntelliJ. Changes made in the IDE are immediately effective in the running container and container log files are available in the Application Designer.
While Docker supports Visual Studio Code and IntelliJ now, it can be used with any language, framework or IDE.
Head over to the Docker Blog for a more in-depth view of the Application Designer, Application Templates and Application packages: Accelerate Application Delivery with Application Templates in Docker Desktop Enterprise.
Just like production
A common issue is ‘it works on my machine, but not in production‘. Even though containers are immutable and identical across the developer’s device and production, configuration drift and (subtle) changes in container platform version screw things up.
Docker Desktop Enterprise solves this with Version Packs. Version Packs make sure that the versions of the Docker engine and other platform components, as well as configurations across developer systems are identical to Production. Version Packs allows developers to easily switch between versions for different projects or clients.
Many developers use Kubernetes APIs to develop and deploy containerized applications. Kubernetes is in heavy development, with many changes across versions. Switching between Kubernetes versions is no easy task, usually. Fortunately, Version Packs include different Docker Kubernetes Service versions to switch between, massively simplifying the life of developers that need to switch versions often.
For many organizations, supporting developers is touch. They need more-than-average control over their devices, which makes it hard to centrally provision and deliver the right applications. Development tools vary vastly across different technology stacks, and developers often have their own tool preferences, too.
This makes onboarding new developers to work with existing pipelines hard. DDE helps organizations by packaging up all Docker-related configuration and delivering it as a single package, resulting in a zero effort installation of Docker and Kubernetes on the Developer’s workstation, while being centrally managed and secured.
DDE allows enterprise-wide deployment on Windows and Mac, including configuration of parameters and optionally locking config items. This allows IT Support to manage the installation and configuration of Docker Desktop across the fleet of end-user device in their organization.
Wrapping up the release
In the words of Steve Singh, Docker CEO: Our goal is to simplify the complexity of technology.
Docker Enterprise 3.0, and Docker Desktop Enterprise particularly, is a great step in that direction. Building and running containerized apps can be complex, especially with Kubernetes in the picture. Docker has the opportunity to simplify the development and operations of containerized apps.
This release helps developers get up-and-running with Docker quickly and easily, requiring less in-depth command-line work to get started. Will this democratize containerized app development? Time will tell, but the features of Desktop Enterprise do certainly help.