Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Page Properties

Status

Status
colourYellowGreen
titleIn progressdecided

Impact

Status
colourYellow
titleMedium

Driver

Jakob Melander

Approver

Per Persson

Contributors

Adam Hedesand Stålhult (Unlicensed) Ronny Lundberg (Unlicensed)

Informed

Due date

Resources

Outcome

API-teamet bygger APIerna och går mot vyer i Datalagret

\uD83D\uDCD8 Bakgrund

Vi behöver besluta om hur vi exponerar APIer för Datalagret.

...

Alternativ 1 - datalagret bygger och förvaltar sitt eget API

Datalagrets APIer byggs och förvaltas (inklusive livscykelhanteras i API Manager) 100% inom Datalager-objektet.

Gliffy
imageAttachmentIdatt949911583
macroId6ac7786f-88aa-437d-8eed-a9d57f4cddb8
baseUrlhttps://sundsvall.atlassian.net/wiki
namedatalagerAPIalt1
diagramAttachmentIdatt950403078
containerId950042626
timestamp1646294642042

Alternativ 2 (a och b) - API-teamen bygger och förvaltar Datalagrets API

Datalagret ansvarar för datat och databasen.

API-teamen ansvarar för Datalagrets APIer och dess livscykelhanteras.

Alternativ a och b representerar två olika sätt att integrera våra mikrotjänster med Datalagrets databas:

  • Alternativ a: Datalagret bygger specifika vyer i databasen för det data som skall hämtas från en mikrotjänst i samtliga fall.

  • Alternativ b: Mikrotjänsterna går direkt mot tabeller och kolumner i Datalagrets databas om inte en vy krävs av prestandaskäl.

Gliffy
imageAttachmentIdatt950042682
macroId16a2522e-d5d4-41ac-a311-ed1b287cedfe
baseUrlhttps://sundsvall.atlassian.net/wiki
namedatalagerAPIaltAB
diagramAttachmentIdatt950370314
containerId950042626
timestamp1646303858168

Alternativ 1

Alternativ 2a

Alternativ 2b

Pros and cons

(plus) Korrekt funktionsallokering

(plus) Inga beroenden mellan olika team

(minus) Frågan om utökat driftansvar för BODIL-maskinen måste redan ut

(minus) Resursbrist i hos Datalagret (är väl bara Joel som är aktuell för utvecklingen just nu)

(plus) Resursfrågan mindre akut

(minus) Funktionsallokering/
ansvarsfördelning alls inte optimal

(minus) Dubbel utveckling för varje ny datamängd (skapa vy i Datalagret samt logik i mikrotjänst)

(plus) Resursfrågan minst akut

(minus) Funktionsallokering/
ansvarsfördelning alls inte optimal

Utvärdering

Data samt dess API hanteras inom samma objektförvaltning, vilket talar för detta alternativ

Att alltid behöva utveckla på två ställen när en ny datamängd skall exponeras är det dyraste alternativet. Ansvarsdelningen är inte optimal

Kompetens- och resursmässigt är detta den bästa lösningen - dock är ansvarsdelningen inte optimal

✅ Action items

  •  

\uD83C\uDF1F Outcome

Alternativ 2a

Motivering:

  • Saknas kompetens inom Datalagret för API-utveckling i dag, och det är i dagsläget inte ekonomiskt rimligt att ta in nya resurser bara för detta

  • Alternativ 2b går bort ur säkerhetssynpunkt

Att diskutera vidare:

  • Livscykelhantering samt incidenthantering för dessa APIer måste redas ut då det blir ett delat ägande av funktionen som helhet.