accenture architecture services why 50 production deploys per … · 2015-07-08 · aws region eu...

45
Accenture Architecture Services Why 50 production deploys per day is essential Martin Croker Markos Rendell

Upload: others

Post on 06-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

Accenture Architecture Services

Why 50 production deploys per day is essential Martin Croker

Markos Rendell

Page 2: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

Martin Croker Managing Director, Accenture Technology Architecture

Responsible for DevOps capability at Accenture.

@martincroker

[email protected]

Markos Rendell Accenture - Senior Technology Architect

@markosrendell

[email protected]

http://markosrendell.wordpress.com

Page 3: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

3

https://www.youtube.com/watch?v=LdOe18KhtT4

Page 4: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

4

https://speakerdeck.com/mrtazz/deploy-collaborate-and-listen

2014

50+ deploys per day

Page 5: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

5

DEPLOYS TO

PRODUCTION EVERY

11.6 SECONDS

https://www.youtube.com/watch?v=dxk8b9rSKOo

Page 6: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

6

Why?

Page 7: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

7

Requirements

Design &

Build

QA &

Test

Operate

Page 8: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

8

Design &

Build

QA &

Test

Operate Best Guess

Page 9: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

9

Design &

Build

QA &

Test

Operate Best Guess

Feedback

Experiments

Page 10: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

10

Design &

Build QA & Test

Operate Best Guess

1 YEAR…

Seconds

Page 11: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

11

"The greater danger for most of

us lies not in setting our aim too

high and falling short; but in

setting our aim too low, and

achieving our mark.“

- Michelangelo

Page 12: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

12

What should we aim for?

To be able to perform 50 deploys per day with no service impact

Page 13: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

13

"The greater danger for most of

us lies not in setting our aim too

high and falling short; but in

setting our aim to low, and

achieving our mark.“

- Michelangelo

"A goal is not always meant to be reached, it often serves simply as something to aim at.“ - Bruce Lee

Page 14: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

Requirements

14

Design &

Build

QA &

Test

Operate

Continuous

Improvement

Page 15: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

Requirements

15

Design &

Build

QA &

Test

Operate

Continuous

Improvement

Page 16: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

16

How?

Page 17: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

17

DevOps-centric

Architecture

Continuous Delivery

Software Defined

Platform

Culture

Page 18: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

18

Continuous Delivery

Anti-Fragile Design

Infrastructure as Code

Organisation & Culture

Page 19: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

19

Value Stream

Idea Value

Page 20: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

20

Release

Ideas Values

Page 21: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

21

Release

Ideas Values

Page 22: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

22

Release

Ideas Values

Page 23: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

23

Value Released

Time

Guessed Well

Page 24: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

24

Value Released

Time

Guessed Well

Guessed Badly

Page 25: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

25

Value Released

Time

Value Stream

Idea Value

Value Stream

Idea Value

Value Stream

Idea Value

Rapid Feedback

Optimise

Page 26: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

26

Pipeline! Pipeline! Pipeline!

Build Static Analysis ST Regression

Build Static Analysis ST Regression

Build Static Analysis ST Regression

Performance

Test Security Test

Page 27: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

27

Pipeline! Pipeline! Pipeline!

Build Static Analysis ST Regression

Build Static Analysis ST Regression

Build Static Analysis ST Regression

Performance

Test Security Test

Effort and schedule

Test Phase

Comprehensive

Fast

Page 28: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

28

Pipeline! Pipeline! Pipeline!

Build Static Analysis ST Regression

Build Static Analysis ST Regression

Build Static Analysis ST Regression

Performance

Test Security Test

Effort and schedule

Test Phase

Pre-commit 1 min

Component 1 hour

Acceptance 4-8 hours

Commit 10 mins

Page 29: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

29

“Quality comes not

from inspection, but

from improvement of

the production

process..“

- Dr W. Edward Deming

Page 30: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

30

Continuous Delivery Principles

Each check-in is a candidate production release

The same processes and tools in ALL environments

A failure at any stage stops the production line

Page 31: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

31

Continuous Delivery

Anti-Fragile Design

Infrastructure as Code

Organisation & Culture

Page 32: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

32

Probability

Impact

Conventional patterns

Anti-fragile design

Page 33: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

33

Anti-fragile design

Graceful degradation

Reduce time to recover

Assume failure is unavoidable

Measure the impact & cost

Page 34: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

34

Continuous Delivery

Anti-Fragile Design

Infrastructure as Code

Organisation & Culture

Page 35: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

35

Page 36: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

36

Pets Cattle

Vs.

Page 37: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

37

Continuous Delivery

Anti-Fragile Design

Infrastructure as Code

Organisation & Culture

Page 38: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

38

Organisation and Culture

Align to business outcomes

Continuously learning

Quality is everybody’s responsibility

Done, Done, Done

Page 39: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

39

Let’s make

it real

Page 40: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard
Page 41: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

Private subnet

Tools security groups

AWS region EU (Ireland)

Availability Zone

Internet

Jenkins

Sonar Confluence

LDAP

Gerrit

Shipyard

Selenium

ELK Jira Chef

Server

Public subnet

Public security group

Nginx

Private subnet

Application security groups

Chef Node

Tomcat

AWS cloud

CloudInit

CloudInit

CloudInit CloudInit CloudInit

CloudInit CloudInit CloudInit AMI

Amazon S3

AWS Cloud

AWS

CloudFormation

CF template json

Accenture DevOps Platform

Page 42: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

Accenture DevOps Platform

Private subnet

Tools security groups

AWS region EU (Ireland)

Availability Zone

Internet

Jenkins

Sonar Confluence

LDAP

Gerrit

Shipyard

Selenium

ELK Jira Chef

Server

Public subnet

Public security group

Nginx

Private subnet

Application security groups

Chef Node

Tomcat

AWS cloud

AMI

Amazon S3

AWS Cloud

AWS

CloudFormation

CF template json

Page 43: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

43

Continuous

Integration

Delivery

Automation

Repeatable Delivery

Defined Environment

Configuration Management

Continuous Delivery

Continuous Deployment

Page 44: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

44

https://en.wikipedia.org/wiki/Fractal @ksbittner

Page 45: Accenture Architecture Services Why 50 production deploys per … · 2015-07-08 · AWS region EU (Ireland) Availability Zone Internet Jenkins Sonar Confluence LDAP Gerrit Shipyard

45

@martincroker

@markosrendell