Is Docker in Trouble?
The words "Docker" and "Container" have been a roller coaster of highs and lows over the past couple years. Docker's debut into the tech world was nothing short of a renaissance...or so social media, marketers, and developer forums would have you believe. As soon as containers went from a backwater, linux-lover's side-conversation to the front page of Silicon Valley...well all sorts of new services and ideas came about. Microservices became a panacea to all of our problems, continuous integration was less of a hassle, and, despite it trying to take all the credit, even Serverless was born from this bang.
And so time went on. Docker became more and more ingrained into everyday lingo, job requirements, and Dilbert comics. Images of whales, boats, and colorful ships at the port became the backdrop to all of our modern developer websites and blog pages. This titanic topic set sail into the technology field's mind share and since then...it's almost impossible to escape it.
However, despite its (marketed) promise of taking us to a new land, a number of folks in the technology community believed it to be headed towards an iceberg...A "doomed" direction chosen by the fault of its own captains and crew. But how grounded is this paranoia? Is Docker on the downfall? Or is it all just a knee-jerk reaction from the Chicken Littles of our field?
Docker, An Empty Swarm
The biggest criticism and fear surrounding Docker was the company's isolated obsession with their container orchestration platform "Docker Swarm." Now, I don't want to get too deep into technicalities, but the point of this tool was to make it so that you could launch containers on a fleet of services and easily manage them. This was their financial flagship that they expected to bring in cash and make good with their nearly $272+ million worth of investment.
Though this is simply a result of the way they steered the ship, one of the main reasons Docker (the company) is in such a precarious position is because the alternatives to Docker Swarm have won out. Google's Kubernetes became the defacto option for teams with enough resources to sink into its operational overhead and reap the rewards. AWS EC2 Container Service (ECS) became the prime option for teams looking to streamline their container workflows without having to build and maintain the entire boat.
And so, the curious case arose whereby the official solution of "Docker Swarm" became the least picked option. Companies like VMWare have gone all in on Kubernetes for their future operations. And on the other hand, companies like Riot Games, with 27 million daily users, or Expedia, which runs over 13,000 containers on over 860 servers, use AWS ECS.
With so much of the pie being eaten up by other players, not many folks were surprised when it came to light that Docker was having financial problems. In a leaked memo, it turned out that despite raising so much money, they needed to raise even more. If Docker Swarm can't be the monetary powerhouse they need, what's their path forward? Also, how did it even come to this?
(If you are interested in learning the technicalities, check out my free series on Docker and AWS)
Docker, the Open but Closed Source and Community
The problems with Docker began and ended with its open source nature and management. Yes, Docker is an open platform that all can see, contribute to, and be a part of...and yet it wasn't. You could have the most incredible set of contributions for Docker ready to go into the codebase, and yet, if these contributions weren't on point with their vision...then too bad.
Now that's not radically different from any open source project. You have the contributors, who come up with improvements, make them, and submit them to be added. And you have the maintainers, who review these contributions and either thumbs up or thumbs down them. In an ideal open source project, anything helpful that objectively progresses the codebase gets added. Instead of an isolated set of folks doing what they think is best, you get everyone who uses and loves your project to do this for you.
The problem was that Docker was too authoritative on what they would and wouldn't allow. Instead of asking, "Will this contribution benefit Docker and the community as a whole?" they asked, "Will this contribution give Docker a competitive advantage and position Docker Swarm as the number one solution for orchestration?"
These decisions and actions lead to a great deal of blowback. Their "my way or the highway" approach to their community, and its contributions, transformed Docker from the friendly whale into a Moby Dick. And if you keep up with the zeitgeist of the open source hacker community...well, then you know that this is a surefire way to create an angry mob. (It's also funny that they named their open container framework Moby).
This rift between Docker and their community may not be the absolute cause for their troubles, but it's a hole in the ship for sure. If you alienate your best contributors and fans, who are the lifeblood of an open source project...well...what are you left with? Well, you're left with all of those great folks and potential partners turning to the alternative solutions.
Docker, Splitting the Ocean
...10 Years Later... (well almost)
And so on November 13th, 2019, nearly 10 years after Docker's founding, it was announced that Docker would be selling off the ENTERPRISE portion of its business to Mirantis. Now, due to the way this was announced, there was an initial burst of confusion: "Whaaaat?? Docker is getting sold???" In fact, I wouldn't be surprised if that misunderstanding is still floating around.
But the truth is that over the years Docker became a two-headed...whale. They've had one head dedicated to improving their core technology and developer workflows, and the other head occupied with selling solutions and their platform to enterprises. So to clarify...
Docker did NOT get sold. Instead, Docker sold the enterprise portion of its business.
However, even without a misunderstanding, this can still be easily conceived as a doomsday signal for the captains out there chasing the beloved whale. Just as we've all found and settled on a technology that, regardless of what one thinks of the company, is incredible...is it destined to meet the deep dark of Davy Jones' locker?
Docker, the New Path Forward
It's not all doom and gloom though. In fact, things are looking pretty bright. Alongside Docker's announcement of selling the enterprise portion of their company, they also announced another important event: Docker raised an additional $35 million in funding and replaced the current CEO with their CPO Scott Johnston. This also came with an announcement that they're going to refocus their efforts on the community, improving developer workflows, and adding to their Docker Hub and Docker Desktop tools.
Why is this positive? Well, beforehand we had this two-headed whale constantly competing with itself. Will it work to better the ecosystem and make its technology compatible and optimal for everyone? Or will it draw boundaries and attempt to make its solutions king of the ocean? By removing the head (enterprise platform + Docker Swarm) that was largely responsible for the rifts and push-back, it seems they've decided to go all in on being the friendly whale. Between that, the injection of new funds, and putting someone product-oriented at the point, all signals are pointing towards smooth sailing.
Docker, Loved by Many, Hated by Some, Used by All
Here's the thing though - for all of the debris and uncertainty drifting around Docker there is one truth: developers and companies both love and use it. For all the AWS ECS vs K8s vs Swarm vs Etc, DOCKER is still the engine of these offerings. And so, not only are user-facing companies generating revenues off of Docker, but so too are B2B companies. And where there's cash...there's products, companies, jobs, interest, and longevity.
It's still reported as the 7th most popular tech tool on StackShare, the 2nd most loved / 1st most wanted platform, and the 3rd most broadly used platform according to the 2019 StackOverflow Survey. And so with popularity, love, and real usage at such highs, it's hard to see this recent business move as anything but positive. Since it seems to be changing course towards doing more of what folks want truly want from Docker, it should be some healthy forward motion.
Admittedly I am a big fan of Docker and I want to see them succeed. I've worked with it professionally for years now, and quite frankly, I can't imagine returning to an ecosystem without it. The pleasant and productive developer experience it allows for is unmatched by any similar solution, let alone trying to do the same workflows with VMs. Hopefully this return to their roots, of making a great developer experience, will help them reconnect with the community and find a sustainable business model.
But regardless of any position about the company, its success, or personal preference, let's not forget the people of Docker. If you've been in tech, then you know how volatile the industry can be, ESPECIALLY if you're in the startup scene. One day it's there. One day it's not. Yep, on paper it's all just another day in the world of business. But the shakeups, acquisitions, etc cause all sorts of turmoil in careers and relationships. And so no matter what, let's wish the folks of Docker well in their new direction and hope they all land on their feet.
J Cole Morrison
http://start.jcolemorrison.comDeveloper Advocate @HashiCorp, DevOps Enthusiast, Startup Lover, Teaching at awsdevops.io