01-DevOps-Introduction
01-DevOps-Introduction
Instructor:
John J Rofrano
Senior Technical Staff Member | DevOps Champion
IBM T.J. Watson Research Center
[email protected] (@JohnRofrano)
1
What are businesses up against?
52%
of the Fortune 500 have
disappeared since the year
2000
2
@JohnRofrano https://www.capgemini.com/consulting/wp-content/uploads/sites/30/2017/07/digital_disruption_1.pdf
DevOps
Source: McKinsey Digital Global Survey, 2016 and 2017; McKinsey analysis
@JohnRofrano 3
DevOps
A ridesharing service is 40% cheaper than a regular When was the last time you used a travel agent,
cab for a 5 mile trip into Los Angeles bought a GPS device, Or carried a point-and-shoot
camera separate from your phone?
$$$ Ridesharing
$$$$$ Taxi
@JohnRofrano 4
DevOps
@JohnRofrano 5
DevOps
Unlearn
what you
have learned
Often easier said
than done
@JohnRofrano
6 © 2018 IBM Corporation 27 February 2019 IBM Services
DevOps
Consider this...
@JohnRofrano 7
DevOps
https://conferences.oreilly.com/velocity/velocity2009/public/schedule/detail/7641
@JohnRofrano 8
DevOps
@JohnRofrano 10 http://www.kitchensoap.com/2010/11/07/mttr-mtbf-for-most-types-of-f/
DevOps
...big
enterprisers
can't possibly
work like this,
right?
@JohnRofrano 11
DevOps
@JohnRofrano 12
DevOps
@JohnRofrano 13
DevOps
@JohnRofrano 14
DevOps
What is DevOps?
@JohnRofrano 15
DevOps
@JohnRofrano 16
DevOps
What is DevOps?
• To do this we need:
• A culture of collaboration valuing openness, trust, and transparency
• An application design that does not require entire systems to be redeployed just
to add a single function
• Automation that accelerates and improves the consistency of application delivery
so that we can develop and deliver software with speed and stability
• A dynamic software-defined, programmable platform to continuously deploy
onto
@JohnRofrano 17
DevOps
@JohnRofrano 18
DevOps
@JohnRofrano 19
fi
fi
DevOps
@JohnRofrano 20
DevOps
@JohnRofrano 21
DevOps
vs
@JohnRofrano 23
BRIEF
HISTORY OF
DEVOPS
@JohnRofrano 24
DevOps
Deploy
• No idea if it works until the end
@JohnRofrano 26
fi
DevOps
@JohnRofrano 28
fi
DevOps
Agile Manifesto
Agile Development
@JohnRofrano 30
fl
DevOps
@JohnRofrano 31
DevOps
Dysfunctional
DevOps
@JohnRofrano 32
DevOps
Dysfunctional
DevOps
@JohnRofrano 33
DevOps
Dysfunctional
DevOps
@JohnRofrano 34
DevOps
Dysfunctional Water
DevOps
Organizations that
Scrum
wants to change
without actually
changing anything!
Fall
• While Agile improved the speed and accuracy of software for developers, it did nothing for
operations
@JohnRofrano 37 https://www.scrumalliance.org/community/articles/2014/april/devops-and-agile
DevOps
• Many development teams just got frustrated by ops not being able to deliver at the
speed of development
@JohnRofrano Cloud 38
DevOps
@JohnRofrano 39
DevOps
...enter DevOps
@JohnRofrano 40
DevOps
@JohnRofrano 41
DevOps
DevOpsDays 2009
Bridget Kromhout
(Lead 2015-2020)
@JohnRofrano 43
DevOps
@JohnRofrano 44
DevOps
@JohnRofrano 45
DevOps
@JohnRofrano 47
DevOps
@JohnRofrano 49
DevOps
Major
Influencers
of the early
DevOps Patrick Debois Andrew Clay Shafer John Allspaw Jez Humble
Movement
(10 years later)
@JohnRofrano 50
DevOps
@JohnRofrano 52
DevOps
• Smart experimentation
• Moving in‐market with
maximum velocity and
minimum risk
• Gaining quick valuable insight
to continuously change the
value proposition and quality
@JohnRofrano 53
DevOps
Cultural Change
Loose Coupling/Binding
Automated Pipeline
RESTful APIs
Everything as Code
Designed to resist failures
Immutable Infrastructure
Test by break / fail fast
DevOps Microservices
AGILITY
Containers Portability
Developer Centric
Ecosystem enabler
Fast startup
@JohnRofrano 54
The Perfect Storm
DevOps for speed and agility
Microservices for small deployments
Containers for ephemeral runtimes
@JohnRofrano 55
DevOps
@JohnRofrano 56
DevOps
Application Evolution
Service Oriented
Architecture Monoliths Architecture
Microservices
Virtual
Infrastructure Physical Servers
Machines
Containers
@JohnRofrano 57
DevOps
@JohnRofrano 58
DevOps
1.Culture
2.Methods
3.Tools
@JohnRofrano 59
DevOps
@JohnRofrano 60
DevOps
@JohnRofrano 61
DevOps
@JohnRofrano 62 https://www.quora.com/What-is-the-importance-of-culture
DevOps
@JohnRofrano 63
DevOps
@JohnRofrano 64
DevOps
DevOps Thinking
• Social Coding
• Behavior and Test Driven Development
• Working in small batches*
• Build Minimum Viable Products for gaining insights*
• Failure leads to understanding
@JohnRofrano 65
DevOps
Traditional Thinking
• You see a project that is 80% of what you need but there are
some missing features but…
• You feel that if you make a feature request of the project owner,
your request will be rejected or go to the bottom of their priorities
@JohnRofrano 66
DevOps
• Discuss the new feature with the repo owner and agree to
develop it
• Issue a Pull Request when you are ready to review and merge
your work back into the main project
@JohnRofrano 67
DevOps
@JohnRofrano 68
DevOps
https://blog.crisp.se/2016/01/25/henrikkniberg/making-sense-of-mvp
@JohnRofrano 69
69
DevOps
@JohnRofrano 70
DevOps
Think Microservices
"…the microservice architectural style is an
approach to developing a single application as
a suite of small services, each running in
its own process and communicating with
lightweight mechanisms, often an HTTP
resource API. These services are built around
business capabilities and independently
deployable by fully automated deployment
machinery."
@JohnRofrano
72 © 2018 IBM Corporation 27 February 2019 IBM Services
DevOps
Monolith Microservices
• Agility
• Scalability
• Resilience
@JohnRofrano 74
DevOps
@JohnRofrano 75
DevOps
@JohnRofrano 76
DevOps
@JohnRofrano 77
DevOps
• Upon deployment, the new Retail Liquidity Program (RLP) code in SMARS was
intended to replace unused code in the relevant portion of the order router.
• This unused code previously had been used for functionality called “Power Peg,”
which Knight had discontinued using many years earlier.
• Despite the lack of use, the Power Peg functionality remained present and callable
at the time of the RLP deployment.
• The new RLP code also repurposed a flag that was formerly used to activate the
Power Peg code.
• Knight intended to delete the Power Peg code so that when this flag was set to
“yes,” the new RLP functionality—rather than Power Peg—would be engaged.
@JohnRofrano 79
DevOps
Knight
Capital’s
$460
Million
Release
Failure
@JohnRofrano 80
DevOps
@JohnRofrano 83
DevOps
@JohnRofrano 84 http://www.kitchensoap.com/2010/11/07/mttr-mtbf-for-most-types-of-f/
DevOps
@JohnRofrano 85
DevOps
@JohnRofrano 86
DevOps
Working DevOps
@JohnRofrano 87
DevOps
We have worked
the same way
since the industrial
revolution
@JohnRofrano
88 © 2018 IBM Corporation 27 February 2019 IBM Services
DevOps
Taylorism
Named after the US industrial engineer Frederick Winslow Taylor (1856-1915) who in
his 1911 book 'Principles Of Scientific Management' laid down the fundamental
principles of large-scale manufacturing through assembly-line factories.
@JohnRofrano 90
DevOps
Optimized roles may work great making cars (assembly line), not so good for
software development (yields waterfall / silos)
hand-off hand-off hand-off hand-off
hand-off
Project
Management Architects Developers Testers Operations Security
(Planners)
@JohnRofrano 91
Organizational Impact of DevOps
Software
Development is
NOT like
Assembling
Automobiles
In software
development, most of
the parts don't even
exist yet
1928 Ford Rouge Complex Model A assembly line negative from the Ford
Motor Company archives.
@JohnRofrano 92
DevOps
@JohnRofrano 93
DevOps
@JohnRofrano 94
Organizational Impact of DevOps
Software
Engineering
vs
Civil
Engineering
@JohnRofrano 95
Organizational Impact of DevOps
• When a project is complete, the system gets tossed over the wall to
operations to run and maintain as part of a "business as usual" effort
• All the people in the project team get reallocated to new work
@JohnRofrano 96
DevOps
WALL OF CONFUSION
• Operations want Stability
@JohnRofrano 98
DevOps
@JohnRofrano 100
DevOps
IT Silos
Breed
Apathy
@JohnRofrano 101
DevOps
“If the web site works, the developers get the praise
@JohnRofrano 102
DevOps
• Deployment is king
• Deployment must be painless
• You have deployed the same thing several times before it gets
to production
• Deployment is decoupled from activation
• Risk is managed via activation controls (blue-green deploys
with canary testing)
• 10% of the user base, waves of activation, etc.
• Deployment is not “one size fits all”
• It is a rail yard of interconnecting steps and microprocesses
@JohnRofrano 104
DevOps
Ephemeral Infrastructure
The Cloud has enabled new ways of managing server builds, software releases, and server entropy
@JohnRofrano 106
DevOps
Immutable Delivery
@JohnRofrano 107
DevOps
Zero-Downtime Deployments
• They differ by the artifacts that the developer has intentionally changed, typically by the
version of the application. At any given time, at least one of the environments is active.
• Using the blue-green deployment technique, you can realize the following benefits:
• Take software quickly from the final stage of testing to live production.
• Rollback rapidly. If there is something wrong with one of your environments, you can
quickly switch to the other environment.
@JohnRofrano 108
DevOps
@JohnRofrano 109
DevOps
Agile Manifesto
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right,
@JohnRofrano
we value the items 110
on the left more.
Organizational Impact of DevOps
@JohnRofrano 111
DevOps
• Iterative Sprints
• Groomed Backlogs
• Customer Stories
• 2 Week Deliverables
@JohnRofrano 112
DevOps
@JohnRofrano 113
DevOps
@JohnRofrano 114
DevOps
Conway’s Law
Web Tier
App Tier
Application Team
Database
Login Inventory
Registration Personalization Shipping
Users Receiving
@JohnRofrano 117
DevOps
@JohnRofrano 118
Spotify Engineering Culture
https://www.youtube.com/watch?v=R2o-Xm3UVjs
@JohnRofrano 119
DevOps
Engineering Culture
Rules are a good start, then break them when needed
Organizational Structure
• Squads are grouped into Tribes
(light-weight matrix)
• Chapters of competency areas are
formed across Squads
• Guilds are informal light-weight
community of interests across the
company
@JohnRofrano 121
DevOps
Autonomous Squads
Loosely coupled, Tightly aligned squads
• Each Squad has it’s own mission aligned with the business
• Feels like a "mini-startup"
• Self Organizing / Cross-functional
• 5-7 engineers, less than 10
• Squads have end-to-end responsibility for what they build
• Build, commit, deploy, maintenance, operations, EVERYTHING!!!
• With a long term mission usually around a single business domain
@JohnRofrano 122
DevOps
@JohnRofrano 123
DevOps
Select your job function:
From the web site of a major player who should know better
DevOps
Identity
Problem
https://johnrofrano.medium.com/devops-engineer-is-the-new-sysadmin-5bc46b86d413
@JohnRofrano 124
DevOps
Large Enterprises
Dev DevOps Ops
Cloud Native Startups
https://continuousdelivery.com/2012/10/theres-no-such-thing-as-a-devops-team/
@JohnRofrano 126
DevOps
I want a new
job!
I want I want
change! stability!
WALL OF CONFUSION
DevOps Operations
Development
Team Team Team
@JohnRofrano 127
DevOps
DevOps
Organizational
Objective
Shared Consciousness
…with
@JohnRofrano
128 © 2018 IBM Corporation 27 February 2019 IBM Services
DevOps
– Jez Humble
https://continuousdelivery.com/2012/10/theres-no-such-thing-as-a-devops-team/
@JohnRofrano 129
DevOps
@JohnRofrano 130
DevOps
@JohnRofrano 131
DevOps
https://aws.amazon.com/blogs/enterprise-strategy/enterprise-devops-why-you-should-run-what-you-build/
@JohnRofrano 132
DevOps
@JohnRofrano 133
DevOps
@JohnRofrano 134
DevOps
@JohnRofrano 136
DevOps
@JohnRofrano 137
DevOps
@JohnRofrano 138
DevOps
DevOps Metrics
• A BASELINE provides a concrete number for comparison as you implement your DevOps
changes:
• It currently requires six team members 10 hours to deploy a new release of our
product.
• This costs us $X for every release
• Metric GOALS allow you to reason about these numbers and judge the success of your
transition process:
• Reduce deployment time from 10 hours to 2 hours.
• Increase percentage of defects detected in testing from 25% to 50%
@JohnRofrano 139
DevOps
Vanity Metrics
…good for feeling awesome, bad for action
@JohnRofrano 140
DevOps
Actionable Metrics
• Imagine you add a new feature to your website, and you do it using an A/B split-test in
which 50% of customers see the new feature and the other 50% don’t.
• A few days later, you take a look at the revenue you’ve earned from each set of
customers, noticing that group B has 20% higher revenue per-customer.
• Think of all the decisions you can make:
• Obviously, roll out the feature to 100% of your customers
• Continue to experiment with more features like this one and …
• Realize that you’ve probably learned something that’s particular valuable to your
customers.
http://tim.blog/2009/05/19/vanity-metrics-vs-actionable-metrics/
@JohnRofrano 141
DevOps
@JohnRofrano 143
DevOps
Culture Measurements
Measured on a Likert scale of Strongly Agree to Strongly Disagree
• On my team failures are learning opportunities and messengers of them are not
punished
Nicole Forsgren, CEO & Chief Scientist at DevOps Research and Assessment (DORA)
@JohnRofrano 144
DevOps
1.Technical Practices
2.Lean Processes (Agile)
3.Culture
@JohnRofrano 145
DevOps
@JohnRofrano 146
DevOps
@JohnRofrano 147
DevOps
https://www.infoq.com/articles/devops-organizational-culture
@JohnRofrano 148
DevOps
@JohnRofrano 149
DevOps
Technology is
the easy part
DevOps Summary
• A Cultural Movement
• Immutable Delivery
Maturity
People Process Technology
Level
• Silo based
• Manual processes • Manual builds and deployments
Level 1 • Blame and finger-pointing
• Tribal knowledge the norm • Manual testing
Ad Hoc • Dependent on experts
• Unpredictable and reactive • Environmental inconsistencies
• Lack of accountability
• Processes established within silos • Automated builds
Level 2 • Managed communications • No standards • Automated tests written as part of story
Repeatable • Limited knowledge sharing • Can repeat what is known, but can’t development
react to unknowns • Painful but repeatable releases
• Automated build and test cycle for every
• Collaboration exists • Process automated across the
Level 3 commit
• Shared decision making software life cycle
Defined • Push button deployments
• Shared accountability • Standards across organization
• Automated user and acceptance testing
• Build metrics visible and acted on
• Collaboration based on • Proactive monitoring
• Orchestrated deployments with automatic
Level 4 shared metrics with a • Metrics collected and analyzed against
rollbacks
Measured focus on removing business goals
• Nonfunctional requirements defined and
bottlenecks • Visibility and predictability
measured
• A culture of continuous • Self-service automation • Zero downtime deployments
Level 5
improvement permeates • Risk and cost optimization • Immutable infrastructure
Optimized
through the organization • High degree of experimentation • Actively enforce resiliency by forcing failures
@JohnRofrano 152
DevOps
Key Takeaways
– Antoine de Saint-Exupery*
@JohnRofrano 155
DevOps
We become DevOps
@JohnRofrano 156