Van Monolith naar MicroServices

Herken je dit? Er is een software platform geprogrammeerd als één groot, onoverzichtelijk oerwoud van code, dat al een tijdje ingebruik is. De "klomp" Code wordt van tijd tot tijd uitgebreid met nieuwe functionaliteiten/Services. Je hoort van eindgebruikers dat het systeem steeds trager wordt en het aantal server-overloads (= down-time) stijgt en stijgt maar.
Het is een feit: je hebt hier te maken met een zogenaamde "Monolith". Functionaliteiten/Services hebben brokken Code van de rest van het systeem nodig om hun Output te genereren en ze maken vaak gebruik van één of enkele Databases.
Je hoort Developers die een nieuwe functionaliteit/Serivice aan het coderen zijn vaak klagen over de wirwar van dependencies (onderlinge afhankelijkheden van codes) en het gebrek aan mogelijkheid om te coderen in verschillende programmeertalen.
En er verschijnen telkens veel bugs bij het testen, hetgeen tot gevolg heeft dat bug fixen veel tijd kost (= veel geld kost).
DE OPLOSSING: transformatie van lompe "Monolith" naar Agile MicroServices.
Het MicroServices concept deelt alle Service op in onafhankelijke stukken Code en Databases, die onderling met elkaar communiceren, als een soort orkest met allerlei verschillende soorten instrumenten, die op zichzelf kunnen spelen, op het moment dat ze nodig zijn. Hierbij maakt Gecko Company gebruik van Cubernetes methodieken (uit de wereldwijd geroemde DevOps ideologie).
Je kunt in de basis 3 varianten kiezen, die elk hun pro's en con's hebben:
1) MicroServices met een Shared Database: meest eenvoudige data architectuur binnen MicroServices.
2) MicroServices met Synchronous Integration: betere opdeling van Services en Databases, complexere data architectuur en API's.
3) MicroServices met Asynchronous Integration: beste opdeling van Services en Databases, complexe data architectuur en API's.
"En wat levert dat op dan?" hoor ik je denken. Nou, dat is kort door de bocht:
1) Veel sneller werkend IT platform/systeem
2) Geen of nauwelijks down-time door Server-Overloads
3) Veel gemakkelijker onderhoud (= functionaliteiten/Services verbeteren)
4) Veel gemakkelijker functionaliteiten/Services toevoegen
5) Veel gemakkelijker en zonder "angst" Services verwijderen die niet meer nodig zijn
6) Veel hogere Server-Load capaciteit (= aantal eindgebruikers, die tegelijkertijd je functionaliteiten/Services kunnen gebruiken)
7) Veel minder bugs en daardoor veel minder bug fixing = veel lagere kosten
Wil je hier meer over weten, of wil je je "Monolith" transformeren naar MicroSystems?
Ga naar: www.gecko-company.com
òf
Bel: 026 8440404
òf
Email naar: customer.care@gecko-company.com
òf
Laat een berichtje achter onder deze post...
Agile, Lean, data-driven Software & Business Development, based on Timeless Principles.
Comentários