Transcript
Page 1: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

BUILDING SYSTEMS THAT PIVOT

Andy Marks [email protected]

@andee_marks

Zhamak Dehghani [email protected] @zhamakd

Page 2: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 3: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 4: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 5: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 6: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 7: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 8: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 9: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 10: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

CONTINUOUS DELIVERY AS AN ENABLER • automated build • automated deployment • automated environment provisioning - cloud & virtualisation • automated testing

Page 11: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

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 A T U R I T Y L E V E L

Threshold without changing architecture

Page 12: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

ARCHITECTURE

Page 13: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

A THOUGHT EXPERIMENT  

Build Test Integration Acceptance Production

System.out.println (“Hello World!”);

How long will this take?

Page 14: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 15: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

ELEMENTS OF ARCHITECTURE 

Integration

Off-the-shelf

Bespoke

Off-the-shelf

Bespoke

Integration

Integration

Integration

Page 16: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

ELEMENTS OF ARCHITECTURE 

Integration

Off-the-shelf

Bespoke

Off-the-shelf

Bespoke

Integration

Integration

Integration

BESPOKE DEVELOPMENT

Page 17: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

MONOLITHIC ARCHITECTURES

Page 18: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 19: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 20: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 21: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

LAYERED/TIERED ARCHITECTURE

User Interface/Channels

Business Logic/ Frameworks/Middleware

Database/Systems of Record ?

Page 22: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 23: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 24: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 25: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

FINE-GRAINED ARCHITECTURE

Page 26: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

BOUNDARIES

Page 27: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 28: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 29: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 30: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 31: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

BOUNDARIES

A business capability

Placing Order

Tracking Order

Short-term experimentation

Drone Based

Delivery

Technology & security requirements

Debit Cards

Credit Card

Payments

CAN I RELEASE THESE INDEPENDENTLY?

Page 32: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

A THOUGHT EXPERIMENT  

Integration

Off-the-shelf MICRO SERVICES

•  Independent •  Business capability •  Published interface

•  Small •  100s, not 1000s

Page 33: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

BENEFITS

User Interface/Channels

Business Logic/ Frameworks/Middleware

Database/Systems of Record

Page 34: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

AUTONOMY

AUTONOMY ➡ SPEED

Page 35: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

ABSORBS TECHNOLOGY FASTER

.NET

Clojure

Java

[SQL Database]

[Graph Database]

[Document Storage]

Page 36: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

COMPOSE-ABILITY

Page 37: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 38: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 39: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 40: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 41: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

AUTOMATE! AUTOMATE!

AUTOMATE!

Page 42: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

AUTOMATION

Build Test Integration Acceptance Production

Page 43: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

AUTOMATION Build Test Integration Acceptance Production

Page 44: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 45: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 46: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

MONITORING

STATUS •  Up? •  Down?

STATUS •  All up? •  All down? •  Mostly up? •  Up apart from 1? •  All of the important bits are up? •  …

Page 47: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 48: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 49: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

AMAZON PRODUCT PAGE

DOESN’T APPEAR… DO WE CARE?

Page 50: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

A THOUGHT EXPERIMENT  

Integration

Off-the-shelf

Bespoke

OFF-THE-SHELF SOFTWARE

Page 51: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 52: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 53: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 54: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

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 55: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

COTS

TRADE SUBMISSION

CONFIRMATION RECEIPT

Hosted COTS

trade instructions

trade confirmations

Page 56: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

A THOUGHT EXPERIMENT  

Integration

Off-the-shelf

Bespoke

COMPONENT INTEGRATION

Page 57: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

INTEGRATION

Smart & Complex Integration System

Page 58: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 59: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

Simple & Dumb Integration

Open standards (e.g., HTTP)

Page 60: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

Simple & Dumb Infrastructure SUMMARY

Page 61: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

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 62: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

CONCLUSION

Page 63: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

THANK  YOU  Zhamak Dehghani

[email protected] @zhamakd

Andy Marks [email protected] @andee_marks


Recommended