dev opsyour+dev… · separate devops silo devops ops. ... level 4 - optimizing level 0 level 1...

46
& Dev Ops

Upload: others

Post on 24-Aug-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

& Dev Ops

Page 2: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Introduction to Sherwin-Williams

Page 3: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

My role at Sherwin-Williams

◆ With Sherwin-Williams 8 years

◆ IT Manager for Architecture and

Continuous Delivery

◆ Been in IT 13 years

◆ Been an IT manager for 7 years

◆ Favorite Superhero – Captain America

Page 4: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

My role at Sherwin-Williams

Page 5: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Scaled Agile Framework - SAFe

Page 6: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

DevOps

“You keep using that word. I do not think it means what you think it means”

-Inigo Montoya (The Princess Bride)

Page 7: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Why DevOps?

◆ Efficiency - Faster time to market

◆ Predictability - Lower failure rate of new

releases

◆ Reproducibility – Version everything

◆ Maintainability - Faster time to recovery in the

event of a new release crashing or otherwise

disabling the current system

Break down the wall between development and operations

Imag

e fr

om

-d

ev2

op

s.o

rg

Page 8: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

DevOps is not …

Dev

Separate Silos

Ops

Page 9: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

DevOps is not …

Dev

Separate DevOps Silo

OpsDevOps

Page 10: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

DevOps is not …

Dev

“We Don’t Need Ops”

OpsDevOps

Page 11: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

DevOps is …

Dev

Smooth Collaboration

Ops

Page 12: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

DevOps is …

What is DevOps?

It’s not a team or title … it’s a pipeline.

Page 13: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

DevOps is …

More collaboration and automation between the development and operations teams = larger pipeline

Page 14: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

DevOps is …

Remove the hand offs – streamline the process, challenge everything that doesn’t add value.

Page 15: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

DevOps

One team cannot do it all …

Must be a joint collaboration effort!

TestsData

Code Environments

Page 16: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Maturity Model

Tests DataCodeEnvironments

Process

Page 17: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Maturity Model Example

◆ Manual Process to deploy software

◆ Environment-specific binaries

◆ Environment provisioned manually

Level 0 - Regressive

Level 0

Level 1

Level 2

Level 3

Level 4

Environments

Page 18: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Maturity Model Example

◆ Automated deployment to some

environments

◆ Creation of new environments is

cheap

◆ All configuration externalized and

versioned

Level 1 - Repeatable

Level 0

Level 1

Level 2

Level 3

Level 4

Environments

Page 19: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Maturity Model Example

◆ Fully automated, self-services push-

button process for deploying

software

◆ Same process to deploy to every

environment

◆ Environments are kept in sync

Level 2 - Consistent

Level 0

Level 1

Level 2

Level 3

Level 4

Environments

Page 20: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Maturity Model Example

◆ Orchestrated deployments managed

◆ Release and rollback processes

implemented and tested

Level 3 - Scaled

Level 0

Level 1

Level 2

Level 3

Level 4

Environments

Page 21: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Maturity Model Example

◆ All environments managed

effectively

◆ Provisioning fully automated

Level 4 - Optimizing

Level 0

Level 1

Level 2

Level 3

Level 4

Environments

Page 22: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Code

Code

Development

Configuration

Management

Operations

Page 23: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

CM + Operations + Development

Build a bigger and better deployment pipeline, through

consistency and reproducibility while leveraging

automation.Code

Page 24: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

CM + Operations + Development

Just a few build stats …

1100Jenkins jobs

across 3 servers

46,562Build job executions

in the last year

2.5 minutes

a deployment happens

Page 25: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Environments

Environments

Development

Configuration

Management

Operations

Page 26: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Environments

CM + Operations + Development

Creating modular environments for local development

all the way through production.

Page 27: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

CM + Operations + Development

400Servers under

control

233 seconds

provision 16 servers

Server configs, App tier,

Web tier and code base

Page 28: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

CM + Operations + Development

my.sherwin.com

15minutes

provision OracleWebcenter portal (8)

Webcenter content (4)

Webservers (4)

SSO integration

LDAP groups

Distributed cache layer

Page 29: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Tests

Tests

Development

QA

Performance

Page 30: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Tests

Development + QA + Performance

Testing everything, automatically and at all tiers is

critical to moving at the speed of light.

Page 31: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Quality Engineer

◆ Provide guidance for test automation to the feature teams as they develop tests wrapped around features/stories and ensure test coverage.

◆ Design framework to embed testing into CI process.

◆ Provide design and guidance for mobile and browser testing.

◆ Provide support to the systems team to ensure code, environment, data and test management.

◆ Develop, implement and maintain system integration, end-to-end, smoke, and regression tests for the over arching functionality being delivered.

Page 32: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Performance Engineer

◆ Provide guidance to teams with gathering/creating NFRs for features/stories.

◆ Design/provide guidance to design a reliable and repeatable performance test integrated with CI to measure NFRs and gather performance trends across features.

◆ Work with/enable teams to troubleshoot performance issues by tooling for monitoring and analysis.

◆ Support system demos by defining system level NFRs and designing the performance tests to validate those NFRs.

Page 33: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Development + QA + Performance

Team Level

Jenkins IntegrationTransaction Regression Testing

Page 34: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Development + QA + Performance

Page 35: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Development + QA + Performance

Program Level

Code-Level Release ComparisonsAutomated Regression Testing

Page 36: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Development + QA + Performance

Program Level

Package code-level root-causesDuring performance testingHP Performance Center Integration

Page 37: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Development + QA + Performance

Portfolio Level

Operations Dashboard + AlertingBusiness Dashboard

Page 38: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Data

Data

Development

Configuration

Management

DBA

Page 39: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Development + CM + DBA

Create reproducible databases and data extracts just like

application code … but it’s a lot more complex.

Page 40: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Development + CM + DBA

Why database migrations?

◆ What state is the database in on this

machine?

◆ Has this script already been applied or

not?

◆ Has the quick fix in production been

applied in test afterwards?

◆ How do you set up a new database

instance?

Page 41: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Tests

Data

Code

Environments

Bringing it all together

Orchestration and automated deployments and rollbacks of applications

Page 42: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

TestsData

Code Environments

Bringing it all together

Orchestration and automated deployments and rollbacks of applications

Page 43: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Orchestrated Application Releases

Page 44: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Orchestrated Application Releases

Page 45: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

DevOps

One team cannot do it all …

Must be a joint collaboration effort!

TestsData

Code Environments

Page 46: Dev Opsyour+Dev… · Separate DevOps Silo DevOps Ops. ... Level 4 - Optimizing Level 0 Level 1 Level 2 Level 3 Level 4 Environ ments. Sherwin-Williams & DevOps Code Code Development

Sherwin-Williams & DevOps

Questions?