Freebsd versus Kubernetes and Borg

Google using Linux goes back much further than MPM = Docker and Borg = Kubernetes. The software packages Google actually uses (Midas Package Manager a.k.a. MPM, and Borg) are significantly different from their open source versions, and very heavily tied into the rest of the Google infrastructure. But Google used Linux long before MPM and Borg; matter-of-fact, I think it started on Linux in 98. Today, that dependency is so baked into the gigantic infrastructure, changing to another OS would be difficult to imagine.
 
Google Borg : a proprietary, internal cluster management system used exclusively within Google, written in Go.
--- Coupled with Google private file system
--- uses rigid tree structures to organize jobs

Kubernetes : an open-source container orchestration platform inspired by Borg and built for the publicn, written in C++.
--- Uses Pods, giving groups of containers their own isolated network namespace and IP address.
---- Uses dynamic tags called Labels, allowing users to organize infrastructure , flexibly
----> Infrastructure meaning : all the live components of your application deployment—specifically your running workloads (Pods), the virtual networks connecting them, and the underlying servers (Nodes)

[ Offcourse was different in past.]
 
Sidenote,

If you build a system with FreeBSD Jails and Ansible, you are essentially building your own lightweight container platform:
  • FreeBSD Jails = Containers/Pods: Jails are an incredibly mature form of OS-level virtualization (older and arguably more secure than Linux cgroups/namespaces). They isolate processes, file systems, and network stacks.
  • Ansible = The Control Plane: Ansible acts as the automation engine. It handles provisioning the Jails, deploying application code, configuring networks (like VNET/epair for jail networking), and managing updates.
 
Another example: Meta uses a lot eBPF as core technology for optimizing its network stack, and this is a Linux-only tech.

At the scale of Google and Meta, if the core tech is good enough, then what matters are fine-tunings and customizations. After they stacked a lot of these customizations, it is unlikely that they will change technology.

For small shops and startups, the choice of the perfect tech is more important, because they have less resources for adapting it to their needs, in case there are problems.
 
Alain De Vos, yes, and as anyone who has looked for a job in the last 10 years knows, Linux jobs are FAR more common than FreeBSD (or any BSD) jobs. By the way, do you know Ansible? We've used it where I work, but the person who knew it well has gone to another company, though still available to us as a consultant. Unfortunately, for me, I'm considered the ansible person, because I worked with him a lot. But most of the time, we have to call upon him when something ansible related breaks.
(I'm asking out of curiosity, not with the thought that I'll bother you with ansible questions). :)
 
If you build a system with FreeBSD Jails and Ansible, you are essentially building your own lightweight container platform:
Probably a better comparison is with Salt, instead of Ansible. In Salt the minions (i.e. containers, devices, hosts, and so on) reports the status to their master (i.e. the control-plane), and there are rules about the services they provide and the action to do if there are problems.

I tried to use Salt for a hobby project, but it was rather complicated.
 
Back
Top