F6 Tjänstedesign Flashcards

1
Q

Vad är maintainability inom tjänstedesign?

A

Maintainability är förmågan hos ett system att enkelt kunna underhållas över tid så att det behåller sin funktionalitet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Vad är extensibility inom tjänstedesign?

A

Extensibility är möjligheten att enkelt kunna lägga till ny funktionalitet i systemet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Vad är portability inom tjänstedesign?

A

Portability innebär att mjukvaran kan modifieras (”portas”) så att den kan köras på en annan plattform, till exempel genom att byta databas eller operativsystem.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Vad är interoperability inom tjänstedesign?

A

Interoperability är systemets förmåga att kunna kopplas samman och fungera tillsammans med andra system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Vad innebär availability inom tjänstedesign?

A

Availability avser systemets tillgänglighet, ofta mätt i ”uptime” – hur mycket tid systemet är i drift.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Vad är scalability inom tjänstedesign?

A

Scalability är systemets förmåga att hantera ett ökat antal användare eller en ökad mängd data utan att prestandan försämras.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Vad innebär performance inom tjänstedesign?

A

Performance handlar om hur snabbt systemet kan hantera en begäran – det vill säga svarstiden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Varför är discoverability viktigt inom tjänstedesign?

A

Discoverability gör det lättare att hitta och ansluta till tjänster genom ett sökbart register, ofta kallat servicekatalog eller service inventory.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Ge exempel på servicekataloger.

A

Exempel på servicekataloger inkluderar ProgrammableWeb, Stockholms stad och Dataportalen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Vad är composability inom tjänstedesign?

Sammansättningsbarhet

A

Composability innebär att tjänster designas så att de enkelt kan kombineras och användas tillsammans.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Ge exempel på hur composability kan implementeras.

A

Ett exempel är att skapa grundläggande tjänster för vanliga koncept som ”kunder” och ”beställningar” samt att spegla affärsprocesser genom att kombinera dessa i process-tjänster.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Vad innebär autonomy inom tjänstedesign?

självständighet

A

Autonomy innebär att tjänster bör dela så få resurser som möjligt för att minska risken att ett fel i en resurs påverkar andra tjänster.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Ge exempel på olika nivåer av autonomy inom tjänstedesign.

A

a) Delad databas, separata servrar

b) Delad server, separata databaser

c) ”Shared nothing” – helt autonoma tjänster

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Vad är abstraction inom tjänstedesign?

A

Abstraction innebär att dölja all information som inte är absolut nödvändig för att använda tjänsten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Vilka tre typer av abstraction finns inom tjänstedesign?

A

Funktionell – Vilka operationer/metoder tjänsten erbjuder

Programmatisk – Hur tjänsten utför sitt arbete

Teknisk – Vilken teknik som används för att implementera tjänsten

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Vad innebär loose coupling inom tjänstedesign?

A

Loose coupling minskar beroenden mellan tjänster genom exempelvis fysisk decoupling, asynkron meddelandehantering och standardiserade gränssnitt.

17
Q

Vilka är fördelarna och nackdelarna med loose coupling?

A

Fördelar: Minskar behovet av att uppdatera en tjänst vid förändringar i omgivningen.

Nackdelar: Ökar den tekniska komplexiteten.

18
Q

Vad innebär statelessness inom tjänstedesign?

A

Statelessness betyder att en tjänst inte lagrar någon intern tillståndsinformation mellan anrop, vilket gör den mer skalbar och minskar minnesförbrukningen.

19
Q

Vad är skillnaden mellan stateful och stateless?

A

Stateful: Systemet sparar information om tidigare interaktioner.

Stateless: Varje begäran hanteras utan hänvisning till tidigare interaktioner.

20
Q

Vad är BDUF och varför är det ett problem inom tjänstedesign?

A

BDUF (Big Design Up Front) innebär att all design görs i förväg, vilket kan vara ineffektivt eftersom det är svårt att förutsäga vilka tjänstefunktioner som kommer att vara mest värdefulla.

21
Q

Varför kan tjänstedesign bli kostsamt?

A

Att implementera alla tjänstedesignprinciper i alla situationer kan bli dyrt. Det är viktigt att veta när det är värt att göra avvägningar.

22
Q

Hur kan tjänstedesignprinciper tillämpas på en taxitjänst?

A

Autonomy: Varje taxibil hanterar sina egna bokningar.

Composability: Boknings-, betalnings- och karttjänster kan kombineras.

Abstraction: Kunden ser bara bokningsgränssnittet, inte de interna processerna.

Statelessness: Varje resa hanteras oberoende av tidigare resor.

Discoverability: En tjänstekatalog listar tillgängliga taxibolag

23
Q

Vad är en service contract?

A

En service contract definierar regler för hur en tjänst ska användas, både tekniskt (t.ex. WSDL, XML Schema) och affärsmässigt (t.ex. SLA).

24
Q

Vad är WSDL?

A

Web Services Description Language (WSDL) är ett XML-baserat språk för att beskriva webbtjänster och hur man anropar dem.

25
Q

Vad är Design-by-Contract (DbC)?

A

DbC innebär att tjänster har tydliga avtal med preconditions och postconditions som styr deras beteende.

26
Q

Vad är ett problem med otydliga kontrakt i tjänstedesign?

A

Om kontrakten är otydliga kan det bli svårt att veta vilka indata som är giltiga och vilka resultat som kan förväntas, vilket kan leda till felaktig användning.

27
Q

Hur kan ett servicekontrakt formuleras tydligare?

A

Genom att definiera preconditions (vilka krav som måste vara uppfyllda innan anrop) och postconditions (vilka resultat som kan förväntas).

28
Q

Var finns API-dokumentation idag jämfört med tidigare?

A

Tidigare tillhandahöll tjänsteleverantörer officiell dokumentation, men idag finns mycket dokumentation på sociala medier och bloggar.

29
Q

Vad är microservices?

A

Microservices är en arkitektur där systemet består av små, oberoende tjänster som kommunicerar via API:er.

30
Q

Vilka är de centrala principerna för microservices?

A

Autonomy – Varje mikrotjänst hanterar sin egen databas.

Composability – Enkla och effektiva anrop mellan mikrotjänster.

Statelessness – Förbättrad skalbarhet.

DevOps – Team ansvarar för hela livscykeln: utveckling, deployment och drift.

31
Q

Vad innebär “If you build it, you ship it” i DevOps?

A

Det innebär att utvecklingsteamet inte bara bygger tjänster, utan också ansvarar för att distribuera och övervaka dem i produktion.