Slide 1

Slide 1 text

@duffleit Cultivating Architecture In an Agile World David Leitner

Slide 2

Slide 2 text

@duffleit DAVID LEITNER Coding Architect πŸ‘‹ [email protected] 🌎 @duffleit

Slide 3

Slide 3 text

@duffleit πŸ“¦ πŸ‘§ πŸ§‘ πŸ‘§ πŸ§‘ πŸ‘§ πŸ”₯ Safely and sustainably reduce lead time to thank you. Daniel Terhorst-North β€œGood Architecture”

Slide 4

Slide 4 text

@duffleit Simple System

Slide 5

Slide 5 text

@duffleit Complicated System

Slide 6

Slide 6 text

@duffleit Complicated System

Slide 7

Slide 7 text

@duffleit Complicated System Module A Module B Module C

Slide 8

Slide 8 text

@duffleit Complicated System Distributed Systems Service A Service B Service C

Slide 9

Slide 9 text

@duffleit Deployment Units Monolithic Distributed Modularisation Bad Well Big Ball Of Mud

Slide 10

Slide 10 text

@duffleit β€œSadly, architecture has been undervalued for so long that many engineers regard life with a Big Ball of Mud as normal.β€œ Foote & Yoder

Slide 11

Slide 11 text

@duffleit Deployment Units Monolithic Distributed Modularisation Bad Well Big Ball Of Mud Distributed MOnolith WelL-Structured MOdulith

Slide 12

Slide 12 text

@duffleit There is a multitude of reasons to go for Distributed Systems. Modularisation is none of them.

Slide 13

Slide 13 text

@duffleit If you can’t build a well-structured monolith, what makes you think microservices are the answer? Simon Brown

Slide 14

Slide 14 text

@duffleit Module A Module B Module C Single Deployment Unit

Slide 15

Slide 15 text

@duffleit Service A Service B Serivice C

Slide 16

Slide 16 text

@duffleit Service A Service B Serivice C Individual Scaling Demand 10x Users Usual Traffic

Slide 17

Slide 17 text

@duffleit Service A Service B Serivice C Individual Scaling Demand Technology Segmentation

Slide 18

Slide 18 text

@duffleit Service A Service B Serivice C Individual Scaling Demand Technology Segmentation πŸ‡©πŸ‡ͺ πŸ‡©πŸ‡ͺ πŸ‡ΊπŸ‡Έ CO-Locating

Slide 19

Slide 19 text

@duffleit Service A Service B Serivice C Individual Scaling Demand Technology Segmentation CO-Locating Technical Benefits

Slide 20

Slide 20 text

@duffleit Service A Service B Serivice C πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ Ownership You build it, You Own it You build it, You Run it

Slide 21

Slide 21 text

@duffleit Single Deployment Unit MOdule A MOdule B MOdule C πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ Ownership You build it, You Own it You build it, You Run it πŸ”₯

Slide 22

Slide 22 text

@duffleit Single Deployment Unit MOdule A MOdule B MOdule C πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ Ownership You build it, You Own it You build it, You Run it πŸ”₯ πŸ”₯

Slide 23

Slide 23 text

@duffleit Service A Service B Serivice C πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ Enable Teams to work autonomously

Slide 24

Slide 24 text

@duffleit Technical Benefits Team Autonomoy Scale Engineering CO-Locating Technology Segmentation Individual Scaling Demand 80%

Slide 25

Slide 25 text

@duffleit We architect for autonomy. This is why we tend do go for Distributed Systems.

Slide 26

Slide 26 text

@duffleit Non-Functional Requirements Those requirements which make your software non-functional if you do not consider them.

Slide 27

Slide 27 text

@duffleit Scalability Availability Consistency Autonomy Your architecture is a tradeoff. …

Slide 28

Slide 28 text

@duffleit Business & Domain Organisation Technology

Slide 29

Slide 29 text

@duffleit a Threefold Architect needs to navigate the intersections of NFRs between all socio-technical aspects. Business & Domain Organisation Technology

Slide 30

Slide 30 text

@duffleit Scalability Availability Consistency Autonomy Your architecture is a tradeoff. …

Slide 31

Slide 31 text

@duffleit Scalability Availability Consistency Autonomy Your architecture is a tradeoff. …

Slide 32

Slide 32 text

