You're 100% right about discipline. I work for a very undisciplined and border-line incompetent company that decided to roll out a microservices architecture, continuous delivery and devops culture into a behemoth enterprise product. This has simply been a disaster because the incumbent methodology has been hack it until it mostly works.
However, with respect to technology, some technologies do not lend themselves to these processes. .Net I'm looking at you here; you're a tangled build nightmare, a deployment clusterfuck, require too many resources to lift light tasks and most of your core as API is a mess of obsolete ideas,impossible to test abstractions and a bunch of dubious hand grenades (ReaderWriterLockSlim for example which has deadlocked on me numerous times and is the basis for concurrent collections).