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

Architecting for Continuous Delivery

Embed Size (px)

Citation preview

ARCHITECTING FOR CONTINUOUS DELIVERYPatrick Kua (@patkua)

1

About Me

@patkua

About Me

@patkua

wrote

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

About Me

@patkua

works for

About Me

People who work with

About Me

People who work with

wrote the book on

OUR AGENDA

7

What is CD (briefly)

Architectural Principles

Case Study

Challenges

WHAT IS CONTINUOUS DELIVERY?

8

WHAT IS CONTINUOUS DELIVERY?

9

WHAT IS CONTINUOUS DELIVERY?

10

WHAT IS CONTINUOUS DELIVERY?

11

WHAT IS CONTINUOUS DELIVERY?

12

WHAT IS CONTINUOUS DELIVERY?

13

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

continuous delivery of valuable software.”

WHAT IS CONTINUOUS DELIVERY?

14

The capability to reliably release software to

production on demand

(with confidence)

WHAT IS CONTINUOUS DELIVERY?

15

Continuous Integration

Releasable Artefact

Continuous Deployment

Automatic releases

Continuous Delivery

Releases on demand

BUT HOW?

16

PRINCIPLES

17

PRINCIPLES

18

The one law to rule them all…

19

The one law to rule them all…

CONWAY’S LAW

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"

21

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

Eric Raymond - Hacker’s Bible, 1996

CONWAY’S LAW IN ACTION

22

23

CONWAY’S LAW

REAL LIFE EXAMPLES

Production

24

Development

Production

25

Development

Tooling

Culture

Incentives

A divide in:

26

- Werner Voegls (Amazon)

“You build it, you run it”

PRINCIPLES

27

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

*ilities that matter

Automatability

Configurability

Testability

Deployability

Evolvability

Monitorability

*ilities that matter

30

AUTOMATE

ALL THE THINGS

31

Architect for testability

32

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

33

Y-U-NO DEPLOY?

34

Architect for Configurability

35

Architect for Monitorability

36

Architect for Evolvability

37

Evolutionary Architecture

Technology Radar

Jan 2010

Aug 2010

Jan 2011

Jul 2011

Mar 2012

Assess

Trial

Trial

Adopt

Adopt

PRINCIPLES

38

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

39

Post Release 1

40

Reality

41

Things go wrong

CASE STUDY: CLIENT

42

16+ programme

streams

4 Product Owners

Constraints

What we did

The result

CASE STUDY: HP

48

49

50

2008

1 or 2 builds per year

Porting code

Manual Testing

Production Support

Detailed Planning

51

Common codebase

Automated testing

Stop the line

Architecture change

52

2011

10-15 builds per day

Automated test maintenanceNew automated tests1 master + 1 branch

Who is doing Continuous Delivery?

CHALLENGES

54

Production

55

Development

56

Snowflake servers

57Configuration Management

Investment

Mindset

CONCLUSION

60

61

QUESTIONS@patkua