If you haven't been paying attention to software containers and Docker, you might want to start now. Based on the new strategic partnership announced by Google, VMware and Pivotal called Pivotal Container Service (PKS - that's not a typo), it would appear the enterprise container market is for real. In fact many IT insiders consider the potential impact of software containers on IT to be along the same scale as server virtualization.
HOW DID ENTERPRISE CONTAINER PLATFORMS BECOME A THING?
At the core of the enterprise container movement is a smartly run, little ($1B) startup called Docker, Inc. They spent most of their first three years sponsoring the Docker community project and in their 4th year started on a brisk path to change how software is built, managed and deployed in the enterprise with Docker Enterprise Edition. As a result of Docker enterprise product strategy and latest release of Docker EE 17.06, large vendors who sell commercial proprietary data center and cloud solutions are starting to respond. Docker EE's capabilities and continued commitment to the Docker Community pose a real threat to VMware, AWS ECS, Red Hat and Pivotal's Cloud Foundry.
OK, maybe. ...but why do Google, VMware and Pivotal really care about Docker?
- Docker (Enterprise or Community Editions) running on a bare metal OS could make VMware irrelevant. It's worth noting both Pivotal and VMware are owned by Dell-EMC. Meanwhile Hewlett Packard Enterprise (HPE) is working closely with Docker on their Modernization of Traditional Applications (MTA) program to demonstrate up to a 45% reduction in resource consumption when going to bare metal (cutting VMware out of the picture). Oh, and HPE announced they are now shipping Docker with their servers.
- While PaaS usually works well for cloud hosted solutions, by most accounts running a PaaS like Pivotal's Cloud Foundry in your own data center is a pretty daunting task. Docker EE on the other hand, allows enterprises to migrate to and from the cloud without re-architecting their stack or incurring additional licensing cost. So, Docker opens the door for PaaS customers to seek the freedom of open container-based development and to build their own completely extensible container-based service platforms without the inherent functional limitations of PaaS. The new PKS offering gives Pivotal an on premises story for open(ish) container-based development, albeit heavily tied to VMware.
- Google should be concerned about Docker's built in Swarm orchestration is becoming a capable competitor to Google's Kubernetes orchestration tool. Swarm is baked into the Docker Community and Enterprise editions so there is nothing to install, it is secure by default, it is easy to use and it supports Windows nodes. Kubernetes has some cool features, but is difficult to install, configure and at the end of the day is just one more moving part/vendor in your stack. PKS gives Kubernetes an on-premise story and hopefully makes it a lot easier to install as long as you are willing to pay the price of VMware licensing.
- Finally, Google appears to be losing ground in the cloud services battle with Microsoft. Microsoft, a leading Docker contributor and Docker partner, is heavily leveraging Docker in their Azure cloud environment and their Windows Server 2016 Enterprise OS. Albeit Docker is just one part of Microsoft's cloud strategy, they are clearly moving ahead of Google in the cloud hosting space.
While I am not an expert on Pivotal's new PKS container service, it is clear from their website that it is heavily dependent on VMware. Meaning that even though you have some great community software in your stack, you are still locked into VMware and the associated fees.
On the other hand, if you opt for the Docker EE path, you can host your stack on bare metal servers, VMs and/or any cloud platform. This way you choose what's best for your enterprise and move your applications any time you need to without re-architecting your applications or the deployment stack. Oh ya, and your software is all part the Docker platform - all of the parts are designed to work together.
SO, IS DOCKER ENTERPRISE EDITION REALLY READY?
Docker clearly follows Lean/Agile development practices for their products. The feature set is driven by the needs of real users and they started with a minimal viable product (MVP). That means the early releases Docker EE were minimal and probably not on the radar of the big players. However, while this approach starts small by design, it also quickly yields a great product for users in a relatively short period of time. ...and that's exactly what's happened with Docker EE over the last 12 months.
Just a few weeks ago Docker released their EE 17.06 product. This version feels like a polished enterprise product that adds some practical and very useful overhaul of the previous version, including a clean GUI update for their Universal Control Plane, resource collections and straight forward, fine-grained role-based access control for enterprise containers. Combine that with Community Editions multi-stage build and improved scheduling strategies along with the Docker Trusted Registry's support for better CI pipeline automation and you have something that's looking like an enterprise contender.
If you have not seen 17.06, you should take a look, especially if you are a Cloud Foundry customer and don't want to wait for PKS v1 to hit the market in Q4.
RECOMMENDATIONS FROM THE TRENCHES
Since now might be a really good time for you to start or take a fresh look at your enterprise container plans, I thought I'd share some recommendations based on experience with large and small clients. Upfront, I will stress that guidance from Docker accredited resources like NVISIA will dramatically reduce your timelines and improve the results. While I understand this sounds really self-serving, I have seen first-hand how an experienced Docker consultant can accomplish in just a few hours what a very smart in-house team struggles with for months.
Here are some recommendations for evaluating Docker EE:
- Get your technology leaders up to speed with authentic Docker guidance. The do it yourself (DIY) approach doesn't work well even with a very smart team. Because so much has changed so quickly in Docker platform there's a lot of outdated and possibly confusing information on the web. Since Docker is at the core of this movement and has the deepest experience with a variety of stacks, you should strongly consider sending a small team (prior to a proof of concept (POC) or Pilot) to Docker's instructor led, hands-on training. It covers both enterprise and community edition best practices and reference architectures.
- Don't waste your POC team's time installing Docker EE. The install is pretty straightforward, but nonetheless there are a few potential gotchas. So get a Docker expert like NVISIA to get you set up with a highly available environment - AWS is usually a great place to start. It takes less than a day and then have them walk you through the care and feeding of your new Docker EE VPC.
- Start small and change as little as possible. Pick up some existing applications, containerize them and deploy them. Initially, stick with your current data storage, database, logging, monitoring and backup technologies (adapted to containers of course).
- During the POC, evaluate resource requirements and maintenance efforts against your traditional hosting environment. If you don't see a dramatic drop in maintenance effort/time/cost, make sure you consult a Docker expert to make sure you have a solid container image design and build strategy.
- Move your POC application to Pilot mode and start bringing your developers CI Pipeline into your modernized enterprise container platform.
Please look for future posts on:
- The why, what and when of Docker in the enterprise
- Common mistakes when moving to enterprise containers
- Cloud Strategy - Containers first when moving to the cloud