Velg mikrotjenester ut fra uavhengige endringer
Undersøk separate tjenester når forretningsmessige grenser, dataansvar og behov for uavhengig utrulling passer sammen.

Hvilken endring skal kunne skje uavhengig?
Å fordele en applikasjon på tjenester gir ikke i seg selv uavhengig utvikling. Må de samme personene endre og rulle ut alle tjenestene sammen ved hver prisregel, består samordningen. Nettverkskall og flere driftsoppgaver kommer i tillegg.
Microsoft beskriver uavhengig utrulling og eget dataansvar som viktige kjennetegn. Vi foreslår derfor å begynne med en konkret endring: Hvilket fagområde skal kunne bære den uten samtidige tilpasninger andre steder?
Eksempel: tilbud og ordrer holdes foreløpig samlet
Produktet og arbeidsmåten er oppdiktet. Ett team vedlikeholder tilbud, ordrer og rapporter. Prisregler endres samlet i tilbud og ordre. Rapportformater har andre endringsbehov.
Observert grense i eksemplet | Foreløpig beslutning | Hva som må støtte beslutningen |
|---|---|---|
Tilbud og ordrer deler samme forretningsmessige prisendring. | Rull ut samlet med tydelige interne moduler. | Ansvar og tilgang mellom modulene er eksplisitt avklart. |
Rapportformater kan endres uavhengig. | En egen modul; vurder separat tjeneste ved dokumentert behov. | Stabilt datagrensesnitt, driftsansvar og nødvendig dataaktualitet er avklart. |
I planen forblir applikasjonen først en modulær monolitt: indre grenser, felles utrulling. Spring Modulith viser forskjellen mellom offentlig modulgrensesnitt og intern implementasjon. Å beskrive skillet er nyttig uten å velge akkurat dette verktøyet.
Ta med driften i beslutningen
En separat rapporttjeneste må kunne håndtere feil i datakilden sin. Noen må ha ansvar for utrulling, overvåking og feilavklaring. Teamet trenger også regler for gamle og nye grensesnittversjoner under en overgang. En separat prosess oppfyller ikke alene vilkårene.
Registrer grunnen til senere oppdeling, for eksempel et reelt behov for uavhengig utrulling eller en belastning som må håndteres annerledes. Vurder kobling, datatilgang og driftsinnsats på nytt. Også moduler som rulles ut sammen, kan være tydelig strukturert. En godt avgrenset tjeneste kan være begrunnet før resten deles opp. Antall tjenester måler ikke kvaliteten på denne beslutningen.
Kilder
Les videre
Alle artikler


Programvareutvikling med ASES
Skreddersydd programvare, web- og mobilapper