@duffleit Responsibility The ops will hate it Zone The Devs will Quit Zone Autonomy You build it you Own it You build it you run it You build it you care it

Slide 33

Slide 33 text

@duffleit Responsibility The ops will hate it Zone The Devs will Quit Zone Autonomy You build it you Own it You build it you run it You build it you care it

Slide 34

Slide 34 text

@duffleit Team Autonomy Decision Space Responsibility The ops will hate it Zone The Devs will Quit Zone Autonomy You build it you Own it You build it you run it You build it you care it Governance

Slide 35

Slide 35 text

@duffleit Team Autonomy Decision Space Responsibility The ops will hate it Zone The Devs will Quit Zone Autonomy You build it you Own it You build it you run it You build it you care it Governance

Slide 36

Slide 36 text

@duffleit Team Autonomy Decision Space Responsibility The ops will hate it Zone The Devs will Quit Zone Autonomy You build it you Own it You build it you run it You build it you care it Governance

Slide 37

Slide 37 text

@duffleit Team Autonomy Decision Space Responsibility The ops will hate it Zone The Devs will Quit Zone Autonomy You build it you Own it You build it you run it You build it you care it Governance Fitness Functions ADRs & RFCs Tech Radar Figures of Merit

Slide 38

Slide 38 text

@duffleit Team Autonomy Decision Space Responsibility The ops will hate it Zone The Devs will Quit Zone Autonomy You build it you Own it You build it you run it You build it you care it Governance Fitness Functions ADRs & RFCs Tech Radar Figures of Merit

Slide 39

Slide 39 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ“¦

Slide 40

Slide 40 text

@duffleit πŸ“¦ πŸ“¦ πŸ‘§ πŸ§‘ πŸ§‘ πŸ“¦ πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘

Slide 41

Slide 41 text

@duffleit Deployment Units Monolithic Distributed Modularisa6on Bad Well Big Ball Of Mud WelL-Structured Modulith Distributed Monolith Autonomous Service-Based SYSTEMS

Slide 42

Slide 42 text

@duffleit Deployment Units Monolithic Distributed Modularisation Bad Well Big Ball Of Mud WelL-Structured Modulith Distributed Monolith Autonomous Service-Based SYSTEMS Change in Cause of Failure Reliabilty

Slide 43

Slide 43 text

@duffleit Deployment Units Monolithic Distributed Modularisa6on Bad Well Big Ball Of Mud WelL-Structured Modulith Distributed Monolith Autonomous Service-Based SYSTEMS Change in Cause of Failure Reliabilty Availability

Slide 44

Slide 44 text

@duffleit What’s the difference between a method call within a single deployment unit

Slide 45

Slide 45 text

@duffleit What’s the difference between a method call within a single deployment unit Deployment Unit Module A Module B moduleB.createUser() fun createUser() { /*...*/ }

Slide 46

Slide 46 text

@duffleit What’s the difference between a method call within a single deployment unit, and a method call across the network. Deployment Unit Deployment Unit Service A Service B restClient.user() fun createUser() { /*...*/ }

Slide 47

Slide 47 text

@duffleit What’s the difference between a method call within a single deployment unit, and a method call across the network. Everything.

Slide 48

Slide 48 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ”₯ πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ”΄

Slide 49

Slide 49 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ”₯ πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ”΄ https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing

Slide 50

Slide 50 text

@duffleit πŸ“¦ πŸ“¦ πŸ‘§ πŸ§‘ πŸ§‘ πŸ“¦ πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘

Slide 51

Slide 51 text

@duffleit πŸ“¦ πŸ“¦ πŸ‘§ πŸ§‘ πŸ§‘ πŸ“¦ πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ”₯

Slide 52

Slide 52 text

@duffleit πŸ“¦ πŸ“¦ πŸ‘§ πŸ§‘ πŸ§‘ πŸ“¦ πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ 🀯

Slide 53

Slide 53 text

@duffleit To architect for Autonomy. We need to Optimize for Availability.

Slide 54

Slide 54 text

@duffleit Deployment Units Monolithic Distributed Modularisation Bad Well Big Ball Of Mud WelL-Structured Modulith Distributed Monolith Autonomous Service-Based SYSTEMS Change in Cause of Failure Reliabilty Availability

Slide 55

Slide 55 text

