Slide 1

Slide 1 text

Self Contained Systems with Jan Stępień
 @janstepien

Slide 2

Slide 2 text

@innoQ @cljmuc

Slide 3

Slide 3 text

Func%onal
 programming Genera%ve tes%ng So5ware architecture

Slide 4

Slide 4 text

Func%onal
 programming Genera%ve tes%ng So5ware architecture
 of distributed
 web applica%ons

Slide 5

Slide 5 text

μservices in all shapes and sizes 1. Ne0lix 2. Fred George 3. Serverless 4. Bounded contexts

Slide 6

Slide 6 text

a μservice is a fairly broad term 1. μservices must
 be independently
 deployable

Slide 7

Slide 7 text

If you reach this state,
 there is no denying
 that you have actually built
 a distributed monolith. — Daniel Westheide
 The perils of shared code

Slide 8

Slide 8 text

Self-Contained Systems

Slide 9

Slide 9 text

An autonomous
 web applica9on

Slide 10

Slide 10 text

Encompasses UI,
 logic, and data

Slide 11

Slide 11 text

Owned by
 a single team

Slide 12

Slide 12 text

Minimised shared infrastructure

Slide 13

Slide 13 text

Systems share no business code

Slide 14

Slide 14 text

Aside from a web UI,


Slide 15

Slide 15 text

Aside from a web UI,
 an op9onal API

Slide 16

Slide 16 text

Loose integra9on
 and no shared UI

Slide 17

Slide 17 text

Asynchronous communica9on

Slide 18

Slide 18 text

Why should we care? — I’m asking

Slide 19

Slide 19 text

Higher reliability
 and lower latency

Slide 20

Slide 20 text

Loose UI
 integra9on

Slide 21

Slide 21 text

Integra9on through links

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

Integra9on through transclusion

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

Domain-driven separa9on

Slide 26

Slide 26 text

Local decisions

Slide 27

Slide 27 text

Independence and replaceability

Slide 28

Slide 28 text

Gradual
 migra9on

Slide 29

Slide 29 text

An e-commerce example Search Products Cart Payment Home

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

Self Contained Systems @janstepien janstepien.com