& Dev Ops
Introduction to Sherwin-Williams
Sherwin-Williams & DevOps
Introduction to Sherwin-Williams
290.62
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
Image from - [Link]
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
Sherwin-Williams & DevOps
DevOps is not …
Separate Silos
Dev Ops
Sherwin-Williams & DevOps
DevOps is not …
Separate DevOps Silo
Dev DevOps Ops
Sherwin-Williams & DevOps
DevOps is not …
“We Don’t Need Ops”
Dev DevOps Ops
Sherwin-Williams & DevOps
DevOps is …
Smooth Collaboration
Dev 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!
Code Environments
Data Tests
Sherwin-Williams & DevOps
Maturity Model
Environ
Code Process Tests Data
ments
Sherwin-Williams & DevOps
Maturity Model Example
Level 0 - Regressive Level 4
◆ Manual Process to deploy software Level 3
◆ Environment-specific binaries
Environ
Level 2
◆ Environment provisioned manually ments
Level 1
Level 0
Sherwin-Williams & DevOps
Maturity Model Example
Level 1 - Repeatable Level 4
◆ Automated deployment to some Level 3
environments
Environ
◆ Creation of new environments is Level 2 ments
cheap
Level 1
◆ All configuration externalized and
versioned Level 0
Sherwin-Williams & DevOps
Maturity Model Example
Level 2 - Consistent Level 4
◆ Fully automated, self-services push- Level 3
button process for deploying
Environ
software Level 2 ments
◆ Same process to deploy to every
Level 1
environment
◆ Environments are kept in sync Level 0
Sherwin-Williams & DevOps
Maturity Model Example
Level 3 - Scaled Level 4
◆ Orchestrated deployments managed Level 3
◆ Release and rollback processes
Environ
implemented and tested Level 2 ments
Level 1
Level 0
Sherwin-Williams & DevOps
Maturity Model Example
Level 4 - Optimizing Level 4
◆ All environments managed Level 3
effectively
Environ
◆ Provisioning fully automated Level 2 ments
Level 1
Level 0
Sherwin-Williams & DevOps
Code
Configuration
Management
Development Operations
Code
Sherwin-Williams & DevOps
CM + Operations + Development
Build a bigger and better deployment pipeline, through
consistency and reproducibility while leveraging
Code
automation.
Sherwin-Williams & DevOps
CM + Operations + Development
Just a few build stats …
900 33,562 3.5 minutes
Jenkins jobs Build job executions a deployment
across 3 servers in the last year happens
Sherwin-Williams & DevOps
Environments
Configuration
Management
Development Operations
Environ
ments
Sherwin-Williams & DevOps
CM + Operations + Development
Creating modular environments for local development
all the way through production. Environ
ments
Sherwin-Williams & DevOps
CM + Operations + Development
400 233 seconds
Servers under provision 16 servers
control Server configs, App tier,
Web tier and code base
Sherwin-Williams & DevOps
CM + Operations + Development
15 minutes
provision Oracle
[Link]
Webcenter portal (8)
Webcenter content (4)
Architecture diagram was removed Webservers (4)
SSO integration
LDAP groups
Distributed cache layer
Sherwin-Williams & DevOps
Tests
QA
Development Performance
Tests
Sherwin-Williams & DevOps
Development + QA + Performance
Testing everything, automatically and at all tiers is
critical to moving at the speed of light.
Tests
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
Transaction Regression Testing Jenkins Integration
Sherwin-Williams & DevOps
Development + QA + Performance
Sherwin-Williams & DevOps
Development + QA + Performance
Program Level
Automated Regression Testing Code-Level Release Comparisons
Sherwin-Williams & DevOps
Development + QA + Performance
Program Level
During performance testing Package code-level root-causes
HP Performance Center Integration
Sherwin-Williams & DevOps
Development + QA + Performance
Portfolio Level
Business Dashboard Operations Dashboard + Alerting
Sherwin-Williams & DevOps
Data
Configuration
Management
Development DBA
Data
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
Bringing it all together
Orchestration and automated deployments and rollbacks of applications
Data
Code
Tests
Environments
Sherwin-Williams & DevOps
Bringing it all together
Orchestration and automated deployments and rollbacks of applications
Code Environments
Data Tests
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!
Code Environments
Data Tests
Sherwin-Williams & DevOps
Questions?
Sherwin-Williams & DevOps