| I firmly believe that us at Molnett(serverless cloud) going for a strict monorepo built with Bazel has been paramount to us being able to make the platform with a small team of ~1.5 full-time engineers. We can start the entire platform, Kubernetes operators and all, locally on our laptops using Tilt + Bazel + Kind. This works on both Mac and Linux. This means we can validate essentially all functionality, even our Bottlerocket-based OS with Firecracker, locally without requiring a personal development cluster or such. We have made this tool layer which means if I run `go` or `kubectl` while in our repo, it's built and provided by Bazel itself. This means that all of us are always on the same version of tools, and we never have to maintain local installations. It's been a HUGE blessing. It has taken some effort, will take continuous effort and to be fair it has been crucial to have an ex Google SRE on the team.
I would never want to work in another way in the future. EDIT: To clarify, our repo is essentially only Golang, Bash and Rust. |
Yes, with one and a half FTEs you should only have a single repo.
My experience with Bazel has been extremely bad, but I don’t think that it should necessarily be avoided completely. It may actually have some value on extremely large multi-team projects. But for less than two FTEs it seems like massive overkill.
I believe that you could do what you need with Kind (and maybe Tilt?), without Bazel.
> We have made this tool layer which means if I run `go` or `kubectl` while in our repo, it's built and provided by Bazel itself. This means that all of us are always on the same version of tools, and we never have to maintain local installations.
Go kind of does that for you already, with go.mod. Since kubectl is a Go program, you could achieve that goal the same way.
> it has been crucial to have an ex Google SRE on the team
I wonder how many additional team members y’all could afford in return for an ex-Googler’s salary expectations.
I sincerely hope that y’all find the maintenance expense of Bazel to be worth it going forward. Hopefully you will!