leonard garvey // louis simoneau smashing ......consumer-driven contracts pact -...

41
SMASHING THE MONOLITH LEONARD GARVEY // LOUIS SIMONEAU

Upload: others

Post on 26-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

SMASHING THE MONOLITHLEONARD GARVEY // LOUIS SIMONEAU

Page 2: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

Pictures of Us Here

@louis_simoneau @lgarvey

Page 3: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

0. FOUNDATIONS

Page 4: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

MIKE ROWE SERVICES

Page 5: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

0. FOUNDATIONS

Page 6: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

ORGANISATIONS WHICH DESIGN SYSTEMS ... ARE CONSTRAINED TO PRODUCE DESIGNS WHICH ARE COPIES OF THE COMMUNICATION STRUCTURES OF THESE ORGANISATIONS

Melvin Conway - 1968

Page 7: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

1. WHY NOW?

Page 8: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD
Page 9: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

Photo: Kevin Engflickr.com/photos/10183029@N00

Page 10: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

THE STRANGE AND BEAUTIFUL TRUTH ABOUT THE ADJACENT POSSIBLE IS THAT ITS BOUNDARIES GROW AS YOU EXPLORE THEM.

Steven Johnson

WHERE GOOD IDEAS COME FROM

Page 11: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

‣ Infrastructure as a Service

‣ DevOps

‣ Continuous Delivery

‣ Product Teams

Page 12: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

ONCE THESE TECHNOLOGIES AND WAYS OF WORKING ARE IN PLACE, MICROSERVICES ARE THE NATURALLY EMERGENT ARCHITECTURAL FORM

Photo: Donald Macauly flickr.com/photos/27770620@N02

Page 13: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

2. DATA NOT FEATURES

Page 14: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

THE BUSINESS SYSTEMTHE WEBSITE

UPLOAD IMAGE

SEARCHADMIN

CRM

INVOICINGACCOUNTING

REPORTING

Page 15: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

SEARCH

IMAGES

AGENT INTERFACE

CRM INVOICING

ACCOUNTING

Page 16: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

SMASHING THE MONOLITH

▸As a user I want to upload a house for sale.

▸As a user I want to know that my listing is valid.

▸As a user I want to see my listing on the website as quickly as possible.

Page 17: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

RECEIVE LISTING

PUBLISH LISTING

PROCESS LISTING

Page 18: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

RECEIVE LISTING

PUBLISH LISTING

PROCESS LISTING

MONOLITHIC LISTINGS SYSTEM

Page 19: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

RECEIVE LISTING

PUBLISH LISTING

PROCESS LISTING

?

Page 20: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

RECEIVE LISTING

PUBLISH LISTING

PROCESS LISTING

LISTINGS PROVIDER

Page 21: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

RECEIVE LISTING

PUBLISH LISTING

PROCESS LISTING

LISTINGS PROVIDER

Listings Bounded Context

Page 22: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

MICROSERVICES AS BOUNDARY ALIGNMENT

Page 23: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

WEB APPLICATION

PROPERTY

IMAGE CUSTOMER

LISTING

COMMERCE SYSTEM

ORDER INVOICE

PAYMENTCUSTOMER

FEATURE TEAM 1

FINANCE TEAM

FEATURE TEAM 2

Page 24: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

‣ No source of truth

‣ Conflicting work

‣ Unclear (or no) custodianship

Page 25: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

EntitySystemTeam

EntitySystemTeam

Entity

Page 26: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

EntitySystemTeam

EntitySystem

Team

EntitySystem

Page 27: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD
Page 28: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

DOMAIN ENTITIES WHICH COEXIST IN MEMORY SPACE WILL ACQUIRE COUPLING MORE RAPIDLY THAN THOSE WHICH COEXIST IN NETWORK SPACE.

Photo: Matti Mattila flickr.com/photos/mattimattila

Page 29: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

3. HOW DO I EVEN?

Page 30: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

INDIVIDUALS AND INTERACTIONSOVER PROCESSES AND TOOLS

Page 31: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

ALIGNED BOUNDARIES REQUIRE ALIGNED COMMUNICATION

Entity

System

Team Team

System

Entity

Page 32: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

CONSUMER-DRIVEN CONTRACTS

PACT - GITHUB.COM/REALESTATE-COM-AU/PACT

SEARCH PROPERTY

PACT

http request

http response

Page 33: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

CONSUMER-DRIVEN CONTRACTS

PACT - GITHUB.COM/REALESTATE-COM-AU/PACT

SEARCH PROPERTY

PACT

http request

http response

Page 34: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

SYSTEMS OF RECORD

Page 35: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

SYSTEMS OF RECORD

‣ Immutability

‣ Event Sourcing

‣ Idempotency

Page 36: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

POLYGLOT DEVELOPMENT, MONOGLOT DEPLOYMENT

Page 37: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD
Page 38: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD
Page 39: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

ORGANISATIONS WHICH DESIGN SYSTEMS ... ARE CONSTRAINED TO PRODUCE DESIGNS WHICH ARE COPIES OF THE COMMUNICATION STRUCTURES OF THESE ORGANISATIONS

ORGANISATIONS WHICH DESIGN SYSTEMS ... ARE CONSTRAINED TO PRODUCE DESIGNS WHICH ARE COPIES OF THE COMMUNICATION STRUCTURES OF THESE ORGANISATIONS

Melvin Conway - 1968

Page 40: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

QUESTIONS?

Page 41: LEONARD GARVEY // LOUIS SIMONEAU SMASHING ......CONSUMER-DRIVEN CONTRACTS PACT - GITHUB.COM/REALESTATE-COM-AU/PACT SEARCH PROPERTY PACT http request http response SYSTEMS OF RECORD

WE’RE HIRING