SLIDE 1
Microservices: software that fits in your head Dan North @tastapod - - PowerPoint PPT Presentation
Microservices: software that fits in your head Dan North @tastapod - - PowerPoint PPT Presentation
Microservices: software that fits in your head Dan North @tastapod What is the point of software development? What is the purpose of software development? What is the purpose of software development? create business impact What is the
SLIDE 2
SLIDE 3
What is the purpose of software development?
SLIDE 4
business impact create
What is the purpose of software development?
SLIDE 5
business impact create positive
What is the purpose of software development?
SLIDE 6
What is the goal of software development?
SLIDE 7
What is the goal of software development?
to business impact minimise lead time
SLIDE 8
What is the goal of software development?
to business impact minimise lead time sustainably
SLIDE 9
The goal is not to produce software!
SLIDE 10
produce
SLIDE 11
produce production
SLIDE 12
produce production productive
SLIDE 13
≠ effective productive
SLIDE 14
Code is not the asset…
SLIDE 15
Code is not the asset… Code is the cost!
SLIDE 16
Code is not the asset… Code is the cost!
- writing code costs
SLIDE 17
Code is not the asset… Code is the cost!
- writing code costs
- waiting for code costs
SLIDE 18
Code is not the asset… Code is the cost!
- writing code costs
- waiting for code costs
- changing code costs
SLIDE 19
Code is not the asset… Code is the cost!
- writing code costs
- waiting for code costs
- changing code costs
- understanding code costs
SLIDE 20
understanding code
SLIDE 21
understanding code
code I know
SLIDE 22
understanding code
code I know code everyone knows
SLIDE 23
understanding code
code I know code everyone knows code no-one knows!
SLIDE 24
Code should be stabilised
- r
killed off
SLIDE 25
Code should be stabilised
- r
killed off fast!
SLIDE 26
Two complementary patterns
SLIDE 27
Two complementary patterns
Short Software Half-Life
SLIDE 28
Two complementary patterns
Short Software Half-Life Fits In My Head
SLIDE 29
Short Software Half-Life
SLIDE 30
Short Software Half-Life
Design considerations
SLIDE 31
Short Software Half-Life
- write discrete components
Design considerations
SLIDE 32
Short Software Half-Life
- write discrete components
- define component boundary
Design considerations
SLIDE 33
Short Software Half-Life
- write discrete components
- define component boundary
- define component purpose
Design considerations
SLIDE 34
Short Software Half-Life
- write discrete components
- define component boundary
- define component purpose
- define component responsibility
Design considerations
SLIDE 35
Short Software Half-Life
Stewardship considerations
SLIDE 36
Short Software Half-Life
- write component tests and docs
Stewardship considerations
SLIDE 37
Short Software Half-Life
- write component tests and docs
- optimise for replaceability
Stewardship considerations
SLIDE 38
Short Software Half-Life
- write component tests and docs
- optimise for replaceability
- expect to invest in stabilising
Stewardship considerations
SLIDE 39
Short Software Half-Life
- write component tests and docs
- optimise for replaceability
- expect to invest in stabilising
- build a stable team
Stewardship considerations
SLIDE 40
Fits In My Head
SLIDE 41
Fits In My Head
- multiple dimensions
SLIDE 42
Fits In My Head
- multiple dimensions
- multiple scales
SLIDE 43
Fits In My Head
- multiple dimensions
- multiple scales
- “What would James do?”
SLIDE 44
Fits In My Head
- multiple dimensions
- multiple scales
- “What would James do?”
Contextual Consistency
SLIDE 45
Fits In My Head
- multiple dimensions
- multiple scales
- “What would James do?”
Contextual Consistency
- agree guiding principles
SLIDE 46
Fits In My Head
- multiple dimensions
- multiple scales
- “What would James do?”
Contextual Consistency
- agree guiding principles
- agree idioms
SLIDE 47
Fits In My Head
- multiple dimensions
- multiple scales
- “What would James do?”
Contextual Consistency
- agree guiding principles
- agree idioms
- difference is data
SLIDE 48
Fits In My Head
- multiple dimensions
- multiple scales
- “What would James do?”
Contextual Consistency
- agree guiding principles
- agree idioms
- difference is data
- familiarity ≠ simplicity
SLIDE 49
Replaceable Component Architecture
SLIDE 50
Replaceable Component Architecture
sustainably…
SLIDE 51
Replaceable Component Architecture
sustainably…
SLIDE 52
Replaceable Component Architecture
sustainably…
SLIDE 53
Replaceable Component Architecture
sustainably…
SLIDE 54
Replaceable Component Architecture
sustainably…
SLIDE 55
Replaceable Component Architecture
sustainably…
SLIDE 56
Replaceable Component Architecture
sustainably…
“little computers passing messages”
SLIDE 57
Replaceable Component Architecture
sustainably…
“little computers passing messages” — Alan Kay
SLIDE 58
Replaceable Component Architecture
sustainably…
“little computers passing messages” — Alan Kay
SLIDE 59
Microservices can be a Replaceable Component Architecture
SLIDE 60
Microservices can be a Replaceable Component Architecture
- if you choose to optimise for
replaceability and consistency
SLIDE 61
Microservices can be a Replaceable Component Architecture
- if you choose to optimise for
replaceability and consistency
- smaller is not necessarily better
SLIDE 62
Microservices can be a Replaceable Component Architecture
- if you choose to optimise for
replaceability and consistency
- smaller is not necessarily better
- more replaceable is better
SLIDE 63
Kill code fearlessly!
SLIDE 64
Kill code fearlessly!
code I know code everyone knows code no-one knows!
SLIDE 65
Kill code fearlessly!
code I know code everyone knows
SLIDE 66