Once again, the bad implications of a seemingly good idea come to bite us.
Once again, the bad implications of a seemingly good idea come to bite us.
All of these go away with a service mesh and sidecar model where the everything is encrypted for you and certificates are completely managed by the service mesh. No need to roll your own PKI. Your app only needs to speak plain HTTP and from it's perspective every other app is also just speaking plain HTTP, no TLS in sight. It makes developers' jobs a lot easier, only concentrating on shipping features vs. wrangling with TLS.
Saying all of that, you could just roll your own fine. Depending on the competency of your company.
It might take years of trying to avoid TLS to learn that all the alternatives are far worse. So—yes, just bite the bullet, it's not that bad once you internalize the model, and you really only need to solve this once per organization.
There's no way I'd trust random developer to implement mTLS properly.
If adding basic mTLS security to every service is that much of a pain, maybe you have too many of those?
Reading that comment, I sort of understand why people don't do this because it takes some understanding of HTTPS and cryptography to do this properly.
If this doesn't look like a real thing to you, congratulations, you are in a well run organization that doesn't have this problem.
Anyway, whether the costs of this thing are worth the gain, I have no idea.