103
THE ROAD TO CONTINUOUS DEPLOYMENT - A CASE STUDY MICHIEL ROOK @michieltcs

The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

THE ROAD TO CONTINUOUS DEPLOYMENT - A CASE STUDY

MICHIEL ROOK

@michieltcs

Page 2: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

▸ Developer, consultant, trainer, speaker

▸ @michieltcs

Page 3: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every
Page 4: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every
Page 5: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every
Page 6: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

SAY MICROSERVICES

ONE MORE TIME

Page 7: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every
Page 8: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every
Page 9: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every
Page 10: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every
Page 11: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every
Page 12: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

WORKED FINE IN DEV

OPS PROBLEM NOW

Page 13: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

DEVOPS

Page 14: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

DEVSECOPS

Page 15: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

DEVSECQAOPS

Page 16: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

DEVSECQABIZOPS

Page 17: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

DEVSECQABIZNETOPS

Page 18: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

DEVSECQABIZSYSNETOPS

Page 19: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

DEVTESTSECQABIZSYSNETOPS

Page 20: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

STORY TIME

Page 21: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every
Page 22: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

@michieltcs

Page 23: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

@michieltcs

Large aging monolith

Page 24: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

@michieltcs

Large aging monolith

Generates income

Page 25: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

@michieltcs

Large aging monolith

Slow & complex

Generates income

Page 26: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

@michieltcs

Large aging monolith

Slow & complex

Generates incomeTechnical debt

Page 27: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

@michieltcs

Page 28: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

@michieltcs

Manual releases

Page 29: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

@michieltcs

Manual releases

Fragile tests

Page 30: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

@michieltcs

Manual releases

Frequent issues

Fragile tests

Page 31: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

@michieltcs

Manual releases

Frequent issues

Fragile testsLow velocity

Page 32: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

GOALS

@michieltcs

Page 33: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

GOALS

IMPROVE QUALITY

1

@michieltcs

Page 34: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

GOALS

IMPROVE QUALITY

REDUCE TIME TO MARKET

1 2

@michieltcs

Page 35: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

REFACTOR? REBUILD?

Page 36: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

APPROACH

▸ API first

▸ Services per domain object (job, jobseeker, ...)

▸ Migrate individual pages

@michieltcs

Page 37: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

ORIGINAL MONOLITH

DB

@michieltcs

Page 38: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

ORIGINAL MONOLITH

PROXY

SERVICEORIGINAL MONOLITH

DBDB

DB

@michieltcs

Page 39: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

ORIGINAL MONOLITH

PROXY

SERVICEORIGINAL MONOLITH

ORIGINAL MONOLITH

SERVICE SERVICE

SERVICE

PROXY

DBDB

DBDB

DB DB

@michieltcs

Page 40: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

ARCHITECTURE

FRONTENDS ARE SERVICES

@michieltcs

Page 41: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

ARCHITECTURE

FRONTENDS ARE SERVICES

SERVICES BEHIND LOAD BALANCERS

@michieltcs

Page 42: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

ARCHITECTURE

FRONTENDS ARE SERVICES

SERVICES BEHIND LOAD BALANCERS

SERVICES IN CONTAINERS

@michieltcs

Page 43: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

IMPROVING

Page 44: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

CONTINUOUS EVERYTHING

Page 45: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

DEV BUILD / TEST

CONTINUOUS INTEGRATION

@michieltcs

Page 46: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

DEV BUILD / TEST ACCEPTANCE PRODUCTION

CONTINUOUS DELIVERY

@michieltcs

Page 47: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

DEV BUILD / TEST STAGING / ACCEPTANCE PRODUCTION

CONTINUOUS DEPLOYMENT

@michieltcs

Page 48: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

EVERY COMMIT GOES TO PRODUCTION

Page 49: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

IF IT HURTS DO IT MORE OFTEN

Page 50: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

SMALL STEPS

@michieltcs

Page 51: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

SMALL STEPS EARLY FEEDBACK

@michieltcs

Page 52: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

SMALL STEPS EARLY FEEDBACK

REDUCE TIME TO RECOVER

@michieltcs

Page 53: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

SMALL STEPS

EXPERIMENTS!

EARLY FEEDBACK

REDUCE TIME TO RECOVER

@michieltcs

Page 54: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

ONLY COMMIT TO MASTER

Page 55: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

NO BRANCHES

Page 56: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

NO BRANCHESREALLY.

Page 57: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every
Page 58: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every
Page 59: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

DELAYING INTEGRATION

Page 60: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

CONFLICTS

Page 61: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

FEATURE TOGGLES

Page 62: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

DECOUPLE DEPLOYMENTSFROM RELEASES

Page 63: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

@michieltcs

Page 64: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

FEATURE TOGGLE DEBT

Page 65: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

CODE REVIEWS?

Page 66: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

PAIR PROGRAMMING

Page 67: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

CONTINUOUSINLINE CODE REVIEW

Page 68: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

BUILD PIPELINE

Page 69: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

CONNECT THE DOTS

Page 70: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

AUTOMATE REPEATABLE THINGS

Page 71: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

CONTINUOUS TESTING

Page 72: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

CONFIDENCE

Page 73: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

DEFENSE IN DEPTH

