ITIL isn t evil Most people who implement it are Colin McNamara OpenStack ATC / CCIE#18233 Chief Cloud Architect Nexus IS, A Dimension Data Company October 2014
My perspective Chief Cloud Architect::Nexus OpenStack ATC/Ambassador Core reviewer / cofounder OpenStack Training Director 100MM DC Biz Manage DevOps Team Manage Agile BPO Team Beard Growth Specialist CCIE, RHCE, ETC, ETC @colinmcnamara www.colinmcnamara.com
Topics Challenging perceptions - ITIL Experiences What is driving our transition Implementing DevOps with ITILv3 use case - Change and Release Management
Who hates the ITIL pointy haired boss?
Sad fact of many ITIL experiences
Lets challenge assumptions
We can build bridges not bonfires
CALMS and ITIL CULTURE A collection of habits (best written down) Automation A collection of tools and processes Lean Manufacturing Process Optimization Measurement KPI s and their improvement Sharing Engaging open continuous improvement
Culture A collection of improving Habits
Automation Change and Release mgmt
Automation - Change and Release mgmt Jenkins Test Harnesses Vagrant Puppet Jenkins Test Harnesses Ant Jenkins Test Harnesses Vagrant Puppet Git Gerrit Git Gerrit Gerrit Puppet Other Git Gerrit Governance Tooling Git Gerrit Templates and EPG s Gerrit Jenkins Test Harnesses Vagrant Puppet Gerrit Governance Tooling Test Harnesses Jenkins Test Harnesses Puppet Other Puppet Other
Lean
Measurement
Measurement
Sharing Common process s
Sharing Continual Improvement Continual Service Improvement Service Strategy Service Operation Service Design Service Transition Continual Service Improvement
Our transition
Nexus DevOps Part of Dimension Data (5.8B Global Integrator) 2 Years into our DevOps Transition Upstream and Internal Dev Corporate Sponsor of OpenStack Foundation OpenStack contributor OpenDaylight contributor 600+ associates / 300+ engineers Evolving from Systems engineering to Software Development Majority of biz is ITILv3 Ops
My business is changing
Four closely related items
Core truth of today s technology ONE change In one FILE Can CREATE a system Or DESTROY a system
Realization Path to Success DevOps IT Ops
DevOps Use Case Change and Release Management
Assumption is that you know CI
Change and Release Management
Change and Release Management Jenkins Test Harnesses Vagrant Puppet Jenkins Test Harnesses Ant Jenkins Test Harnesses Vagrant Puppet Git Gerrit Git Gerrit Gerrit Puppet Other Git Gerrit Governance Tooling Git Gerrit Templates and EPG s Gerrit Jenkins Test Harnesses Vagrant Puppet Gerrit Governance Tooling Test Harnesses Jenkins Test Harnesses Puppet Other Puppet Other
Align ITIL areas to CI Maturity Area s Service Strategy Determine which types of services should be offered to which customers or markets Service Design Identify service requirements Create new service offerings Change and improve existing service offerings Service Transition Build and deploy new or modified services Service Operation Carry out operational tasks Continual Service Improvement Continually improve the effectiveness and efficiency of services and processes Development Create standards for service chains (cfg, controller) Configuration Templates, puppet modules Use source control - Git Build VSM of specific IT process Operations Script Deployments Expect, Simple Puppet Use source control Git QA Build new services in lab / cloud / virt environment VIRL / GNS3 / VMware / OpenStack Simple test harness built (ping) Management Individual Kanban Boards / Ticket tracking
Defining your own Maturity Levels
Management QA Operations Development Level1 Build Value Stream Maps Build Scripts Source Control Deployment Scripts Source Control Build Test Automation Source Control Visibility: Siloed Individuals Tool Generating Reporting How to get there Level 1 Level1 Self Service Builds Nightly Builds Build Artifacts are stored Self Services deploy to test Auto deploy of builds to 1 st env Mostly standard deploys Significant Test execution at build time Visibility: Team Latest reports always accessible Level2 Build on commit Dependency Repo Secured Configs Self-Service deploy to test and prod Standard Process across all environments Some Static analysis Automated Funct tests run nightly Visibility: Cross siloe d team (DevOps) Historical reports available Development Create standards for service chains (cfg, controller) Configuration Templates, puppet modules Use source control - Git Build VSM of specific IT process Operations Script Deployments Expect, Simple Puppet Use source control Git QA Build new services in lab / cloud / virt environment VIRL / GNS3 / VMware / OpenStack Simple test harness built (ping) Management Individual Kanban Boards / Ticket tracking
Management QA Operations Development Level0 Build Value Stream Maps Build Scripts Source Control Deployment Scripts Source Control Build Test Automation Source Control How to get there Level 2 Level2 Self Service Builds Nightly Builds Build Artifacts are stored Self Services deploy to test Auto deploy of builds to 1 st env Mostly standard deploys Significant Test execution at build time Level2 Build on commit Dependency Repo Secured Configs Self-Service deploy to test and prod Standard Process across all environments Some Static analysis Automated Funct tests run nightly Development Ci System Implemented Scripts build virtual env on demand Results from built system get stored Operations Deployment via Config Mgmt tooling Governance / CI system deployed Ops review of config diffs QA CI System Implemented Common functional tests created Common port / path tests created Visibility: Siloed Individuals Tool Generating Reporting Visibility: Team Latest reports always accessible Visibility: Cross siloe d team (DevOps) Historical reports available Management Visualize flow Kanban Board for team Initial ScrumBan Process s Mapped
Management QA Operations Development How to get there Level 3 Level1 Build Value Stream Maps Build Scripts Source Control Level2 Self Service Builds Nightly Builds Build Artifacts are stored Level3 Build on commit Dependency Repo Secured Configs Development Ci Systems integrated with Governance + Src Control Dendancy Mapping (Mvn, Ant, EPG s) Keys, Passwords as variables, stored securely Deployment Scripts Source Control Build Test Automation Source Control Visibility: Siloed Individuals Tool Generating Reporting Self Services deploy to test Auto deploy of builds to 1 st env Mostly standard deploys Significant Test execution at build time Visibility: Team Latest reports always accessible Self-Service deploy to test and prod Standard Process across all environments Some Static analysis Automated Funct tests run nightly Visibility: Cross siloe d team (DevOps) Historical reports available Operations CI Chain Integrated w/ release Governance tool used for Change Control Board Puppet + Vagrant + Scripts abstracted from Dev, test prod QA CI System Implemented CI system running Spec tests / Flake8 etc System building environment and running tests emulating applications Management Roll up reports of multiple team boards Burndown charts stored Card movements logged DevOps changes mapped to existing process s
Starting your transition What can you do at home
Steps To Success Identify your Operational Maturity Level for DevOps Learn Dev Workflows in IT CI Systems and TDD Learn Dev Methodologies Agile / Scrum / Kanban Implement abstraction layers with necessary to program equipment OpenStack, SDN Controllers (OpenDaylight, ACI, Etc) Learn / Implement new languages / methodologies Puppet, Python, Scrum, Visualize effect on the business Lean VSM Continuously improve IT services based on these foundations
Thank You @colinmcnamara Twitter Colin.mcnamara@nexusis.com Dimension Data