
The landscape of emerging container platforms
Many leading technology companies are involved in the container platform game and I'll group them into three broad categories to summarize where Docker Enterprise fits in. Specific vendor names are intentionally being withheld to avoid any emotional arguments or legal warfare, so just some high-level sifting and sorting for now:
- Container platform categories emerge:
- Virtualization vendor container platforms:
- Summary: Large enterprise virtualization vendors are justifiably concerned about containers eroding their virtualization revenues. Indeed, running Docker can reduce, or in the case of Docker on bare metal can eliminate, the need for commercial virtualization products. Currently, Docker on bare metal is pretty rare in the wild, but it poses a huge threat to the multi-billion-dollar virtualization industry over the next 10 years.
- Virtualization vendor container platforms:
Realistically, containers and virtualization technologies will be considered complementary technologies in the short term, but in the longer term there is a real risk to the virtualization industry.
In response to the container threat, virtualization vendors are responding with their own container platform, but they require licensing of their latest product platform to use it.
-
-
- Pros:
- Build on existing virtualization technology platforms and skill sets
- Leverage existing legal contracts (might require some upgrades however)
- Easy to use/same support channels
- Cons:
- Usually require upgrades to latest/advanced options
- Locked into their stack and not easy to move to different, possibly cheaper, platforms in the future
- Virtualization tax—requires full vendor stack and licensing wherever you deploy, on-premise or cloud
- Pros:
- OS platform vendor stacks:
- Summary: Vendors providing enterprise support for Linux operating systems have thrown their hat in the ring as well. In the hope of maintaining market share through convenience, these vendors provide some interesting options, but lock you into their licensing models to use their version of containers. These platforms usually provide older versions of Docker (nearly 2 years old in some cases) or alternate container engines they own.
- Pros:
- Build on existing OS technology platforms and skill sets
- Leverage existing legal contracts
- Easy to use/same support channels
- Cons:
- Usually several releases behind their open source counterparts
- Locked into their version of the OS and must use their licensed OS stack to be supported
- Wrap underlying APIs—requires additional APIs and long lag times from open feature release to the vendor's wrapped version release
-
-
- Cloud vendor-based container platforms:
- Summary: Most of the initial microservice application deployments using Docker and Kubernetes were born-in-cloud applications. Initially, these were hand-rolled with virtual networks and cloud virtual machines, but cloud vendors saw a great opportunity in the container market and began to offer container-related platform services (*CS) in 2015. Initially, these services focused on single-host container deployments, but the rapid maturity of container orchestration led to a new generation of orchestration-related cloud platform services (*KS) being released in 2017 and 2018.
- Pros:
- Easy to get started with
- Easy to connect to the cloud vendor's other services
- Initially low cost
- Cons:
-
- Need to provide, wire-up, manage, and pay for your own clusters
- Older versions of Docker and Kubernetes
- Isolation by resource group or VPC leads to cluster sprawl—gets expensive and complicated for centralized integrated access management
- Sticky integration—easy to use cloud vendor's services, difficult to migrate to another cloud provider or on-premise
-
- Supported open platform, extensible technologies:
- Summary: Docker Enterprise fits the category of a supported open, extensible technology. The complexity of bringing many open source products together under a single umbrella is a challenge, but is ultimately a great deal for customers. Docker customers get choice and transparency from this platform, but more integration is required. This what most enterprises would do themselves if they could, but they usually can't afford a dedicated team of rock star engineers.
- Cloud vendor-based container platforms:
Docker Enterprise is backed by dedicated engineers and they strive to deliver a cloud-portable container platform, giving the customer the choice of running on any popular cloud/OS platform with Docker support and a stable release cycle for underlying open technologies—and doing so without wrapping or forking key technologies such as Kubernetes. Docker Enterprise includes the Docker API/container D and the real Kubernetes API out of the box.
-
-
- Pros:
- A portable or hybrid-friendly enterprise container platform that Docker supports from the engine up to the control plane, including Docker-certified plugins for networking and storage
- Everything you need (Docker Enterprise Standard +) to run an enterprise container platform including a secure cluster, universal control plane, and a feature-rich, secure container registry
- Very cost effective for enterprise-scale platforms
- Because of RBAC, usually only need two clusters for all environments
- Pros:
-
- Cons:
- Can be expensive for a small HA cluster—HA clusters typically require three managers/masters, three DTR nodes and therefore requires a 7th nodes to start running workloads. Please note this overhead is quickly offset by consolidating all non-production environments into a single non-prod cluster with RBAC.
- An initial Docker Enterprise build can take some thought and time. Because Docker's open-platform approach allows for countless permutations of suitable infrastructure, preparing an enterprise-specific platform for the install takes some planning and expertise (hardware/VMs, OS, networks, storage, monitoring/alerting). Docker's professional services and authorized consulting partners can help (a lot) here, but I'll cover a lot of these setup items in subsequent chapters to help get you started on your own.
- Cons:
-