Considering how entrenched Docker has been in global tech infrastructure for so many years, I automatically assumed that the company was worth billions already, but guess not. I wonder why they haven't been bought out by Microsoft or Google, if nothing else then just for the talent.
>I wonder why they haven't been bought out by Microsoft or Google, if nothing else then just for the talent.
Because they received an insane valuation years ago and probably aren't even worth break-even on their funding rounds. Google already has far more K8s knowledge internally than anyone at docker, so what would be their gain?
MS did try to buy them back in 2016 but Docker pulled an Jerry* Yang and said no [1]. I don't see why MS would bother at this point, they are also headed down the k8s path, and anything they needed from an expertise perspective they likely already received through their partnership agreement [2].
It has absolutely nothing to do with politics. Microsoft offered to acquire Yahoo for $44.6 billion dollars in 2008 [1]. Jerry* Yang turned them down claiming the offer "substantially undervalued" the company. 8 years later they sold to Verizon for $5 billion [2].
loll i was like "oh no what did Andrew Yang do"... as an asian and non american i was a casual fan of his but kinda knew he had no chance in the primaries. still.. maybe someday.. he's young
This is the challenge with taking venture dollars, your interests aren't aligned.
As a founder post Series B you probably have at least 10% of the business, that's a nice $400MM payout coming your way.
But if the VC invested at a $1B price, picks up 10% and 80% of their return goes to their LPs they are personally pocketing much less.
So it is advantageous for them to continue to shoot for the stars rather than sell short. Plus they have multiple bets going on at the same time while the founders only have one.
So a $4B acquisition nets the founder $400MM, but and the VC firm is picking up $300MM of which 80% is going back to LPs, leaving $60MM for the partnership, perhaps split 3-7 ways, with maybe a kicker for the partner that sourced and led the investment.
So let's say that's roughly $10MM going to the VC partner.
Well you got one person staring at $400MM and another staring at $10MM.
The interests aren't quite aligned.
Also survivorship bias has us focused on companies that turned down acquisition offers and made it big, like Facebook, Google, Netflix, Snapchat, and so forth, but we don't really hear about the companies that turn down the offer and then fail to meet that acquisition price later, because that story just doesn't sell as well and the company fades into irrelevance so it isn't a piece that is picked up often.
Certainly at the time it could have been a good decision given how new the market was and the potential upside, but obviously hindsight is 20/20.
2. Get a shitload of users and free PR machine gets rolling. Network effects kick in.
3. Go to investors with your active user count in excess of millions.
4. Investors go bonkers and their eyes swell up with all the ways they can exploit these addicted-to-free user base.
5. Company has trouble monetizing the users. Users are pissed.
6. We all wonder why they couldn't make billions.
It just happened to Elastic search a couple of months ago when Amazon swiped the rug from under them. Good. This should be a lesson to all the companies that want to follow this pattern. Without Step 1, Docker would have had a much more difficult time to get traction and would have to compete on a level ground. So, they short circuit this competition by going full 100% free product route.
I have zero empathy for these companies and their investors.
They are not developed by a 'community'. The developers who build it are paid for by investors. Those investors want a huge return. It's not open source, it's bait and wait
Exactly, when you take a look at the mainstream "open-source" projects, you 'll see that those projects are all developed and maintained by some people who gets paid to do that. (e.g. Kubernetes, Firecracker, Gvisor, Bottlerocket, Podman)
When open-source companies develop the majority of their product, haters will complain that they’re “not open enough”.
When open-source companies invite more contributions from their community, haters will complain that they’re “harassing the community for monetization”.
Simply put, some people will never be happy no matter what Docker does, and clearly you are one of them.
There's a silent majority size x100? that is happy with both approaches :-) look at Actix-web for example (when the founder quit), the happy but silent people were like 500x more than the a bit angry ones
You're presenting a false dichotomy. I think the parent would have preferred these projects be successful and sustainable without the sleazy tactic of baiting users with free stuff, taking a mountain of VC cash, and then desperately trying to find ways of "monetizing" those users. Bleh.
F/OSS software works best when it's not a revenue source of the business that develops it. "Hey, I ran into $problem at $work and created $project to fix it! I'm giving it away so that it might solve your problem too! Hit me up on $mailing_list if you want to contribute." Red Hat is pretty much the poster child of this model. They make $0 on all the FOSS software they develop and release to the world but they dogfood it into their own products to collect dividends.
It is true that the technologies existed for a while. I played with (Free)BSD jails and Solaris Zones long before Docker. Docker however made things "trivial" with the integration from container building, to public registry and docker-compose, which can make developer lives (depending on domain) much nicer. With jails and zones it was never as convenient.
That was docker's real value add, making it easy and developer centric. Previous containerization technologies were heavily ops-centric. I come from an ops background and I remember thinking at the time that Docker was in some ways a developer workaround to barriers that ops set up to limit what they could do and protect them from themselves.
Doesn't matter. $10M initial round to offer free product to get users aboard.
The key point is to get users addicted to free.
Uber did this by undercutting the entire taxi industry at a loss. Ever wondered why your rides were so cheap!? Jio did the same in India, offer free unlimited internet on their phone service and wipe out the competition.
Their initial product was a platform-as-a-service (dotCloud), which wasn't free, aside from the early beta. Docker was essentially a pivot. I see no evidence that the company was founded as a nefarious scheme to get users addicted to a free product.
If enough users had wanted to pay for dotCloud, they wouldn't have needed to pivot in the first place.
My understanding (as a complete outsider) is that they raised a $10+ million series A for their PaaS. The PaaS then presumably wasn't successful enough to raise a subsequent round, but one of their technologies (Docker) was, despite the monetization path for it not being clear yet. So they pivoted to focus on that.
I'm not sure what other outcome could plausibly happen in this scenario. If they stuck with the PaaS as their main focus, they would have gone out of business many years ago.
> Docker was estimated to be valued at over $1 billion, making it what is called a "unicorn company", after a $95 million fundraising round in April 2015.
Mirantis acquired Docker Enterprise, last year, so at the very least they lost whatever portion of their valuation was tied to that... though I can't imagine it was that much.
Was there ever a technical reason why swarm never won out in the market? I've still got a couple of multi-node swarms that work great and are WAY easier to configure than k8s. I never really understood why it didn't take off.
I do ask the same question for all those other systems, or the meta-question: "How is it that the bloated monstrosity of Kubernetes somehow became the de-facto container orchestration tool?"
Is this just sysadmins buying themselves job security?
On the contrary, nobody was thinking of the sysadmins (until we injected the notion of Operators rather late).
Devs chose K8s, I think the evangelism phrase was “developer dopamine”. It felt like the Rails of DIY infra, where devs could inherit an opinioned pattern for doing n>1.
There’s still decades of resentment of devs being gated by IT.
Is that so? My experience is the opposite: devs don't want to learn Kubernetes YAML, they just want to git push and have someone else take care of deployment.
As someone who doesn't want to be a sysadmin, but wants to deploy applications to the cloud, the options are fairly limited. Kubernetes handles updates and scaling, networking between services, has managed offerings from all the major cloud providers, has an enormous ecosystem surrounding it, with many tools providing out of the box support for it.
I could use docker swarm, or nomad, but I have to manage infrastructure, write my own integrations, manage the underlying hardware.
Or I can run az aks create and be off to the races
Sure, at this point it's a self-fulfilling prophecy: K8s is almost the only game in town because...it's almost the only game in town.
But how did it get to that point? How did something so big and unwieldy that even billion-dollar cloud providers can't do upgrades on it properly (*cough* looking at you, EKS) become the go-to standard for running apps in containers?
Kubernetes had necessary features first, was more stable, and had many more options that enabled other teams to hang more features off the runtime. Flexibility on networking runtime and rbac both made a huge difference.
That and, unfortunately, the cloud vendors could fully deploy k8s for free because swarm was a hybrid enterprise product.
I'd also like to know more about this, since for smaller to medium sized deployments (think 1-100 nodes, maybe running between 1-1000 containers) Docker Swarm does seem like a pretty reasonable solution, especially with tools like Portainer ( https://www.portainer.io/ ) for a web based UI to manage it.
I guess some of the reasons for the popularity of Kubernetes could be:
- Kubernetes had Google as a big name behind it, so there was a lot of development resources put into it and eventually, lots of learning resources available, in addition to overall publicity; for example, i don't think anything like this exists for Docker Swarm https://www.katacoda.com/courses/kubernetes
- in addition to the marketing and PR, it got picked up as a solution for many managed offerings by cloud hosts (managed Docker Swarm has almost none), a bit like what happened with serverless and AWS Lambda
- Kubernetes allows for CRDs, has a pretty good API and has a large ecosystem built around it, to help manage its complexity (even distros like K3s and MicroK8s could be mentioned), as well as many to implement additional functionality (Istio + Kiali come to mind)
- this further snowballed into turn-key offerings like Rancher and OpenShift that had financial incentives behind them, the idea of building a new distro that vendor locks clients into a particular company's offering, resources, support etc.
- almost everyone (oftentimes incorrectly) believes that they need to be able to scale a lot and therefore chased the hype
- FOMO further motivated a whole bunch of developers to use Kubernetes for their projects, instead of looking at the alternatives like Docker Swarm or Nomad
- however, knowing Kubernetes can help to be more easily onboarded and to work with deployments in many different companies (except for when it isn't), the skills carry over nicely
Of course, some of these may be my subjective views and not at all accurate.
Personally, i think something between Docker Swarm, Nomad and K3s would be the sweet spot for containerized app deployments and orchestration, but personally i just like the Docker Compose manifests more than i do Kubernetes' and it feels like the popularity of Helm (or Kustomize) supports this line of reasoning.
Ideally we wouldn't even need containers and something like FreeBSD jails with a user friendly API around it would be sufficient. But the popularity that Docker gained seems to highlight that perhaps something was missing from those older technologies.
> the popularity that Docker gained seems to highlight that perhaps something was missing from those older technologies.
I would put money on it being the Dockerfile and the developer UX around that.
I don't honestly find it any more slick to use than e.g. FreeBSD jails, but I've lived in unix for long enough that that's because I was re-using lots of knowledge I already had.
There's a comparison here to the fact that I'm perfectly comfortable writing SysV rc scripts (though BSD rc scripts are vastly more pleasant to put together) but I've watched enough people struggle their way to something that only mostly worked that I can see why for many people writing a systemd unit file instead is a vast improvement.
I think people really undervalue the base design of k8s that is responsible for the existence of CRDs and other related pluggability (even before TPR became CRDs).
Pretty much every other option was more closed and with no extensibility, plus docker swarm was plagued (at least from my PoV) with stories of instability... and I dunno about others, but I and various people I talked with were burned with running docker in production, something that k8s nicely repackaged removing a lot of the things that were problematic.
All this went into giving some serious base beyond marketing and PR - the closest I've seen from other players is classic Rancher and Nomad, and especially the latter seems much less capable.
I used it extensively at a job for deploying production replicas for developers and full-integration testing (the plan was to eventually deploy prod the same way). It was SO nice to use. If you could use docker-compose, then docker-swarm was a natural next step.
I can't remember the details (it's been a few years), but the biggest hangup I had was the default network "mesh" wasn't stable. But I was able to work around that by using a different implementation (i think it was the network mesh that came out of k8s at the time. Used etcd).
It all depends on what they got for the money. I have no idea what it's valuation is based on these numbers, but if $95M bought 15% and $23M bought about 3.5% then the valuation is about the same.
I'd expect the valuation to be lower also, but that's based on their revenue prospects, not their the $ amount of investments.
Considering how entrenched Docker has been in global tech infrastructure for so many years
It is not entrenched at all, that's their problem. You can literally drop in Podman as a replacement and alias the command it it will "just work" - and Podman has some significant advantages in many environments/use cases. Docker, the company or the product, has no concrete barriers to entry to protect itself.