A snapshot of modern DevOps practices today
about.gitlab.com
about.gitlab.com
Here's a real snapshot. It’s terraform modules into one repo, terraform configuration into a separate one, the application in another, and helm configuration in yet another.
Opening 4 PRs, copy-pasting outputs of the first's CI run into the seconds yaml, shuffling secrets into vault, realizing you got the PR order wrong so you have to open a whitespace/noop PR to trigger the CI to run again.
All the while complaining that devs don't like to look at your house if cards let alone orchestrate a change without help and throwing artificial blockers up when solutions that would automate the process are proposed.
How do you think it should be done?
Downside is it requires you come up with a structure and a bit of discipline to maintain coherence.
If you use codeowners and your CI can include other files, then most of the downsides go away, besides the repo size itself.
Multirepo is a bit easier to understand per item. You can have one single CI file, and don't need codeowners, but you move a lot of burden to test, deploy and run.
If your SCM supports codeowners and CI supports includes, I'd stick closer to mono-repos, and only break out things when it's helpful a D you obviously wouldn't change together.
Think services rather than micro.
Roughly 66% of our 2022 DevSecOps Survey respondents told us their DevOps practices include a low code/no code tool. And that’s going to spread to all teams in the coming years. “Citizen development is a logical evolution of how enterprises deliver apps and enable digital business,” Forrester Research said in "The Future of DevOps.
So, it is DevOps, without Development. Makes total sense that it is not Ops so...