@duffleit Deployment Units Monolithic Distributed Modularisa6on Bad Well Big Ball Of Mud WelL-Structured Modulith Distributed Monolith Autonomous Service-Based SYSTEMS Change in Cause of Failure Reliabilty Availability

Slide 56

Slide 56 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ”₯ πŸ‘§ πŸ§‘ πŸ§‘ πŸ”΄ Complex Distributed System πŸ‘§ πŸ§‘ πŸ§‘ Loan Team Lending System

Slide 57

Slide 57 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ”₯ πŸ‘§ πŸ§‘ πŸ§‘ πŸ”΄ πŸ”₯ Complex Distributed System πŸ‘§ πŸ§‘ πŸ§‘ 🟒 Account Team Loan Team Lending System

Slide 58

Slide 58 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ”₯ πŸ‘§ πŸ§‘ πŸ§‘ Complex Distributed System πŸ‘§ πŸ§‘ πŸ§‘ πŸ”΄ Loan Team Lending System Account Team

Slide 59

Slide 59 text

@duffleit We strive for a stable environment.

Slide 60

Slide 60 text

@duffleit There is no stable environment.

Slide 61

Slide 61 text

@duffleit There is no stable environment. * The sooner we accept this, the better.

Slide 62

Slide 62 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ Payment Service πŸ§‘ Account Service

Slide 63

Slide 63 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ”΄ Payment Service πŸ§‘ Account Service πŸ”₯ Users[] πŸ”₯

Slide 64

Slide 64 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ”΄ Payment Service πŸ§‘ Account Service Users[] πŸ”₯

Slide 65

Slide 65 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ”΄ Payment Service πŸ§‘ Account Service Users[] cache

Slide 66

Slide 66 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ”΄ Payment Service πŸ§‘ Account Service Users[] stream UserChanged

Slide 67

Slide 67 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ”΄ Payment Service πŸ§‘ Account Service readmodel stream Users[] UserChanged

Slide 68

Slide 68 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ”΄ Payment Service πŸ§‘ Account Service readmodel stream Users[] UserChanged

Slide 69

Slide 69 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ Payment Service πŸ§‘ Account Service readmodel stream πŸ”₯πŸ”₯ πŸ”₯ πŸ”₯ Users[]

Slide 70

Slide 70 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ Payment Service πŸ§‘ Account Service πŸ”₯ πŸš€ Caching LBs CBs

Slide 71

Slide 71 text

@duffleit Chaotic Environments Architect for πŸ”₯

Slide 72

Slide 72 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ Payment Service πŸ§‘ Account Service πŸ”₯ πŸ”₯ πŸ”₯ πŸ”₯

Slide 73

Slide 73 text

@duffleit we need to start dacining with the beast and embrace Choas.

Slide 74

Slide 74 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ Gamedays 🀑 🀑 🀑

Slide 75

Slide 75 text

@duffleit A System that can run in a stable environment can run only there.

Slide 76

Slide 76 text

@duffleit A System that can run in a chaotic environment can run everywhere.

Slide 77

Slide 77 text

@duffleit Chaotic Environments Architect for πŸ”₯

Slide 78

Slide 78 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ”₯ πŸ‘§ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ”΄ Payment Team πŸ§‘ Account Team Execute Payment Payment Gateway Team

Slide 79

Slide 79 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ Payment Team πŸ§‘ Account Team 🀯

Slide 80

Slide 80 text

@duffleit < πŸ‘§ πŸ§‘ πŸ§‘ SEPA Payment Team Account Team CREDITCARD Payment Team < πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘

Slide 81

Slide 81 text

@duffleit < πŸ‘§ πŸ§‘ πŸ§‘ End2End Responsibility SEPA Payment Team Account Team CREDITCARD Payment Team < End2End Responsibility πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ 😌

Slide 82

Slide 82 text

@duffleit < πŸ‘§ πŸ§‘ πŸ§‘ End2End Responsibility SEPA Payment Team Account Team CREDITCARD Payment Team < End2End Responsibility πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ 😌 We need to keep depenedencies in mind Accounts

Slide 83

Slide 83 text

@duffleit Customer Journey and Entity Data Mismatch Problem

Slide 84

Slide 84 text

@duffleit Customer Journey Entities User Accounts Transactions User Onboarding Payment Execution Fraud Detection

Slide 85

Slide 85 text

@duffleit < πŸ‘§ πŸ§‘ πŸ§‘ End2End Responsibility Account Team < End2End Responsibility πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ Accounts

