Välj mikrotjänster utifrån oberoende ändringar
Undersök separata tjänster när verksamhetsgränser, dataansvar och behov av oberoende driftsättning passar ihop.

Vilken ändring ska kunna ske oberoende?
Att fördela en applikation på tjänster skapar inte i sig oberoende utveckling. Måste samma personer ändra och driftsätta alla tjänster tillsammans vid varje prisregel, finns samordningen kvar. Nätverksanrop och fler driftuppgifter tillkommer.
Microsoft beskriver oberoende driftsättning och eget dataansvar som viktiga kännetecken. Vi föreslår därför en konkret ändring som utgångspunkt: Vilket verksamhetsområde ska kunna bära den utan samtidiga anpassningar på andra håll?
Exempel: offerter och order hålls först ihop
Produkten och arbetssättet är påhittade. Ett team sköter offerter, order och rapporter. Prisregler ändras gemensamt i offert och order. Rapportformat har andra ändringsbehov.
Observerad gräns i exemplet | Preliminärt beslut | Vad som måste stödja beslutet |
|---|---|---|
Offerter och order delar samma verksamhetsmässiga prisändring. | Driftsätt tillsammans med tydliga interna moduler. | Ansvar och åtkomst mellan moduler är uttryckligen reglerade. |
Rapportformat kan ändras oberoende. | En egen modul; undersök separat tjänst vid visat behov. | Stabilt datagränssnitt, driftansvar och nödvändig dataaktualitet är klargjorda. |
I planen förblir applikationen först en modulär monolit: inre gränser, gemensam driftsättning. Spring Modulith visar skillnaden mellan offentligt modulgränssnitt och intern implementering. Att beskriva separationen är användbart utan att välja just det verktyget.
Ta med driften i beslutet
En separat rapporttjänst måste kunna hantera fel i sin datakälla. Någon behöver ansvara för driftsättning, övervakning och felutredning. Teamet behöver också regler för gamla och nya gränssnittsversioner under en övergång. En separat process uppfyller inte ensam villkoren.
Dokumentera skälet till en senare uppdelning, exempelvis verkligt behov av oberoende driftsättning eller belastning som kräver annan hantering. Pröva koppling, dataåtkomst och driftarbete igen. Även gemensamt driftsatta moduler kan vara tydligt strukturerade. En väl avgränsad tjänst kan vara motiverad innan resten delas upp. Antalet tjänster mäter inte beslutets kvalitet.
Källor
Läs vidare
Alla artiklar


Mjukvaruutveckling med ASES
Skräddarsydd programvara, webb- och mobilappar


