building systems that can pivot | zhamak dehghani, principal consultant, thoughtworks | andy maks,...

Post on 28-Nov-2014

603 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Your customers are demanding more every day, and pushing you to deliver features faster than ever before. But do your systems let you move with the speed needed for achieving competitive advantage? This talk introduces concepts in system design that are driven by customers, and allow businesses to pivot faster, and with a higher level of confidence.

TRANSCRIPT

BUILDING SYSTEMS THAT PIVOT

Andy Marks amarks@thoughtworks.com

@andee_marks

Zhamak Dehghani zdehghan@thoughtworks.com @zhamakd

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

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

ARCHITECTURE

A THOUGHT EXPERIMENT  

Build Test Integration Acceptance Production

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

How long will this take?

ELEMENTS OF ARCHITECTURE 

Integration

Off-the-shelf

Bespoke

Off-the-shelf

Bespoke

Integration

Integration

Integration

ELEMENTS OF ARCHITECTURE 

Integration

Off-the-shelf

Bespoke

Off-the-shelf

Bespoke

Integration

Integration

Integration

BESPOKE DEVELOPMENT

MONOLITHIC ARCHITECTURES

LAYERED/TIERED ARCHITECTURE

User Interface/Channels

Business Logic/ Frameworks/Middleware

Database/Systems of Record ?

FINE-GRAINED ARCHITECTURE

BOUNDARIES

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?

A THOUGHT EXPERIMENT  

Integration

Off-the-shelf MICRO SERVICES

•  Independent •  Business capability •  Published interface

•  Small •  100s, not 1000s

BENEFITS

User Interface/Channels

Business Logic/ Frameworks/Middleware

Database/Systems of Record

AUTONOMY

AUTONOMY ➡ SPEED

ABSORBS TECHNOLOGY FASTER

.NET

Clojure

Java

[SQL Database]

[Graph Database]

[Document Storage]

COMPOSE-ABILITY

AUTOMATE! AUTOMATE!

AUTOMATE!

AUTOMATION

Build Test Integration Acceptance Production

AUTOMATION Build Test Integration Acceptance Production

MONITORING

STATUS •  Up? •  Down?

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

AMAZON PRODUCT PAGE

DOESN’T APPEAR… DO WE CARE?

A THOUGHT EXPERIMENT  

Integration

Off-the-shelf

Bespoke

OFF-THE-SHELF SOFTWARE

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?

COTS

TRADE SUBMISSION

CONFIRMATION RECEIPT

Hosted COTS

trade instructions

trade confirmations

A THOUGHT EXPERIMENT  

Integration

Off-the-shelf

Bespoke

COMPONENT INTEGRATION

INTEGRATION

Smart & Complex Integration System

Simple & Dumb Integration

Open standards (e.g., HTTP)

Simple & Dumb Infrastructure SUMMARY

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

CONCLUSION

THANK  YOU  Zhamak Dehghani

zdehghan@thoughtworks.com @zhamakd

Andy Marks amarks@thoughtworks.com @andee_marks

top related