De kern van de uitdaging ligt in de inherente complexiteit van moderne softwarearchitecturen. In tegenstelling tot traditionele monolithische toepassingen, die relatief op zichzelf staand en voorspelbaar zijn, bestaan de systemen van vandaag uit een veelvoud van onderling verbonden services, elk met zijn eigen afhankelijkheden, configuraties en levenscycli. Deze gedistribueerde aard introduceert een geheel nieuw niveau van complexiteit, waardoor het steeds moeilijker wordt om consistentie, betrouwbaarheid en beveiliging over de gehele softwarestack te waarborgen.
Neem bijvoorbeeld een typische op microservices gebaseerde toepassing die draait in een gecontaineriseerde omgeving. Elke microservice kan zelfstandig worden geïmplementeerd, met zijn eigen set afhankelijkheden en configuraties. Het beheren van de interacties tussen deze services, het waarborgen van compatibiliteit tussen verschillende versies en het handhaven van consistentie in omgevingen kan snel overweldigend worden, vooral naarmate het aantal services toeneemt.