torsdag 19 maj 2011

Integration och KISS-principen

För tre år sedan var jag med och upphandlade en integrationsplattform baserad på avancerade kö-mekanismer och datatransformeringsverktyg. Det blev dyrt, och krävde en rejäl utvecklingsinsats för att få fart på några integrationstjänster för att hantera ett orderflöde. Vi pratar om investeringar i 10 miljonersklassen här för licenser och inhyrda expertkonsulter, och flera hundratusen kr per år i supportkostnad till leverantören. Den delen av verksamheten som nyttjade integrationerna blev inom kort såld till ett betydligt mindre företag som inte hade råd att betala de dyra licenspengarna för att behålla integrationsplattformen. Istället satte sig en av deras utvecklare och skrev om hela integrationlösningen från scratch, baserat på standardfunktioner i .NET. Det tog tre månader och sedan kunde de stänga ner den tidigare lösningen.

Parallellt med detta var jag med om att bygga nästa integrationslösning baserat på den dyra integrationsplattformen. Det var jobbigt och tog lång tid, ungefär ett år. Under tiden började jag tveka på om vi verkligen var på rätt spår. Kanske det fanns en enklare lösning även för oss? Det kändes som att allt var så tillkrånglat i den här dyra fina integrationplattformen. Det var svårt att förstå hur lösningarna fungerade, svårt att debugga, svårt att versionshantera, svårt att deploya, svårt att utveckla tillsammans i team. Plattformen var dessutom inte särskilt stabil, så det var med viss nervositet som man gick på semester.

Vi tog till slut ett beslut som innebar att även vi byggde om alltihopa i ren .NET. Det tog åtta veckor, och efter det har lösningen bara snurrat. Nu tar vi nästa steg och bygger en ny integrationslösning direkt i denna .NET-arkitektur, och det ser lovande ut! Vi tror att vi ska vara klara på 6 veckor. Lösningarna är tillräckligt enkla för  att vi ska kunna förvalta dem med egen personal, och vi är inte längre beroende av någon leverantör. Avtalen med leverantören av den tidigare integrationplattformen är nu uppsagda.

Vad är då sensmoralen i denna historia? Jo: Keep It Simple and Stupid. Även kallat KISS-principen.

Har ni liknande erfarenheter av dyra, komplexa infrastrukturplattformar? Kommentera gärna!

Inga kommentarer:

Skicka en kommentar