På ett tidigare företag bestämde sig teknikchefen och huvudingenjörerna för att dela upp vår Ruby on Rails-applikation i ett Go-mikrotjänstnät.
De skapade mycket detaljerade designdokument och arkitekturdiagram. De gick all in och använde Kubernetes, gRPC, servicemallar, hela skiten.
Hela den högsta ingenjörsledningen kom från Amazon, där de var vana vid att varje team ägde en distinkt tjänst. De försökte tillämpa den modellen direkt. Men våra problem var med kodägande och dålig domänmodellering.
Hela applikationen kunde ha körts på bara en handfull EC2-instanser.
Vad blev resultatet?
Fem år senare körs 70 % av applikationen fortfarande på monoliten Ruby on Rails. Migreringen slutfördes aldrig. Men nu måste de underhålla två system.
Ingen av de ursprungliga ledarna arbetar där längre.