leonard garvey // louis simoneau smashing ......consumer-driven contracts pact -...
TRANSCRIPT
SMASHING THE MONOLITHLEONARD GARVEY // LOUIS SIMONEAU
Pictures of Us Here
@louis_simoneau @lgarvey
0. FOUNDATIONS
MIKE ROWE SERVICES
0. FOUNDATIONS
ORGANISATIONS WHICH DESIGN SYSTEMS ... ARE CONSTRAINED TO PRODUCE DESIGNS WHICH ARE COPIES OF THE COMMUNICATION STRUCTURES OF THESE ORGANISATIONS
Melvin Conway - 1968
1. WHY NOW?
Photo: Kevin Engflickr.com/photos/10183029@N00
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
‣ Infrastructure as a Service
‣ DevOps
‣ Continuous Delivery
‣ Product Teams
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
2. DATA NOT FEATURES
THE BUSINESS SYSTEMTHE WEBSITE
UPLOAD IMAGE
SEARCHADMIN
CRM
INVOICINGACCOUNTING
REPORTING
SEARCH
IMAGES
AGENT INTERFACE
CRM INVOICING
ACCOUNTING
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.
RECEIVE LISTING
PUBLISH LISTING
PROCESS LISTING
RECEIVE LISTING
PUBLISH LISTING
PROCESS LISTING
MONOLITHIC LISTINGS SYSTEM
RECEIVE LISTING
PUBLISH LISTING
PROCESS LISTING
?
RECEIVE LISTING
PUBLISH LISTING
PROCESS LISTING
LISTINGS PROVIDER
RECEIVE LISTING
PUBLISH LISTING
PROCESS LISTING
LISTINGS PROVIDER
Listings Bounded Context
MICROSERVICES AS BOUNDARY ALIGNMENT
WEB APPLICATION
PROPERTY
IMAGE CUSTOMER
LISTING
COMMERCE SYSTEM
ORDER INVOICE
PAYMENTCUSTOMER
FEATURE TEAM 1
FINANCE TEAM
FEATURE TEAM 2
‣ No source of truth
‣ Conflicting work
‣ Unclear (or no) custodianship
EntitySystemTeam
EntitySystemTeam
Entity
EntitySystemTeam
EntitySystem
Team
EntitySystem
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
3. HOW DO I EVEN?
INDIVIDUALS AND INTERACTIONSOVER PROCESSES AND TOOLS
ALIGNED BOUNDARIES REQUIRE ALIGNED COMMUNICATION
Entity
System
Team Team
System
Entity
CONSUMER-DRIVEN CONTRACTS
PACT - GITHUB.COM/REALESTATE-COM-AU/PACT
SEARCH PROPERTY
PACT
http request
http response
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
POLYGLOT DEVELOPMENT, MONOGLOT DEPLOYMENT
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
QUESTIONS?
WE’RE HIRING