H5: Microservices Flashcards

(29 cards)

1
Q

Wat zijn de voordelen en nadelen van een Monolith? (3 + 3)

A

+ Well known structure (layered)
+ IDE Friendly
+ Easy sharing, deployment, testing
- Limited Agility
- Moeilijk voor continue delivery
- Je zit vast met een stack

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

Waarom Service over library? (3)

A
  • Hoeft niet te redeployen bij library change
  • Onafhankelijk deploybaar
  • Expliciete component interface
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wat is het verschil tussen microservices en ESB aanpak?

A

Dumb services, Smart pipes vs Smart services, Dumb pipes

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

Welke invloed heeft decentralized governance op teams?

A

Je krijgt meer cross-functional teams

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

Wat zijn de 4 eigenschappen van de Reactive Manifesto? Welke volgorde? Waar staan ze voor?

A

Responsive:
Het systeem reageert in een tijdige manier.
- Lazy Loading
- Progress show
- Trage services slowen rest niet down
Elastic:
Het blijft reagerend onder workload. Misschien zelf predictive scaling.
- Resources scalen met input
- Load balancing
- No contention points en centrale bottlenecks
Resilient:
Elke service kan failen, detect deze failures snel door monitoring. Er zijn altijd fall back services.
- Chaos monkeys
- Best manier tegen failures is je systeem proberen breken.
Message Driven:
- Asynchrone message passing tussen components
- Dit zorgt voor loose coupling, isolatie en locatie transparantie

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

Wat heeft netflix gedaan voor resilience? (4)

A

Ze hadden een simian army:
- Chaos Monkey: Laat random services failen
- Latency Monkey: Artificiele delays
- Janitor Monkey: Verwijderd ongebruikte resources
- Security Monkey: Zoekt veiligheids issues

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

Wat is het verschil tussen VM’s en containers?

A
  • Virtualisatie van hardware
  • Flexible, Robust en safe
    vs
  • Lightweight
  • Gebruikt onderliggend OS host
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wat is het verschil tussen:
- Type 1 Hypervisor
- Type 2 Hypervisor
- OS-level integration

A
  • Heeft geen onderliggend OS, in cloud gebruikt
  • Heeft onderliggend OS (bijvoorbeeld VM-box)
  • Gebruikt OS van Host (Docker)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wat zijn pros en cons van containers? (2 + 1)

A

+ Flexibel: Je kan een container of systeem containeriseren
+ Lightweight: Geen OS in container, libraries en bins zijn shared, net genoeg OS om te werken
- Kan geen ander OS dan de host OS gebruiken.

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

Wat is de container checklist en welke zaken vallen hieronder? (6)

A

Processes:
- Zorg dat een minimum aan processen runt
Throttling / limits:
- Geen noisy neighbours
Prioritization:
- Geef belangrijke pods hogere priority
Resource Isolation:
- Afzonderlijke resources
Root File System:
- De root van de container is onafhankelijk van de host, maar kan gemount worden
Security:
- Containers zijn protected

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

Wat zijn linux control groups? (6)

A

Kernel features die de volgende zaken doen:
- Device Access
- Resource limiting
- Prioritization
- Accounting: Resource Usage per group
- Control: Freezing en Checkpointing
- Injection: Packet tagging

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

Wat valt er bij linux cgroups onder CPU control? (5)

A
  • CPU verdelen en porties prio geven
  • Scheduling uitvoeren
  • SLA luisteren
  • Containers / Jobs aan CPU cores linken
  • Core switching cost verlagen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wat valt er bij linux cgroups onder Device Access? (3)

A
  • Devises Isoleren / minder visible maken
  • Veilige sharing
  • Device blacklist / whitelist
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wat is een linux namespace?

A

Het is een mannier om resources op te delen zodat ze behoren tot een deelverzameling van de taken.

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

Welke opties zijn er voor linux namespaces? (6)

A
  • MNT: mount points, file systems, …
  • PID: Process ID
  • NET: NIC, routing
  • IPC: Inter process communication, queues enzovoort
  • UTS: Host en domain name
  • USER: UID en GID
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wat doen pivot_root en chroot?

A
  • Copied root direct naar MNT namespace
  • pivot_root heeft geen parent
17
Q

Hoe zorgen we ervoor dat processen in containers blijven? (2)

A

Linux Security Modules:
- Mandatory Access Control
- Definieert capabilities per process.

18
Q

Wat is horizontal scaling

A

Adding extra computing power to the current nodes

19
Q

Wat is vertical scaling?

A

Adding extra computing components

20
Q

Definitie Microservice?

A

Een manier van software applicatie designing als groepen van onafhankelijk deploybare services.

21
Q

Wat is een component?

A

Een deel software dat individueel vervangbaar is en upgradebaar.

22
Q

Wat is een ESB?

A

Een architectuur waar alle messaging via een centrale messaging backbone gedaan wrodt. (Enterprise Service Bus)

23
Q

What is polyglot persistence

A

Right tool for the right job op gebied van databases

24
Q

Wat is Reactive Manifesto (zonder de eig)

A

Knowledge -> highly scaling en flexible applications

25
Wat is Contininious integration?
Integrating, testing and building the code in the dev environment
26
Wat is continious delivery?
Software can be released at any time to prod
27
Wat is continious deployment?
Software is automatically deployed to productions
28
Wat zijn voordelen van decentralized government? (4)
- Elke service kiest de jusite technlogie - Service contract definieerd de interface - Laat andere conceptuele modellen toe voor zelfde identiteit (customer is bv anders voor sales als support) - Polyglot persistence
29