Top Banner
BUILDING SYSTEMS THAT PIVOT Andy Marks [email protected] @andee_marks Zhamak Dehghani [email protected] @zhamakd
35

ThoughtWorks Live 2014: "Building Systems That Pivot"

Jan 21, 2018

Download

Technology

Andy Marks
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ThoughtWorks Live 2014: "Building Systems That Pivot"

BUILDING SYSTEMS THAT PIVOT

Andy Marks

[email protected]

@andee_marks

Zhamak Dehghani

[email protected]

@zhamakd

Page 2: ThoughtWorks Live 2014: "Building Systems That Pivot"

Untested system dependenciesTeam orchestration overhead

A BROKEN DIALOGUE WITH THE CUSTOMER - FEEL FAMILIAR?

Large software releaseLong feedback cycles

> 50%

< 30%Large software release

Team orchestrated overhead

Untested system dependencies

Long feedback cycles

>50%<30%

Page 3: ThoughtWorks Live 2014: "Building Systems That Pivot"

AN ENGAGED CUSTOMER - AS IT SHOULD BE.

:) :)

<30% >50%

Page 4: ThoughtWorks Live 2014: "Building Systems That Pivot"

CONTINUOUS DELIVERY AS AN ENABLER

• automated build

• automated deployment

• automated environment provisioning - cloud & virtualisation

• automated testing

SP

EE

D O

F D

EL

IVE

RY

C D M AT U R I T Y L E V E L

Threshold without

changing architecture

Page 5: ThoughtWorks Live 2014: "Building Systems That Pivot"

ARCHITECTURE

Page 6: ThoughtWorks Live 2014: "Building Systems That Pivot"

A THOUGHT EXPERIMENT

Build Test Integration Acceptance Production

System.out.println

(“Hello World!”);

How long will this take?

Page 7: ThoughtWorks Live 2014: "Building Systems That Pivot"

ELEMENTS OF ARCHITECTURE

Integration

Off-the-shelf

Bespoke

Off-the-shelf

Bespoke

Integration

Integration

Integration

Page 8: ThoughtWorks Live 2014: "Building Systems That Pivot"

ELEMENTS OF ARCHITECTURE

Integration

Off-the-shelf

Bespoke

Off-the-shelf

Bespoke

Integration

Integration

Integration

BESPOKE DEVELOPMENT

Page 9: ThoughtWorks Live 2014: "Building Systems That Pivot"

MONOLITHIC ARCHITECTURES

Page 10: ThoughtWorks Live 2014: "Building Systems That Pivot"

LAYERED/TIERED ARCHITECTURE

User Interface/Channels

Business Logic/

Frameworks/Middleware

Database/Systems

of Record

Page 11: ThoughtWorks Live 2014: "Building Systems That Pivot"

FINE-GRAINED ARCHITECTURE

Page 12: ThoughtWorks Live 2014: "Building Systems That Pivot"

BOUNDARIES

Page 13: ThoughtWorks Live 2014: "Building Systems That Pivot"

BOUNDARIES

A business capability

Placing

Order

Tracking

Order

Short-term experimentation

DroneBased

Delivery

Technology & security

requirements

Debit

Cards

Credit Card

Payments

CAN I RELEASE THESE INDEPENDENTLY?

Page 14: ThoughtWorks Live 2014: "Building Systems That Pivot"

A THOUGHT EXPERIMENT

Integration

Off-the-shelf

MICROSERVICE

S• Independent

• Business capability

• Published interface

• Small

• 100s, not 1000s

Page 15: ThoughtWorks Live 2014: "Building Systems That Pivot"

BENEFITS

User Interface/Channels

Business Logic/

Frameworks/Middleware

Database/Systems

of Record

Page 16: ThoughtWorks Live 2014: "Building Systems That Pivot"

AUTONOMY

AUTONOMY ➡ SPEED

Page 17: ThoughtWorks Live 2014: "Building Systems That Pivot"

ABSORBS TECHNOLOGY FASTER

.NET

Clojure

Java

[SQL Database]

[Graph Database]

[Document Storage]

Page 18: ThoughtWorks Live 2014: "Building Systems That Pivot"

COMPOSE-ABILITY

Page 19: ThoughtWorks Live 2014: "Building Systems That Pivot"

ANTI-PATTERN – COUPLING THROUGH THE DATABASE

CUSTOMER ORDERS

Page 20: ThoughtWorks Live 2014: "Building Systems That Pivot"

AUTOMATE!

AUTOMATE!

AUTOMATE!

Page 21: ThoughtWorks Live 2014: "Building Systems That Pivot"

AUTOMATION

Build Test Integration Acceptance Production

Page 22: ThoughtWorks Live 2014: "Building Systems That Pivot"

AUTOMATION

Build Test Integration Acceptance Production

Page 23: ThoughtWorks Live 2014: "Building Systems That Pivot"

MICROSERVICES’ PATH TO PRODUCTION

Build Test Integration Acceptance Production

Page 24: ThoughtWorks Live 2014: "Building Systems That Pivot"

MONITORING

STATUS

• Up?

• Down?

STATUS

• All up?

• All down?

• Mostly up?

• Up apart from 1?

• All of the important bits are up?

• …

Page 25: ThoughtWorks Live 2014: "Building Systems That Pivot"

AMAZON PRODUCT PAGE

DOESN’T APPEAR… DO WE CARE?

Page 26: ThoughtWorks Live 2014: "Building Systems That Pivot"

A THOUGHT EXPERIMENT

Integration

Off-the-shelf

Bespoke

OFF-THE-SHELF SOFTWARE

Page 27: ThoughtWorks Live 2014: "Building Systems That Pivot"

BUILD VS. BUY

Customer Data Customer Facing Products

STRATEGIC

(BUILD)

UTILITY

(BUY)Ledger Systems Call Center Payments

Page 28: ThoughtWorks Live 2014: "Building Systems That Pivot"

PRODUCT SELECTION CRITERIA

• Can you write automated tests against it?

• Can it be automatically deployed?

• Can its environments be automatically provisioned?

• Can updates be automatically applied?

• Does it fit the way you work?

• Is it built using open standards?

• Does it run on open platforms?

• Is data stored in open formats?

• Is it open source?

Page 29: ThoughtWorks Live 2014: "Building Systems That Pivot"

A THOUGHT EXPERIMENT

Integration

Off-the-shelf

Bespoke

COMPONENT INTEGRATION

Page 30: ThoughtWorks Live 2014: "Building Systems That Pivot"

INTEGRATION

Smart & Complex Integration System

Page 31: ThoughtWorks Live 2014: "Building Systems That Pivot"

Simple & Dumb

Integration

Open standards

(e.g., HTTP)

Page 32: ThoughtWorks Live 2014: "Building Systems That Pivot"

Simple & Dumb

Infrastructure SUMMARY

Page 33: ThoughtWorks Live 2014: "Building Systems That Pivot"

RECOMMENDATIONS

• Bespoke development ➡ microservices

–Automate everything!

• Off-the-shelf software ➡ utility systems

–Select for automation and open standards

• Component integration

–Dumb, open and “of the web”

OTS

Bespoke

Bespoke

OTS

Page 34: ThoughtWorks Live 2014: "Building Systems That Pivot"

CONCLUSION

Page 35: ThoughtWorks Live 2014: "Building Systems That Pivot"

THANK YOUZhamak Dehghani

[email protected] @zhamakd

Andy Marks

[email protected] @andee_marks