Hoppa till innehållet

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.

Katharina Weber1 min läsning
Ljus kub med två blå horisontella skiljelinjer och en lätt blåskuggad sida.

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

Skriven av

  • Katharina WeberRedaktör för mjukvara och teknikKatharina Weber ansvarar för artiklarna om mjukvaruutveckling på ASES. Hon skriver om de frågor företag ställs inför när de väljer mjukvara, utvecklar nya applikationer och moderniserar befintliga system.

Följ ASES

Läs vidare

Alla artiklar

Mjukvaruutveckling med ASES

Skräddarsydd programvara, webb- och mobilappar