Bij een vorig bedrijf besloten de hoofdingenieur en de hoofdingeneurs om onze Ruby on Rails-applicatie op te splitsen in een Go-microservicesmesh.
Ze maakten zeer gedetailleerde ontwerpdocumenten en architectuurdiagrammen. Ze gingen helemaal los en gebruikten Kubernetes, gRPC, servicetemplates, de hele mikmak.
De hele senior engineeringleiding kwam van Amazon, waar ze gewend waren dat elk team een distincte service bezat. Ze probeerden dat model direct toe te passen. Maar onze problemen lagen bij code-eigenaarschap en slechte domeinmodellering.
De hele applicatie had op slechts een handvol EC2-instanties kunnen draaien.
Wat was het resultaat?
Vijf jaar later draait 70% van de applicatie nog steeds op de Ruby on Rails-monoliet. De migratie is nooit voltooid. Maar nu moeten ze twee systemen onderhouden.
Geen van de oorspronkelijke leidinggevenden werkt daar nog.