Slide 86

Slide 86 text

@duffleit < πŸ‘§ πŸ§‘ πŸ§‘ End2End Responsibility Account Team < End2End Responsibility πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ Accounts cache πŸ”₯

Slide 87

Slide 87 text

@duffleit < πŸ‘§ πŸ§‘ πŸ§‘ End2End Responsibility Account Team < End2End Responsibility πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ Accounts Account Changed readmodel πŸ”₯

Slide 88

Slide 88 text

@duffleit End-2-End Responsibilities. Architect for πŸ›Ά

Slide 89

Slide 89 text

@duffleit End-to-End Autonomy βš– Dependencies Decrease Cognitive Load

Slide 90

Slide 90 text

@duffleit < SEPA Payment Team Account Team FRAUD CHECK < πŸ‘§ πŸ§‘ πŸ§‘ Check Payment Complicated Subsystem πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘

Slide 91

Slide 91 text

@duffleit < SEPA Payment Team Account Team FRAUD CHECK < πŸ‘§ πŸ§‘ πŸ§‘ Check Payment Complicated Subsystem πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ’πŸ™‹

Slide 92

Slide 92 text

@duffleit < SEPA Payment Team Account Team FRAUD CHECK < πŸ‘§ πŸ§‘ πŸ§‘ Check Payment Complicated Subsystem πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ Availability How many Nines? Nines Percentage Yearly Outage 1 Nine 90% 36,5 days 2 Nines 99% 3,65 days 3 Nines 99,9% 8,76 hours 4 Nines 99,99% 52,56 minutes 5 Nines 99,999% 5,26 minutes 6 Nines 99,9999% 31,5 seconds MTBF

Slide 93

Slide 93 text

@duffleit Can our stream aligned team still have a 99,99% availability if our complex subsystem dependency has a 99,9% availability?

Slide 94

Slide 94 text

@duffleit < SEPA Payment Team Account Team FRAUD CHECK < πŸ‘§ πŸ§‘ πŸ§‘ Check Payment Complicated Subsystem πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ Availability How many Nines? Nines Percentage Yearly Outage 1 Nine 90% 36,5 days 2 Nines 99% 3,65 days 3 Nines 99,9% 8,76 hours 4 Nines 99,99% 52,56 minutes 5 Nines 99,999% 5,26 minutes 6 Nines 99,9999% 31,5 seconds rescheduler

Slide 95

Slide 95 text

@duffleit < SEPA Payment Team Account Team FRAUD CHECK < πŸ‘§ πŸ§‘ πŸ§‘ Check Payment Complicated Subsystem πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ Availability How many Nines? Nines Percentage Yearly Outage 1 Nine 90% 36,5 days 2 Nines 99% 3,65 days 3 Nines 99,9% 8,76 hours 4 Nines 99,99% 52,56 minutes 5 Nines 99,999% 5,26 minutes 6 Nines 99,9999% 31,5 seconds πŸ”„ rescheduler

Slide 96

Slide 96 text

@duffleit < Account Team FRAUD CHECK < πŸ‘§ πŸ§‘ πŸ§‘ Check Payment Complicated Subsystem πŸ‘§ πŸ§‘ πŸ§‘ Availability How many Nines? Nines Percentage Yearly Outage 1 Nine 90% 36,5 days 2 Nines 99% 3,65 days 3 Nines 99,9% 8,76 hours 4 Nines 99,99% 52,56 minutes 5 Nines 99,999% 5,26 minutes 6 Nines 99,9999% 31,5 seconds πŸ”„ rescheduler Platform Teams Developer Experience SLOs

Slide 97

Slide 97 text

@duffleit Pain = Strength x Distance x Volatility Vladik Khononov Dependencies their three main aspects:

Slide 98

Slide 98 text

@duffleit Pain = Strength x Distance x Volatility Vladik Khononov Dependencies

Slide 99

Slide 99 text

@duffleit Dependencies as a Service Architect for 9⃣

Slide 100

Slide 100 text

@duffleit < SEPA Payment Team Account Team FRAUD CHECK < πŸ‘§ πŸ§‘ πŸ§‘ Legacy System πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘

Slide 101

Slide 101 text

@duffleit < SEPA Payment Team Account Team FRAUD CHECK < πŸ‘§ πŸ§‘ πŸ§‘ Legacy System πŸ‘§ πŸ§‘ πŸ§‘

