Microservices and the Web (lecture 4)

5.0(1)
studied byStudied by 4 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/22

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

23 Terms

1
New cards

A service

Doing something for someone else when requested, here an IT system does something for another IT system on request

2
New cards

RPC

Remote Procedure Call - execute code on another computer connected over a network

3
New cards

API

Application Programming Interface - the things you need to do to call code on another computer

4
New cards

Space coupling (time-coupled)

Communication directed towards a receiver that exists at that moment in time - message passing, remote invocation

5
New cards

Space coupling (time-uncoupled)

Communication directed towards a receiver that can have an independent lifetime

6
New cards

Space uncoupling (time-coupled)

Sender does not need to know receivers identity, but receiver must exist at the point in time

7
New cards

Space uncoupling (time-uncoupled)

Sender does not need to know the identity of the receiver, sender and receiver can have independent lifetimes

8
New cards

Reliability

Tolerating hardware and software faults | Human error

9
New cards

Scalability

Measuring load and performance | Latency percentiles, throughput

10
New cards

Maintainability

Operability, simplicity and evolvability

11
New cards

RPC goal

Transparency through failure masking

12
New cards

HTTP resource

An artifact with state, fx. a document, an image, an airplane booking…

Interaction through CRUD (create, read, update, delete)

13
New cards

HTTP safety

CRUD (create, read, update, delete) is supposed to be idempotent (no additional effect if repeated)

GET and HEAD supposed to have no side-effects

14
New cards

IDL (gRPC)

Interface Definition Language - define messages

15
New cards

Cloud Native

Uses containers, service meshes, microservices, immutable infrastructure to enable loosely coupled systems that are resilient, manageable and observable

16
New cards

Monolithic application

Puts all functionality into single process - scaled by replicating monolith on several servers

17
New cards

Microservices

Puts each element of functionality into a separate service - scaled by distributing services across servers, only replicating when needed

Small, independent, and loosely coupled.

Internal implementation details are hidden.

18
New cards

Microservice philosophy

Service with some philosophy

Business flexibility

Lifecycle - independent changes

High cohesion, low coupling

19
New cards

Microservice downsides

Complexity

Testing

(Lack of) governance

Network load

Data integrity

Versioning

20
New cards

Componentization

Build systems by plugging components together

21
New cards

Products vs projects

Products! Projects end, software stays.

22
New cards

Pipes responsibility

Only transportation, fx. message routing

23
New cards

Synchronous?

Harmful

Time and space decoupled

Multiplies downtime

Implies waiting

You don’t need it!