Comment by adityaathalye

7 hours ago

Old skool is best skool... There is wisdom in keeping these decoupled:

- 1. your central code review (and hosting), which is the critical choke-point on team collaboration.

versus

- 2. the ever-expanding ick of testing, building, deploying it etc... because failure modes of software construction infra are concentrated here.

  ---

1. Code review (and hosting): Keep this in-house always.

Use Gerrit if you care about code review.

Code review workflow is the nub / hub of collaboration, and should never be blocked on anything else failing, including itself. Maintaining robust in-house code review infra. is work, yes, but it is quite manageable. Simple "single-box with full point-in-time snapshot recovery" designs will remain good for a long, long time... Think; workloads of teams of up to a few hundred programmers and bots, who would be pushing and pulling updates against multiple repositories at a time on a single, well-endowed, Gerrit box.

2. CI/CD: Use whatever works best economically.

Be it one giant in-house box running Jenkins, or a clever way to use github and gitlab's job infra as fallbacks for each other.

These systems fail often because pretty much all the ick of software construction is concentrated here. Be it simple test runners, or fancy end-to-end auto-deploy to rollback pipelines.

The mind-numbing ick of software supply chain dependencies, test run jobs, build jobs, failures / retries, bursts of high contention (lots of people / bots needing their test runs passing NOW), pulling and pushing artefacts, and so forth.

This is a true pain to manage, particularly in organisations that are laissez-faire about their software ecosystem ("best tool for the job" mentality etc.).

And on a personal note...

  --- <begin rant> ---

I strongly prefer to keep it all in-house. Proprietary software is oil - capital. Own it fully, no exceptions. This was true "back then", and it has become even more business-critical now, for obvious reasons.

As if trusting enterprise chat SaaSes with all your company secrets wasn't bad enough. At least that has some contractual defensibility.

Had. Had... Now? Something is deeply wrong with people who aren't completely spooked by the current fad of letting hyperscalers steal literally everyone's data to make content and code re-production autobots. Based on how those companies have behaved from the get-go, and factoring in the overwhelming pressure the LLM industry has created to "become the biggest, no matter what, because biggest wins"; their "terms of service" are as good as their high-flying CEO's mood on a given day.

No thanks.

Besides, it's only been a hot minute since I adjusted to that other fait acompli of 21st century computing.

They who controleth thy hypervisor, controleth thy destiny.

--- Ye Olde Graybeard Wisdom

  --- <end rant> ---

(edit: fix formatting, typos)