UNIT TESTS

INTEGRATIONTESTS

ACCEPTANCETESTS

UI TESTS

@michieltcs

Page 74: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

DEFENSE IN DEPTH

UNIT TESTS

INTEGRATIONTESTS

ACCEPTANCE

UI TESTS

@Test public void jobCannotBeFound() { when(jobRepository.getById(EXPECTED_JOB_ID)) .thenReturn(null); JobService jobService = new JobService(jobRepository); assertNull(jobService.getById(EXPECTED_JOB_ID)); verify(jobRepository).getById(EXPECTED_JOB_ID); }

@michieltcs

Page 75: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

DEFENSE IN DEPTH

UNIT TESTS

INTEGRATIONTESTS

ACCEPTANCETESTS

UI TESTS

@Test public void shouldFindJob() { expectedJob = loadFixture('active_job.yml'); actualJob = repository.getById(expectedJob.getId()); assertThat(actualJob, isA(Job.class)); assertEquals(expectedJob.getId(), actualJob.getId()); }

@michieltcs

Page 76: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

DEFENSE IN DEPTH

UNIT TESTS

INTEGRATIONTESTS

ACCEPTANCETESTS

UI TESTSScenario: Link to related job Given a job exists And there are related jobs available When that job is viewed Then a list of related jobs is shown And each related job links to the detail page of the related job

@michieltcs

Page 77: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

DEFENSE IN DEPTH

UNIT TESTS

INTEGRATIONTESTS

ACCEPTANCETESTS

UI TESTS

@michieltcs

Page 78: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

UNIT TESTS

INTEGRATION TESTS

ACCEPTANCE TESTS

UI TESTS

SMOKETESTS

Cost Speed

Exploratorytesting Monitoring

@michieltcs

Page 79: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

GOOD ENOUGH

Page 80: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

PIPELINE SPEED = KEY

Page 81: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

DEPLOYMENT

Page 82: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

ROLLING UPDATE

Page 83: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

LOAD BALANCER

ROLLING UPDATE

SERVICE V1.0 SERVICE V1.0SERVICE V1.0

@michieltcs

Page 84: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

LOAD BALANCER

ROLLING UPDATE

SERVICE V1.0 SERVICE V1.0SERVICE V1.0

SERVICE V1.1

@michieltcs

Page 85: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

LOAD BALANCER

ROLLING UPDATE

SERVICE V1.0 SERVICE V1.1SERVICE V1.0

SERVICE V1.0

@michieltcs

Page 86: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

LOAD BALANCER

ROLLING UPDATE

SERVICE V1.0 SERVICE V1.1SERVICE V1.0

SERVICE V1.1

@michieltcs

Page 87: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

LOAD BALANCER

ROLLING UPDATE

SERVICE V1.0 SERVICE V1.1SERVICE V1.1

SERVICE V1.0

@michieltcs

Page 88: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

LOAD BALANCER

ROLLING UPDATE

SERVICE V1.0 SERVICE V1.1SERVICE V1.1

SERVICE V1.1

@michieltcs

Page 89: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

LOAD BALANCER

ROLLING UPDATE

SERVICE V1.1 SERVICE V1.1SERVICE V1.1

SERVICE V1.0

@michieltcs

Page 90: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

LOAD BALANCER

ROLLING UPDATE

SERVICE V1.1 SERVICE V1.1SERVICE V1.1

@michieltcs

Page 91: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

PIPELINE AS CODEnode { stage('Run tests') { sh "phpunit" sh "behat" } stage('Build docker image') { sh "docker build -t jobservice:${env.BUILD_NUMBER} ." sh "docker push jobservice:${env.BUILD_NUMBER}" } stage('Deploy staging') { sh "ansible-playbook -e BUILD=${env.BUILD_NUMBER} -i staging deploy.yml" } stage('Deploy production') { sh "ansible-playbook -e BUILD=${env.BUILD_NUMBER} -i prod deploy.yml" } }

@michieltcs

Page 92: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

@michieltcs

Page 93: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

FEEDBACK!

Page 94: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

RESULTS

Page 95: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

@michieltcs

Team acceptance

Page 96: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

Feature toggle cap

@michieltcs

Team acceptance

Page 97: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

Feature toggle cap

Business alignment & agility

@michieltcs

Team acceptance

Page 98: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

Feature toggle cap

Business alignment & agility

Focus on replacing legacy

@michieltcs

Team acceptance

Page 99: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

Reduced number of

issues

1

@michieltcs

Page 100: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

Reduced number of

issues

1

Build time< 10 min.(50+ per

day)

2 4

@michieltcs

Page 101: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

Reduced number of

issues

1

Build time< 10 min.(50+ per

day)

Improved metrics & audience statistics

2 3

@michieltcs

Page 102: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

Reduced number of

issues

1

Build time< 10 min.(50+ per

day)

Improved metrics & audience statistics

Increased confidence, velocity &

fun

2 3 4

@michieltcs

Page 103: The road to continuous deployment (V6-16x9-DevOpsMoscow) · continuous delivery @michieltcs. dev build / test staging / acceptance production continuous deployment @michieltcs. every

THANK YOU! @michieltcs / [email protected]

www.fourscouts.nlwww.michielrook.nl