Top Banner
ARCHITECTING FOR CONTINUOUS DELIVERY Patrick Kua (@patkua) 1
61

Architecting for Continuous Delivery

Apr 21, 2017

Download

Internet

Patrick Kua
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: Architecting for Continuous Delivery

ARCHITECTING FOR CONTINUOUS DELIVERYPatrick Kua (@patkua)

1

Page 2: Architecting for Continuous Delivery

About Me

@patkua

Page 3: Architecting for Continuous Delivery

About Me

@patkua

wrote

http://tiny.cc/twtlhttp://tiny.cc/retros

Page 4: Architecting for Continuous Delivery

About Me

@patkua

works for

Page 5: Architecting for Continuous Delivery

About Me

People who work with

Page 6: Architecting for Continuous Delivery

About Me

People who work with

wrote the book on

Page 7: Architecting for Continuous Delivery

OUR AGENDA

7

What is CD (briefly)

Architectural Principles

Case Study

Challenges

Page 8: Architecting for Continuous Delivery

WHAT IS CONTINUOUS DELIVERY?

8

Page 9: Architecting for Continuous Delivery

WHAT IS CONTINUOUS DELIVERY?

9

Page 10: Architecting for Continuous Delivery

WHAT IS CONTINUOUS DELIVERY?

10

Page 11: Architecting for Continuous Delivery

WHAT IS CONTINUOUS DELIVERY?

11

Page 12: Architecting for Continuous Delivery

WHAT IS CONTINUOUS DELIVERY?

12

Page 13: Architecting for Continuous Delivery

WHAT IS CONTINUOUS DELIVERY?

13

“Our highest priority is to satisfy the customer through early and

continuous delivery of valuable software.”

Page 14: Architecting for Continuous Delivery

WHAT IS CONTINUOUS DELIVERY?

14

The capability to reliably release software to

production on demand

(with confidence)

Page 15: Architecting for Continuous Delivery

WHAT IS CONTINUOUS DELIVERY?

15

Continuous Integration

Releasable Artefact

Continuous Deployment

Automatic releases

Continuous Delivery

Releases on demand

Page 16: Architecting for Continuous Delivery

BUT HOW?

16

Page 17: Architecting for Continuous Delivery

PRINCIPLES

17

Page 18: Architecting for Continuous Delivery

PRINCIPLES

18

The one law to rule them all…

Page 19: Architecting for Continuous Delivery

19

The one law to rule them all…

CONWAY’S LAW

Page 20: Architecting for Continuous Delivery

20

The one law to rule them all…

CONWAY’S LAW

“organizations which design systems ... are constrained to produce designs which are copies

of the communication structures of these organizations"

Page 21: Architecting for Continuous Delivery

21

“If you have 4 groups working on a compiler, you’ll get a 4-pass compiler”

Eric Raymond - Hacker’s Bible, 1996

Page 22: Architecting for Continuous Delivery

CONWAY’S LAW IN ACTION

22

Page 23: Architecting for Continuous Delivery

23

CONWAY’S LAW

REAL LIFE EXAMPLES

Page 24: Architecting for Continuous Delivery

Production

24

Development

Page 25: Architecting for Continuous Delivery

Production

25

Development

Tooling

Culture

Incentives

A divide in:

Page 26: Architecting for Continuous Delivery

26

- Werner Voegls (Amazon)

“You build it, you run it”

Page 27: Architecting for Continuous Delivery

PRINCIPLES

27

The one law to rule them all…-ilities that matter

Page 28: Architecting for Continuous Delivery

*ilities that matter

Page 29: Architecting for Continuous Delivery

Automatability

Configurability

Testability

Deployability

Evolvability

Monitorability

*ilities that matter

Page 30: Architecting for Continuous Delivery

30

AUTOMATE

ALL THE THINGS

Page 31: Architecting for Continuous Delivery

31

Architect for testability

Page 32: Architecting for Continuous Delivery

32

“Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.” - Yoda

Page 33: Architecting for Continuous Delivery

33

Y-U-NO DEPLOY?

Page 34: Architecting for Continuous Delivery

34

Architect for Configurability

Page 35: Architecting for Continuous Delivery

35

Architect for Monitorability

Page 36: Architecting for Continuous Delivery

36

Architect for Evolvability

Page 37: Architecting for Continuous Delivery

37

Evolutionary Architecture

Technology Radar

Jan 2010

Aug 2010

Jan 2011

Jul 2011

Mar 2012

Assess

Trial

Trial

Adopt

Adopt

Page 38: Architecting for Continuous Delivery

PRINCIPLES

38

The one law to rule them all…-ilities that matterIterate

Page 39: Architecting for Continuous Delivery

39

Post Release 1

Page 40: Architecting for Continuous Delivery

40

Reality

Page 41: Architecting for Continuous Delivery

41

Things go wrong

Page 42: Architecting for Continuous Delivery

CASE STUDY: CLIENT

42

Page 43: Architecting for Continuous Delivery

16+ programme

streams

Page 44: Architecting for Continuous Delivery

4 Product Owners

Page 45: Architecting for Continuous Delivery

Constraints

Page 46: Architecting for Continuous Delivery

What we did

Page 47: Architecting for Continuous Delivery

The result

Page 48: Architecting for Continuous Delivery

CASE STUDY: HP

48

Page 49: Architecting for Continuous Delivery

49

Page 50: Architecting for Continuous Delivery

50

2008

1 or 2 builds per year

Porting code

Manual Testing

Production Support

Detailed Planning

Page 51: Architecting for Continuous Delivery

51

Common codebase

Automated testing

Stop the line

Architecture change

Page 52: Architecting for Continuous Delivery

52

2011

10-15 builds per day

Automated test maintenanceNew automated tests1 master + 1 branch

Page 53: Architecting for Continuous Delivery

Who is doing Continuous Delivery?

Page 54: Architecting for Continuous Delivery

CHALLENGES

54

Page 55: Architecting for Continuous Delivery

Production

55

Development

Page 56: Architecting for Continuous Delivery

56

Snowflake servers

Page 57: Architecting for Continuous Delivery

57Configuration Management

Page 58: Architecting for Continuous Delivery

Investment

Page 59: Architecting for Continuous Delivery

Mindset

Page 60: Architecting for Continuous Delivery

CONCLUSION

60

Page 61: Architecting for Continuous Delivery

61

QUESTIONS@patkua