"I've never understood why jails didn't take off. I guess maybe since linux took off and the bsds didn't, but they're just nice and elegant."
The very first VPS[1] provider, JohnCompanies, was built entirely on jail (and FreeBSD 4.x).
At the peak we had over a thousand FreeBSD jails running for customers all over the world.
In the end, fancy provisioning and fine-grained resource tuning (with products like Virtuozzo) won out. Although JC is still operating and still provides jail-based VPS.
The offsite backup infrastructure that was built for JC customers became a standalone company in 2006 and was named "rsync.net".
[1] The term "VPS" had not been coined in mid-2001 so I made up the term "server instance" which didn't stick.
Yes - we just got pull requests into sshuttle as well as some patches to FreeBSD to make ipfw and UDP tunneling work the right way ... I am testing it now (Feb 2017) and will post to -hackers when it is done ...
It's surprising to me as well. I think it's because of the way these technologies were marketed.
FreeBSD jails, Solaris Zones, OpenVZ, and Linux LXC were marketed as fundamental building blocks for improved consolidation and/or improved separation of concerns. These technologies could solve all these problems, but fundamentally they were sold as a transparent abstraction. "To end-users, jails operate and feel just like VMs or real hardware" they said.
Docker was different, docker was fundamentally sold as a higher-level product. Docker is not "just like real hardware", docker was a new way to think about deployment, a new way to think about pre-packaged building blocks.
I think it has a lot to do with marketing and hype.
The BSD community in general is anti-hype, vs. Docker having a for-profit company (dotCloud) behind it. Even it's first version's website looked nice, had a lot of pretty graphics.
It really does more than people think. Now, the following statement doesn't apply to Docker, but I've seen people with great technical understanding seen choosing totally messy toy projects, because they had a well designed website with pretty images and lots of marketing.
I mean to some degree this also works for Docker in the sense that I've seen people having totally wrong expectations on what Docker does.
It's just what good marketing does: Giving people the impression that something is magic.
The BSD communities always had both a strong no-hype stances. They didn't even have cool names, as they have now with bhyve, etc. They also had a strong "keep it simple" mindset, that counters the "there is magic behind it" effect. It is the sysadmin mindset of preferring boringness and no surprises.
The only other bigger open source project I know trying to be boring to some(!) degree is Go. But that only works, because you can always say "it's from Google" if you need to market it.
Of course there are others, but many of them are way less known.
The only other _somewhat_ new software that I can think of that was considered cool without there being a big hype machine and/or a company pushing it from the beginning is Redis. Out of the nowhere, I mean. Of course there is much cool stuff done by people that already have proven to do amazing things.
But I am sure other people can come up with way more.
Having used both plain LXC and BSD Jails before Docker was a thing, and now using Docker after, I can say much of this is true. But there's a fundamental additional point: Docker's marketing has increased its' usage for application development in general, and now it has become technically useful because of the resulting ecosystem they grew around that. Docker Hub is quite useful if you just want to deploy some app quickly -- usually it's already been done for you.
That's an interesting way of looking at it. Docker also came with a way to do things. Jails you were still responsible for having it set up correctly (though you could tar them which was nice).
> That's an interesting way of looking at it. Docker also came with a way to do things. Jails you were still responsible for having it set up correctly (though you could tar them which was nice).
Separate kernel and OS is ideal for containers, IMO. What was thought to be a plus with BSD I believe turned out to be a weakness.
There There!
I think the same way. I feel like LXC is super powerful and flexible at the same time. Docker and all its terminology around(docker file, compose, swarm and many more) just feels like unnecessary complexity..
A few unixy scripts to automate LXC commands and The infrastructure should be set. The less wheels to grease the better at this level.
I think the point of Docker (and maybe Kubernetes) is that its containers are intended to be stateless one-offs, so they aren't (and can't be) managed like a traditional server. Instead of patching a server, you'd build a new image incorporating said patches and launch that in place of the old one. It's not a bad tool for scalable services that can be stateless (i.e., not databases or file servers), even if I personally haven't quite gotten the hang of that workflow yet.
It took off like crazy for VPS hosting, until superceded (although I know of many that still use it).
OpenVZ was popular enough to support the parent company Virtuozzo/Parallels/SWSoft (many name changes over the years) and the commercial Virtuozzo product is still sold: www.virtuozzo.com .
The lack of OpenVZ being accepted into the kernel, is what eventually killed it IMHO. Since the cgroups and other code that underlies Docker/LXC etc. is in every kernel, it was only a matter of time until the default became accepted and then used widely.
I think that's a lesson of history and market share. It takes combining all the right circumstances for something to really take off. Still blows my mind that *bsd isn't used more often.
My only guess is that, like everything, Microsoft beats it for the reasons MS beats anything: legalese.
For many companies software choice is all about who's behind whatever. I.e. They want an outside entity bound to the service in a legal contract. I think that's a huge reason Microsoft owns the corporate IT sphere and why red hat/ubuntu have some standing while *bsd not so much.