& Dev Ops
Sherwin-Williams & DevOps Introduction to Sherwin-Williams
Sherwin-Williams & DevOps Introduction to Sherwin-Williams
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 Image from - dev2ops.org
Sherwin-Williams & DevOps DevOps is not … Dev Separate Silos Ops
Sherwin-Williams & DevOps DevOps is not … Dev Separate DevOps Silo Ops DevOps
Sherwin-Williams & DevOps DevOps is not … Dev “We Don’t Need Ops” Ops DevOps
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! Tests Data Code Environments
Sherwin-Williams & DevOps Maturity Model Tests Data Code Environ ments 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 Environ ments
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 Environ ments
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 Environ ments
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 Environ ments
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 Environ ments
Sherwin-Williams & DevOps 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 … 900 Jenkins jobs across 3 servers 33,562 Build job executions in the last year 3.5 minutes a deployment happens
Sherwin-Williams & DevOps Environments Development Configuration Management Operations
Sherwin-Williams & DevOps Environ ments CM + Operations + Development Creating modular environments for local development all the way through production.
Sherwin-Williams & DevOps CM + Operations + Development 400 Servers 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 15 minutes provision Oracle Webcenter portal (8) Webcenter content (4) Webservers (4) SSO integration LDAP groups Distributed cache layer Architecture diagram was removed
Sherwin-Williams & DevOps Tests DevelopmentQAPerformance
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-causes During performance testing HP Performance Center Integration
Sherwin-Williams & DevOps Development + QA + Performance Portfolio Level Operations Dashboard + AlertingBusiness Dashboard
Sherwin-Williams & DevOps 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 Tests Data 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! Tests Data Code Environments
Sherwin-Williams & DevOps Questions?