Slide 1

Slide 1 text

@duffleit Architecting FOR SCALE @duffleit

Slide 2

Slide 2 text

@duffleit DAVID LEITNER Coding Architect πŸ‘‹ david@squer.io 🌎 @duffleit

Slide 3

Slide 3 text

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

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 πŸ‘§ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ Program complexity grows until it exceeds the capabilities of the programmer who must maintain it. β€” one of Lehman's laws

Slide 8

Slide 8 text

@duffleit Build Abstract Abstraction Abstraction Abstraction πŸ‘§ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§

Slide 9

Slide 9 text

@duffleit Complicated System Sub Domains Sub Domains Sub Domains πŸ‘§ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§

Slide 10

Slide 10 text

@duffleit Good modularization is the foundation of any well-designed software systems.

Slide 11

Slide 11 text

@duffleit Complicated System Sub Domains Sub Domains Sub Domains πŸ‘§ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§

Slide 12

Slide 12 text

@duffleit Distributed System Service A Service C Service B πŸ‘§ πŸ§‘ πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§

Slide 13

Slide 13 text

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

Slide 14

Slide 14 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 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

@duffleit Single Deployment Unit Individual Scaling Demand Technology Segmentation CO-Locating πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘±

Slide 19

Slide 19 text

@duffleit Single Deployment Unit πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘±

Slide 20

Slide 20 text

@duffleit Single Deployment Unit πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘

Slide 21

Slide 21 text

@duffleit Single Deployment Unit πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ πŸ”₯

Slide 22

Slide 22 text

@duffleit Single Deployment Unit πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ πŸ”₯ πŸ”₯ πŸ”₯

Slide 23

Slide 23 text

@duffleit Independant Deployment Units πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘

Slide 24

Slide 24 text

@duffleit Independant Deployment Units πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ Resilience πŸ”₯

Slide 25

Slide 25 text

@duffleit Single Deployment Unit πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ πŸ“¦

Slide 26

Slide 26 text

@duffleit Independant Deployment Units πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ πŸ“¦ πŸ“¦ πŸ“¦ πŸ“¦ πŸ“¦ πŸ“¦ Independent Deployability

Slide 27

Slide 27 text

@duffleit Independent Deployability Resilience Both of them only work on top of proper modularization.

Slide 28

Slide 28 text

@duffleit Deployment Units Monolithic Distributed Modularisa3on Bad Well Big Ball Of Mud WelL-Structured Modulith Distributed Monolith Distributed Self-Sufficient Services

Slide 29

Slide 29 text

@duffleit Deployment Units Monolithic Distributed Modularisation Bad Well Big Ball Of Mud WelL-Structured Modulith Distributed Monolith Distributed Self-Sufficient Services Decomposition Fallacy

Slide 30

Slide 30 text

@duffleit Deployment Units Monolithic Distributed Modularisation Bad Well Big Ball Of Mud WelL-Structured Modulith Distributed Monolith Distributed Self-Sufficient Services Decomposition Fallacy

Slide 31

Slide 31 text

@duffleit Deployment Units Monolithic Distributed Modularisation Bad Well Big Ball Of Mud WelL-Structured Modulith Distributed Monolith Distributed Self-Sufficient Services Decomposition Fallacy

Slide 32

Slide 32 text

@duffleit Deployment Units Monolithic Distributed Modularisation Bad Well Big Ball Of Mud WelL-Structured Modulith Distributed Monolith Distributed Self-Sufficient Services Decomposition Fallacy

Slide 33

Slide 33 text

@duffleit Deployment Units Monolithic Distributed Modularisation Bad Well Big Ball Of Mud WelL-Structured Modulith Distributed Monolith Distributed Self-Sufficient Services Decomposition Fallacy

Slide 34

Slide 34 text

@duffleit Independent Deployability Resilience Both of them only work on top of proper modularization.

Slide 35

Slide 35 text

@duffleit Independent Deployability Resilience Both of them will enable higher team autonomy.

Slide 36

Slide 36 text

@duffleit Independent Deployability Resilience Both of them will introduce more distribution.

Slide 37

Slide 37 text

@duffleit We go for distributed systems to enable independent, autonomous teams.

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 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 41

Slide 41 text

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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

@duffleit within a single deployment unit Deployment Unit Module A Module B moduleB.createUser() fun createUser() { /*...*/ }

Slide 44

Slide 44 text

@duffleit within a single deployment unit Deployment Unit Module A Module B moduleB.createUser() fun createUser() { /*...*/ } βœ…

Slide 45