Slide 102

Slide 102 text

@duffleit User Fraud Data Readers Writers Readers Writers

Slide 103

Slide 103 text

@duffleit User Fraud Data Readers Writers Readers Writers API

Slide 104

Slide 104 text

@duffleit User Fraud Data Readers Writers Readers Writers API Downtime ⏳

Slide 105

Slide 105 text

@duffleit User Fraud Data Readers Writers Readers Writers API Downtime ⏳

Slide 106

Slide 106 text

@duffleit Readers Writers Readers Writers API User Fraud Data πŸ”₯

Slide 107

Slide 107 text

@duffleit Readers Writers Readers Writers API User Fraud Data πŸ”₯

Slide 108

Slide 108 text

@duffleit User Fraud Data Readers Writers API πŸ”₯ Readers Writers

Slide 109

Slide 109 text

@duffleit User Fraud Data Readers Writers API Readers Writers

Slide 110

Slide 110 text

@duffleit Event User Fraud Data Readers Writers Readers Writers API User Fraud Data CDC

Slide 111

Slide 111 text

@duffleit Event User Fraud Data Readers Readers Writers API User Fraud Data Event Writers

Slide 112

Slide 112 text

@duffleit Event User Fraud Data Readers Writers Readers Writers API User Fraud Data Event πŸ”₯

Slide 113

Slide 113 text

@duffleit Event User Fraud Data Readers Readers Writers API User Fraud Data Event Writers πŸ‘·

Slide 114

Slide 114 text

@duffleit Event User Fraud Data Readers Writers Readers Writers API User Fraud Data Event

Slide 115

Slide 115 text

@duffleit Event User Fraud Data Readers Writers API User Fraud Data Event Readers Writers

Slide 116

Slide 116 text

@duffleit CDC User Fraud Data Readers Writers API User Fraud Data Event Readers Writers Canary Releases Zero Downtime Migration Dark Launching A/B Testing Scientist Pattern

Slide 117

Slide 117 text

@duffleit

Slide 118

Slide 118 text

@duffleit

Slide 119

Slide 119 text

@duffleit Rollout when no disagreement within 24 hours and within 10 000 000 comparisons.

Slide 120

Slide 120 text

@duffleit CDC User Fraud Data Readers Writers API User Fraud Data Event Readers Writers Canary Releases Zero Downtime Migration Dark Launching A/B Testing Scientist Pattern

Slide 121

Slide 121 text

@duffleit Change Anxiety Architect against 🦜

Slide 122

Slide 122 text

@duffleit So many thing to consider, Let’s sum up.

Slide 123

Slide 123 text

@duffleit Business & Domain Organisation Technology Scalability Availability Consistency Autonomy …

Slide 124

Slide 124 text

@duffleit Architect for Autonomy. We usually need to

Slide 125

Slide 125 text

@duffleit Responsibility The ops will hate it Zone The Devs will Quit Zone Autonomy You build it you Own it You build it you run it You build it you care it Team Autonomy Decision Space Governance Fitness Functions ADRs & RFCs Tech Radar Figures of Merit Enablement

Slide 126

Slide 126 text

@duffleit Deployment Units Monolithic Distributed Reliabilty Availability

Slide 127

Slide 127 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘

Slide 128

Slide 128 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ Chaotic Environments Architect for πŸ”₯

Slide 129

Slide 129 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ Chaotic Environments Architect for πŸ”₯ End-2-End Responsibilities Architect for πŸ›Ά

Slide 130

Slide 130 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ Chaotic Environments Architect for πŸ”₯ End-2-End Responsibilities Architect for πŸ›Ά COMPLICATED Subsystem Teams Dependencies as a Service Architect for 9⃣

Slide 131

Slide 131 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ Chaotic Environments Architect for πŸ”₯ End-2-End Responsibilities Architect for πŸ›Ά COMPLICATED Subsystem Teams Change Anxiety Architect against 🦜 Dependencies as a Service Architect for 9⃣

Slide 132

Slide 132 text

@duffleit Safely and sustainably reduce lead time to thank you. Daniel Terhorst-North

Slide 133

Slide 133 text

@duffleit DAVID LEITNER Coding Architect πŸ‘‹ [email protected] 🌎 @duffleit Slides