27
Accenture Architecture Services If it moves, give it a pipeline …and let’s all start sharing them @markosrendell

Config Management Camp 2017 - If it moves, give it a pipeline

Embed Size (px)

Citation preview

Accenture Architecture Services

If it moves, give it a pipeline…and let’s all start sharing them

@markosrendell

@markosrendell

AWS region

Availability Zone

AWS cloud

AWS Cloud

Internet

Docker Machine

Docker

Compose Selenium

Spin up an ADOP (I’ll come back to why later)

$ curl Jenkins-api

quick-start.sh

@markosrendell

Mark (aka Markos) RendellAssociate Director at AccentureDevOps Shared Service Lead

@markosrendell

[email protected]@markosrendellkramoshttp://markosrendell.wordpress.com

Diversion into Inclusion and Diversity

1. It should be down to all of us to champion this at every opportunity.

2. We all suffer from Unconscious Bias and even if this has just a 0.1% on the

opportunities that we give others, cumulatively this stacks up. (Take a test:

https://implicit.harvard.edu/implicit/selectatest.html)

3. Mirco aggression is a term for behaviour that intimidates others and make it harder

for them to perform a their best in the working environment. Be vigilant and call it

out. (Real examples here: http://www.microaggressions.com/)

Other links:• https://www.fastcompany.com/3044738/hit-the-ground-running/7-simple-methods-to-fight-

against-your-unconscious-biases

• https://codeascraft.com/2016/10/19/being-an-effective-ally-to-women-and-non-binary-people/

• http://weprinciples.org/files/attachments/WHITE_PAPER_Nudging_the_Unconscious_Mind_N

ielsen_&_Kepinski_Oct_2014.pdf

• https://managingbias.fb.com/

• http://www.cmu.edu/news/stories/archives/2015/june/bias-blind-spot.html

@markosrendell

@markosrendell

“the things”stuff that makes “the things”

Configuration Management

What matters the most?

https://unsplash.com/photos/yBzrPGLjMQw

“the things”files that make “the things”

If it moves, put it in version control

https://unsplash.com/photos/yBzrPGLjMQw

files that make “the things” “the things”

Automate for integrity

https://unsplash.com/photos/yBzrPGLjMQw

files that make “the things” “the things”

Orchestrate the automation for integrity

https://unsplash.com/photos/yBzrPGLjMQw

“the things”files that make “the things”

Compile Code Analysis

Committer: jdoeStory:25

Commit ID: 113 Unit Test Deploy PPE Functional TestSecurity and

Perf TestDeploy Prod Test

Tests configuration

Build tools configuration

Deployment software configuration

Middleware configuration

Operating System configuration

Virtual infrastructure configuration

Hardware configuration

Bu

sin

ess

Ap

plic

atio

n

Bu

sin

ess

Ap

plic

atio

n

Bu

sin

ess

Ap

plic

atio

n

Bu

sin

ess

Ap

plic

atio

n

Bu

sin

ess

Ap

plic

atio

n

Compile Code Analysis

Committer: jdoeStory:25

Commit ID: 113 Unit Test Deploy PPE Functional TestSecurity and

Perf Test

Continuous Delivery Pipeline, yeah?

Committer: jdoeStory:2

Commit ID: 23

Committer: jdoeStory:54

Commit ID: 23

Committer: jdoeStory:6

Commit ID: 73

Dog food?

http://www.adventuredogblog.com/wp-content/uploads/2016/08/dog-eating.jpg

@markosrendell

Tests configuration

Build tools configuration

Deployment software configuration

Middleware configuration

Operating System configuration

Virtual infrastructure configuration

Hardware configuration

Bu

sin

ess

Ap

plic

atio

n

Bu

sin

ess

Ap

plic

atio

n

Bu

sin

ess

Ap

plic

atio

n

Bu

sin

ess

Ap

plic

atio

n

Bu

sin

ess

Ap

plic

atio

n

If it moves, give it a pipeline “CDDD”

Compile Code Analysis

Committer: jdoe

Story:25

Commit ID: 113 Unit Test Deploy PPE Functional TestSecurity and Perf

Test

Compile Code Analysis

Committer: jdoe

Story:25

Commit ID: 113 Unit Test Deploy PPE Functional TestSecurity and Perf

Test

Compile Code Analysis

Committer: jdoe

Story:25

Commit ID: 113 Unit Test Deploy PPE Functional TestSecurity and Perf

Test

Compile Code Analysis

Committer: jdoe

Story:25

Commit ID: 113 Unit Test Deploy PPE Functional TestSecurity and Perf

Test

Compile Code Analysis

Committer: jdoeStory:25

Commit ID: 113 Unit Test Deploy PPE Functional TestSecurity and Perf

Test

Tests configuration

Build tools configuration

Deployment software configuration

Middleware configuration

Operating System configuration

Virtual infrastructure configuration

Hardware configuration

Bu

sin

ess

Ap

plic

atio

n

Bu

sin

ess

Ap

plic

atio

n

Bu

sin

ess

Ap

plic

atio

n

Bu

sin

ess

Ap

plic

atio

n

Bu

sin

ess

Ap

plic

atio

n

Pipelines for tools

Compile Code Analysis

Committer: jdoe

Story:25

Commit ID: 113 Unit Test Deploy PPE Functional TestSecurity and Perf

Test

Compile Code Analysis

Committer: jdoe

Story:25

Commit ID: 113 Unit Test Deploy PPE Functional TestSecurity and Perf

Test

Compile Code Analysis

Committer: jdoe

Story:25

Commit ID: 113 Unit Test Deploy PPE Functional TestSecurity and Perf

Test

Compile Code Analysis

Committer: jdoe

Story:25

Commit ID: 113 Unit Test Deploy PPE Functional TestSecurity and Perf

Test

Compile Code Analysis

Committer: jdoeStory:25

Commit ID: 113 Unit Test Deploy PPE Functional TestSecurity and Perf

Test

Tests configuration

Build tools configuration

Deployment software configuration

Middleware configuration

Operating System configuration

Virtual infrastructure configuration

Hardware configuration

Bu

sin

ess

Ap

plic

atio

n

Bu

sin

ess

Ap

plic

atio

n

Bu

sin

ess

Ap

plic

atio

n

Bu

sin

ess

Ap

plic

atio

n

Bu

sin

ess

Ap

plic

atio

n

Pipelines for Infra Code

Compile Code Analysis

Committer: jdoe

Story:25

Commit ID: 113 Unit Test Deploy PPE Functional TestSecurity and Perf

Test

Compile Code Analysis

Committer: jdoe

Story:25

Commit ID: 113 Unit Test Deploy PPE Functional TestSecurity and Perf

Test

Compile Code Analysis

Committer: jdoe

Story:25

Commit ID: 113 Unit Test Deploy PPE Functional TestSecurity and Perf

Test

Compile Code Analysis

Committer: jdoe

Story:25

Commit ID: 113 Unit Test Deploy PPE Functional TestSecurity and Perf

Test

Compile Code Analysis

Committer: jdoeStory:25

Commit ID: 113 Unit Test Deploy PPE Functional TestSecurity and Perf

Test

Website

Version 12

Order Service

Version 1.0.3.15

Email Service

Version 1.0.0.9

Payment Service

Version 1.0.0.3

Deployment tools

Version 47

Platform

Version 83

Cloud Foundrv

Version 23

MySQL

Version 12

CAssandra

Version 12

RabbotMQ

Version 24

Infra-structure

Version 28

Whole Solution

Version 46

Website

Version 12

Order

Service

Version 1.0.3.15

Email

Service

Version 1.0.0.9

Payment

Service

Version 1.0.0.3

Deployment

tools

Version 47

Platform

Version 83

Cloud

Foundrv

Version 23

MySQL

Version 12

CAssandra

Version 12

RabbotMQ

Version 24

Infra-structure

Version 28

Whole

Solution

Version 46N

ON

PR

OD

DA

TA

CE

NT

RE

PL

AT

FO

RM

PROD DATA CENTRE

Check in

Check in

Check in

Check in

Check in

Check in

Check in

Check in

Check in

Compile

and package

Static Code

AnalysisUnit Tests

Run Functional

TestsRun Security Tests PT env deploy Run Tech Tests

CT env

deployProduction deploy

Compile

and package

Static Code

AnalysisUnit Tests

Run Functional

TestsRun Security Tests PT env deploy Run Tech Tests

CT env

deployProduction deploy

Compile

and package

Static Code

AnalysisUnit Tests

Run Functional

TestsRun Security Tests PT env deploy Run Tech Tests

CT env

deployProduction deploy

Compile

and package

Static Code

AnalysisUnit Tests

Run Functional

TestsRun Security Tests PT env deploy Run Tech Tests

CT env

deployProduction deploy

Compile

and packageUnit Tests

Platform env

deployMonitoring tests

Compile

and packageUnit Tests

Platform env

deployMonitoring tests

Compile

and packageUnit Tests

Platform env

deployMonitoring tests

Compile

and packageUnit Tests

Platform env

deployMonitoring tests

Compile

and packageUnit Tests

Platform env

deployMonitoring tests

Website

Ord

er

Serv

ice

Em

ail

Serv

ice

Paym

ent

Serv

ice

Clo

ud

Fo

undrv

MyS

QL

Cassandra

RabbitM

QIn

fra-

str

uctu

re

Pla

tform

NO

N P

RO

D D

AT

A C

EN

TR

EP

LA

TF

OR

M

PROD DATA CENTRE

Check in

Check in

Check in

Check in

Check in

Check in

Check in

Check in

Check in

Compile

and package

Static Code

AnalysisUnit Tests

Run Functional

TestsRun Security Tests PT env deploy Run Tech Tests

CT env

deployProduction deploy

Compile

and package

Static Code

AnalysisUnit Tests

Run Functional

TestsRun Security Tests PT env deploy Run Tech Tests

CT env

deployProduction deploy

Compile

and package

Static Code

AnalysisUnit Tests

Run Functional

TestsRun Security Tests PT env deploy Run Tech Tests

CT env

deployProduction deploy

Compile

and package

Static Code

AnalysisUnit Tests

Run Functional

TestsRun Security Tests PT env deploy Run Tech Tests

CT env

deployProduction deploy

Compile

and packageUnit Tests

Platform env

deployMonitoring tests

Compile

and packageUnit Tests

Platform env

deployMonitoring tests

Compile

and packageUnit Tests

Platform env

deployMonitoring tests

Compile

and packageUnit Tests

Platform env

deployMonitoring tests

Compile

and packageUnit Tests

Platform env

deployMonitoring tests

Website

Ord

er

Serv

ice

Em

ail

Serv

ice

Paym

ent

Serv

ice

Clo

ud

Fo

undrv

MyS

QL

Cassandra

RabbitM

QIn

fra-

str

uctu

re

Pla

tform

Website

Ve

rsio

n 1

2

Ord

er

Serv

ice

Ve

rsio

n 1

.0.3

.15

Em

ail

Serv

ice

Ve

rsio

n 1

.0.0

.9

Paym

ent

Serv

ice

Ve

rsio

n 1

.0.0

.3

Deplo

yment

tools

Ve

rsio

n 4

7

Pla

tform

Ve

rsio

n 8

3

Clo

ud

Foundrv

Ve

rsio

n 2

3

MyS

QL

Ve

rsio

n 1

2

CA

ssandra

Ve

rsio

n 1

2

RabbotM

Q

Ve

rsio

n 2

4

Infra

-stru

ctu

re

Ve

rsio

n 2

8

Whole

Solu

tion

Ve

rsio

n 4

6

NO

N P

RO

D D

AT

A C

EN

TR

EP

LA

TF

OR

M

PROD DATA CENTRE

Check in

Check in

Check in

Check in

Check in

Check in

Check in

Check in

Check in

Compile

and package

Static Code

AnalysisUnit Tests

Run Functional

TestsRun Security Tests PT env deploy Run Tech Tests

CT env

deployProduction deploy

Compile

and package

Static Code

AnalysisUnit Tests

Run Functional

TestsRun Security Tests PT env deploy Run Tech Tests

CT env

deployProduction deploy

Compile

and package

Static Code

AnalysisUnit Tests

Run Functional

TestsRun Security Tests PT env deploy Run Tech Tests

CT env

deployProduction deploy

Compile

and package

Static Code

AnalysisUnit Tests

Run Functional

TestsRun Security Tests PT env deploy Run Tech Tests

CT env

deployProduction deploy

Compile

and packageUnit Tests

Platform env

deployMonitoring tests

Compile

and packageUnit Tests

Platform env

deployMonitoring tests

Compile

and packageUnit Tests

Platform env

deployMonitoring tests

Compile

and packageUnit Tests

Platform env

deployMonitoring tests

Compile

and packageUnit Tests

Platform env

deployMonitoring tests

Website

Ord

er

Serv

ice

Em

ail

Serv

ice

Paym

ent

Serv

ice

Clo

ud

Fo

undrv

MyS

QL

Cassandra

RabbitM

QIn

fra-

str

uctu

re

Pla

tform

Website

Ve

rsio

n 1

2

Ord

er

Serv

ice

Ve

rsio

n 1

.0.3

.15

Em

ail

Serv

ice

Ve

rsio

n 1

.0.0

.9

Paym

ent

Serv

ice

Ve

rsio

n 1

.0.0

.3

Deplo

yment

tools

Ve

rsio

n 4

7

Pla

tform

Ve

rsio

n 8

3

Clo

ud

Foundrv

Ve

rsio

n 2

3

MyS

QL

Ve

rsio

n 1

2

CA

ssandra

Ve

rsio

n 1

2

RabbotM

Q

Ve

rsio

n 2

4

Infra

-stru

ctu

re

Ve

rsio

n 2

8

Whole

Solu

tion

Ve

rsio

n 4

6

NO

N P

RO

D D

AT

A C

EN

TR

EP

LA

TF

OR

M

PROD DATA CENTRE

Check in

Check in

Check in

Check in

Check in

Check in

Check in

Check in

Check in

Compile

and package

Static Code

AnalysisUnit Tests

Run Functional

TestsRun Security Tests PT env deploy Run Tech Tests

CT env

deployProduction deploy

Compile

and package

Static Code

AnalysisUnit Tests

Run Functional

TestsRun Security Tests PT env deploy Run Tech Tests

CT env

deployProduction deploy

Compile

and package

Static Code

AnalysisUnit Tests

Run Functional

TestsRun Security Tests PT env deploy Run Tech Tests

CT env

deployProduction deploy

Compile

and package

Static Code

AnalysisUnit Tests

Run Functional

TestsRun Security Tests PT env deploy Run Tech Tests

CT env

deployProduction deploy

Compile

and packageUnit Tests

Platform env

deployMonitoring tests

Compile

and packageUnit Tests

Platform env

deployMonitoring tests

Compile

and packageUnit Tests

Platform env

deployMonitoring tests

Compile

and packageUnit Tests

Platform env

deployMonitoring tests

Compile

and packageUnit Tests

Platform env

deployMonitoring tests

Website

Ord

er

Serv

ice

Em

ail

Serv

ice

Paym

ent

Serv

ice

Clo

ud

Fo

undrv

MyS

QL

Cassandra

RabbitM

QIn

fra-

str

uctu

re

Pla

tform

Website

Ve

rsio

n 1

2

Ord

er

Serv

ice

Ve

rsio

n 1

.0.3

.15

Em

ail

Serv

ice

Ve

rsio

n 1

.0.0

.9

Paym

ent

Serv

ice

Ve

rsio

n 1

.0.0

.3

Deplo

yment

tools

Ve

rsio

n 4

7

Pla

tform

Ve

rsio

n 8

3

Clo

ud

Foundrv

Ve

rsio

n 2

3

MyS

QL

Ve

rsio

n 1

2

CA

ssandra

Ve

rsio

n 1

2

RabbotM

Q

Ve

rsio

n 2

4

Infra

-stru

ctu

re

Ve

rsio

n 2

8

Whole

Solu

tion

Ve

rsio

n 4

6

Anatomy of a Cartridge – 3 files plus a readme

$ tree.|-- README.md`-- src

`-- urls.txt “1”|-- jenkins| `-- jobs| |-- dsl| | |-- platform_provisionin_jobsg.groovy “2”| | `-- application_jobs.groovy “3”

@markosrendell

AWS region

Availability Zone

AWS cloud

AWS Cloud

Internet

On Premise

Docker Machine

Docker

Compose Selenium

ADOP Platform

Extension

Cartridges

ADOP Cartridge

ADOP: platform for sharing and reusing automation

@markosrendell

AWS region

Availability Zone

AWS cloud

AWS Cloud

Internet

Docker Machine

Docker

Compose Selenium

ADOP Platform

Extension

Cartridges

ADOP Cartridge

We’re going to look at…

@markosrendell

Demo

1. Spin up the platform

2. Load the Docker cartridge and play with it

3. Load the Chef cartridge and play with it

4. Load the Ansible cartridge and play with it

AWS region

Availability Zone

AWS cloud

AWS Cloud

Internet

Docker Machine

Docker

Compose Selenium

ADOP Platform

Extension

Cartridges

ADOP Cartridge

What we looked at

@markosrendell

Tests configuration

Build tools configuration

Deployment software configuration

Middleware configuration

Operating System configuration

Virtual infrastructure configuration

Hardware configuration

Bu

sin

ess

Ap

plic

atio

n

Bu

sin

ess

Ap

plic

atio

n

Bu

sin

ess

Ap

plic

atio

n

Bu

sin

ess

Ap

plic

atio

n

Bu

sin

ess

Ap

plic

atio

n

Sharing the “full stack”

Compile Code Analysis

Committer: jdoe

Story:25

Commit ID: 113 Unit Test Deploy PPE Functional TestSecurity and Perf

Test

Compile Code Analysis

Committer: jdoe

Story:25

Commit ID: 113 Unit Test Deploy PPE Functional TestSecurity and Perf

Test

Compile Code Analysis

Committer: jdoe

Story:25

Commit ID: 113 Unit Test Deploy PPE Functional TestSecurity and Perf

Test

Compile Code Analysis

Committer: jdoe

Story:25

Commit ID: 113 Unit Test Deploy PPE Functional TestSecurity and Perf

Test

Compile Code Analysis

Committer: jdoeStory:25

Commit ID: 113 Unit Test Deploy PPE Functional TestSecurity and Perf

Test

Thanks!

https://github.com/Accenture/adop-docker-compose

[email protected]@markosrendellkramoshttp://markosrendell.wordpress.com