Slide 45 text

@duffleit within a single deployment unit Deployment Unit Module A Module B moduleB.createUser() fun createUser() { /*...*/ } πŸ”₯

Slide 46

Slide 46 text

@duffleit Deployment Unit Deployment Unit Service A Service B restClient.user() fun createUser() { /*...*/ } within multiple deployment units

Slide 47

Slide 47 text

@duffleit Deployment Unit Deployment Unit Service A Service B restClient.user() fun createUser() { /*...*/ } within multiple deployment units

Slide 48

Slide 48 text

@duffleit Deployment Unit Deployment Unit Service A Service B restClient.user() fun createUser() { /*...*/ } within multiple deployment units

Slide 49

Slide 49 text

@duffleit Deployment Unit Deployment Unit Service A Service B restClient.user() fun createUser() { /*...*/ } within multiple deployment units

Slide 50

Slide 50 text

@duffleit Deployment Unit Deployment Unit Service A Service B restClient.user() fun createUser() { /*...*/ } within multiple deployment units

Slide 51

Slide 51 text

@duffleit Deployment Unit Deployment Unit Service A Service B restClient.user() fun createUser() { /*...*/ } within multiple deployment units https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing

Slide 52

Slide 52 text

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

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

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

Slide 55

Slide 55 text

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

Slide 56

Slide 56 text

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

Slide 57

Slide 57 text

@duffleit We strive for a stable environment.

Slide 58

Slide 58 text

@duffleit There is no stable environment. In Complex Distributed System

Slide 59

Slide 59 text

@duffleit Resilience Architect for πŸ”₯

Slide 60

Slide 60 text

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

Slide 61

Slide 61 text

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

Slide 62

Slide 62 text

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

Slide 63

Slide 63 text

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

Slide 64

Slide 64 text

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

Slide 65

Slide 65 text

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

Slide 66

Slide 66 text

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

Slide 67

Slide 67 text

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

Slide 68

Slide 68 text

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

Slide 69

Slide 69 text

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

Slide 70

Slide 70 text

@duffleit accept chaos as a constant in Distributed systems

Slide 71

Slide 71 text

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

Slide 72

Slide 72 text

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

Slide 73

Slide 73 text

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

Slide 74

Slide 74 text

@duffleit Resilience Architect for πŸ”₯

Slide 75

Slide 75 text

@duffleit Products Payments Users Accounts πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘

Slide 76

Slide 76 text

@duffleit Products Payments Users Accounts πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ πŸ”₯

Slide 77

Slide 77 text

@duffleit Products Payments Users Accounts πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ πŸ”₯ πŸ’₯

Slide 78

Slide 78 text

@duffleit Products Payments Users Accounts πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ Entity Service Antipattern Distributed Monolith

Slide 79

Slide 79 text

@duffleit Order Service Payments Service Users Delivery service πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ Services along Customer Journeys Self-Sufficient Services Warehouse Service

Slide 80

Slide 80 text

@duffleit Order Service Payments Service Users Delivery service πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ Services along Customer Journeys Self-Sufficient Services Warehouse Service πŸ”₯ πŸ”₯ πŸ”₯ 🟒

Slide 81

Slide 81 text

@duffleit The quality of a service-based system design can probably be measured by the number of hops needed for the system's most business-critical customer journeys.

Slide 82

Slide 82 text

@duffleit On the Criteria To Be Used in Decomposing Systems into Modules β€” D.L. Parnas

Slide 83

Slide 83 text

@duffleit Order Service Payments Service Delivery service πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ Warehouse Service USERS USERS USERS USERS

Slide 84

Slide 84 text

@duffleit Order Service Payments Service Delivery service πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ Warehouse Service USERS USERS USERS USERS User Service

Slide 85

Slide 85 text

@duffleit Order Service Payments Service Delivery service πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ Warehouse Service USERS Event Bus USERS

Slide 86

Slide 86 text

@duffleit Order Service Payments Service Delivery service πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ Warehouse Service USERS Event Bus USERS

Slide 87

Slide 87 text

@duffleit Order Service Payments Service Delivery service πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ Warehouse Service USERS Event Bus USERS USERS

Slide 88

Slide 88 text

@duffleit Order Service Payments Service Delivery service πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ Warehouse Service USERS Event Bus USERS USERS πŸ”₯

Slide 89

Slide 89 text

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

Slide 90

Slide 90 text

@duffleit Order Service Payments Service Delivery service πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ Warehouse Service πŸ‘‘ πŸ‘‘ πŸ‘‘ πŸ‘‘

