& Dev Ops
Sherwin-Williams & DevOps
Introduction to Sherwin-Williams
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
Sherwin-Williams & DevOps
My role at Sherwin-Williams
Sherwin-Williams & DevOps
Scaled Agile Framework - SAFe
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)
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
Sherwin-Williams & DevOps
DevOps is not …
Dev
Separate Silos
Ops
Sherwin-Williams & DevOps
DevOps is not …
Dev
Separate DevOps Silo
OpsDevOps
Sherwin-Williams & DevOps
DevOps is not …
Dev
“We Don’t Need Ops”
OpsDevOps
Sherwin-Williams & DevOps
DevOps is …
Dev
Smooth Collaboration
Ops
Sherwin-Williams & DevOps
DevOps is …
What is DevOps?
It’s not a team or title … it’s a pipeline.
Sherwin-Williams & DevOps
DevOps is …
More collaboration and automation between the development and operations teams = larger pipeline
Sherwin-Williams & DevOps
DevOps is …
Remove the hand offs – streamline the process, challenge everything that doesn’t add value.
Sherwin-Williams & DevOps
DevOps
One team cannot do it all …
Must be a joint collaboration effort!
TestsData
Code Environments
Sherwin-Williams & DevOps
Maturity Model
Tests DataCodeEnvironments
Process
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
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
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
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
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
Sherwin-Williams & DevOps
Code
Code
Development
Configuration
Management
Operations
Sherwin-Williams & DevOps
CM + Operations + Development
Build a bigger and better deployment pipeline, through
consistency and reproducibility while leveraging
automation.Code
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
Sherwin-Williams & DevOps
Environments
Environments
Development
Configuration
Management
Operations
Sherwin-Williams & DevOps
Environments
CM + Operations + Development
Creating modular environments for local development
all the way through production.
Sherwin-Williams & DevOps
CM + Operations + Development
400Servers under
control
233 seconds
provision 16 servers
Server configs, App tier,
Web tier and code base
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
Sherwin-Williams & DevOps
Tests
Tests
Development
QA
Performance
Sherwin-Williams & DevOps
Tests
Development + QA + Performance
Testing everything, automatically and at all tiers is
critical to moving at the speed of light.
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.
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.
Sherwin-Williams & DevOps
Development + QA + Performance
Team Level
Jenkins IntegrationTransaction Regression Testing
Sherwin-Williams & DevOps
Development + QA + Performance
Sherwin-Williams & DevOps
Development + QA + Performance
Program Level
Code-Level Release ComparisonsAutomated Regression Testing
Sherwin-Williams & DevOps
Development + QA + Performance
Program Level
Package code-level root-causesDuring performance testingHP Performance Center Integration
Sherwin-Williams & DevOps
Development + QA + Performance
Portfolio Level
Operations Dashboard + AlertingBusiness Dashboard
Sherwin-Williams & DevOps
Data
Data
Development
Configuration
Management
DBA
Sherwin-Williams & DevOps
Development + CM + DBA
Create reproducible databases and data extracts just like
application code … but it’s a lot more complex.
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?
Sherwin-Williams & DevOps
Tests
Data
Code
Environments
Bringing it all together
Orchestration and automated deployments and rollbacks of applications
Sherwin-Williams & DevOps
TestsData
Code Environments
Bringing it all together
Orchestration and automated deployments and rollbacks of applications
Sherwin-Williams & DevOps
Orchestrated Application Releases
Sherwin-Williams & DevOps
Orchestrated Application Releases
Sherwin-Williams & DevOps
DevOps
One team cannot do it all …
Must be a joint collaboration effort!
TestsData
Code Environments
Sherwin-Williams & DevOps
Questions?