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

Post on 26-Jun-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

top related