Datalager-API

Status

decided

Impact

Medium

Driver

@Jakob Melander

Approver

@Per Persson

Contributors

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

Informed

Due date

Mar 4, 2022

Resources

Outcome

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

 Bakgrund

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

 Alternativ

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.

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.

 

Alternativ 1

Alternativ 2a

Alternativ 2b

 

Alternativ 1

Alternativ 2a

Alternativ 2b

Pros and cons

Korrekt funktionsallokering

Inga beroenden mellan olika team

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

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

Resursfrågan mindre akut

Funktionsallokering/
ansvarsfördelning alls inte optimal

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

Resursfrågan minst akut

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

 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.