Slide 91

Slide 91 text

@duffleit Highly autonomous teams may lead to organizational silos and localized optimization.

Slide 92

Slide 92 text

@duffleit Order Service Payments Service Delivery service πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ Warehouse Service S3 Blob S3

Slide 93

Slide 93 text

@duffleit Order Service Payments Service Delivery service πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ Warehouse Service S3 Blob S3

Slide 94

Slide 94 text

@duffleit Order Service Payments Service Delivery service πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ Warehouse Service S3 Blob S3 Global Effort

Slide 95

Slide 95 text

@duffleit Order Service Payments Service Delivery service πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ Warehouse Service Storage Module Global Effort

Slide 96

Slide 96 text

@duffleit Order Service Payments Service Delivery service πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ Warehouse Service Global Effort Storage Module

Slide 97

Slide 97 text

@duffleit Order Service Payments Service Delivery service πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ Warehouse Service Platform Teams Storage Module RFCs 🚴Paved Path

Slide 98

Slide 98 text

@duffleit Order Service Payments Service Delivery service πŸ‘§ πŸ§‘ πŸ§‘ πŸ§‘ πŸ‘§ πŸ‘§ πŸ‘©πŸ¦° πŸ‘§ πŸ‘± πŸ‘§ πŸ§‘ πŸ§‘ Warehouse Service Platform Teams Storage Module RFCs Dynamic Reteaming 🚴Paved Path

Slide 99

Slide 99 text

@duffleit System Harmony Architect for 🧘

Slide 100

Slide 100 text

@duffleit Domain

Slide 101

Slide 101 text

@duffleit Product Architecture

Slide 102

Slide 102 text

@duffleit Product Architecture Organisation Everything constantly changes in unpredictable ways; that's the main constant in software. β€” Neal Ford

Slide 103

Slide 103 text

@duffleit πŸ‘§ πŸ§‘ πŸ§‘ Payment Serivce πŸ‘©πŸ¦° πŸ‘§ FrauD Logic

Slide 104

Slide 104 text

@duffleit User Fraud Data Readers Writers Readers Writers API FrauD Service πŸ‘§ πŸ§‘ πŸ§‘ πŸ‘©πŸ¦° πŸ‘§ Payment Serivce

Slide 105

Slide 105 text

@duffleit Payment Serivce FrauD Service User Fraud Data Readers Writers Readers Writers API πŸ‘§ πŸ§‘ πŸ§‘

Slide 106

Slide 106 text

@duffleit Payment Serivce FrauD Service User Fraud Data Readers Writers Readers Writers API πŸ‘§ πŸ§‘ πŸ§‘ Downtime ⏳

Slide 107

Slide 107 text

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

Slide 108

Slide 108 text

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

Slide 109

Slide 109 text

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

Slide 110

Slide 110 text

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

Slide 111

Slide 111 text

@duffleit User Fraud Data Readers Writers API Readers Writers Payment Serivce

Slide 112

Slide 112 text

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

Slide 113

Slide 113 text

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

Slide 114

Slide 114 text

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

Slide 115

Slide 115 text

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

Slide 116

Slide 116 text

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

Slide 117

Slide 117 text

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

Slide 118

Slide 118 text

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

Slide 119

Slide 119 text

@duffleit Payment Serivce CDC User Fraud Data Readers Writers API User Fraud Data Event Readers Writers Canary Releases Zero Downtime Migration Dark Launching Scientist Pattern

Slide 120

Slide 120 text

@duffleit Change Anxiety Architect against 🦜

Slide 121

Slide 121 text

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

Slide 122

Slide 122 text

@duffleit Modularisation is key, and if done right, distribution on top enables autonomous teams.

Slide 123

Slide 123 text

@duffleit Modularisation is key, and if done right, distribution on top enables autonomous teams.

Slide 124

Slide 124 text

@duffleit Modularisation is key, and if done right, distribution on top enables autonomous teams.

Slide 125

Slide 125 text

@duffleit Deployment Units Monolithic Distributed Reliabilty Availability

Slide 126

Slide 126 text

@duffleit Resilience Architect for πŸ”₯ End-2-End Responsibilities Architect for πŸ›Ά System Harmony Architect for 🧘 Change Anxiety Architect against 🦜

Slide 127

Slide 127 text

@duffleit Keep the lead time to thank you low EVENT AT SCALE.

Slide 128

Slide 128 text

@duffleit DAVID LEITNER Coding Architect πŸ‘‹ david@squer.io 🌎 @duffleit