Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering...
-
Upload
nguyendien -
Category
Documents
-
view
222 -
download
3
Transcript of Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering...
TUT89691
Game of ThronesA DevOps Parable
Craig Gardner
Software Engineering Manager
SUSE
2
Victims
DevOps? Really?!
Of Golden Hammers, Silver Bullets, and Poisoned Thrones
How much do you really care?
Managers and Teams who deliver solutions
SUSE® and DevOps (a morality play)
3
DevOps? Really?!
4
… what is it? Really??
Select the correct answer. “DevOps is:”
___ Magic Wand
___ Silver Bullet
___ Golden Hammer
___ An attempt to economize the collaboration of efforts to release usable software
5
What is DevOps, Really?!
A Textbook would say:
• DevOps is the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support
● … Characterized by operations staff making use many of the same techniques as developers for their systems work
6
What is DevOps, Really?!
https://en.wikipedia.org/wiki/DevOps#/media/File:Devops.svg
7
Reality would say...
DevOps in practice:
• Not necessarily new
• Another process; built on principles from earlier, successful processes
• Not a Silver Bullet
• Can work well enough – with the right conditions
– with the right people
– with a lot of hard work
– … and a lot of coffee
8
“Not Necessarily New…?”
DevOps in practice:
• Continuous Integration
• Continuous Deployment
• Concentrating on Efficiency of Collaboration
9
Types of XXXOps
DevOps
ITOps
BuildOPS
NetOPS
WebOPS
10
What Am I Managing, Exactly?
● Typically web solutions
Less common to be talking about stand alone applications
● Providing agility for addressing performance, scaling, and delivery of new/updated code to IT applications
● The Flow of Delivering a Service or Services
11
What Does DevOps Fix?
Poor communication between development
and those running the software
● Note that we group “testing” with “development”
● … though it’s too simplistic to avoid the topic of testing
12
What Does DevOps Fix?
Inefficiencies of:
● Handing code from developers to deployers (IT operations)● Providing a competent feedback loop (good or bad)● Conflicts due to the inefficiencies● Development is agile, while operations is relatively static● While attempting to provide a solution for customers, resist
solving problems within the process
13
What's The Real Problem?
So what’s the REAL problem?● Providing a solution while managing change● IT Manager feels she has no upstream insight, no control
● It’s frequent chaos● Anarchy rules● Little idea of quality● Little control over addressing growth
● Dev Manager feels he has no downstream influence● “I just write the code; I don’t know what IT is doing with it.”
14
What is DevOps? Really?!
15
DevOps in Ideology
DevOps hopes to accomplish:
● Reducing the distance between development and IT operations● Reducing the barriers and time to deliver software (service)● Increasing the collaboration between developers and sysadmins● Bringing mutual agility to delivering new solutions (managing
change)
16
Development and Operations Roles
Development● Create functionality● Fix code problems● Non-functional characteristics: performance, scalability, security, etc.
Operations● Make the functionality available● Stabilize (fix environment and runtime problems)● Economize / Scale
Some different tasks, yet remarkable confluence (similarity)
17
The Process Flow of DevOps
Code
Build
Test
Package
Release
Configure
Monitor
Match the Speed of Change
18
Automation
● Not unique to DevOps, but particularly well fitted
● Both in Dev and in Ops
● Reliant upon consistent, known states
● Unit tests in Dev, Configuration Management in Ops
19
Automation
What can be automated?
● Builds (probably the easiest)
● Testing, at various levels
● Deployment of software
● System administration
20
Manager's Special
What should a DevOps Manager insist?● Metrics (knowledge is power)
● Dialog (doesn’t have to be fancy, but frequent and well meaning)
● Ordinary, predictable (no time for heroics)
● Investment (New ideas, long term outcomes; “What if?”)
● Trust
21
DevOps Lifecycle
Planning
● Manager must take time for this, facilitate
● Consider non-functional requirements
● Be pragmatic; developers are too optimistic
● Involves Operations, too; not just Deveopment
22
DevOps Lifecycle
Execute
● Create channels and opportunities to communicate● Embrace risk (not reckless) ● Reward measurable improvements in the team’s execution
● Don’t focus on the dates● Don’t focus on the features/bug fixes● The project manager will be pushing those things● Example: new automation
23
DevOps Lifecycle
Post-Release
● Hold a Retrospective
● Continue automated tests after release
● Breathe (counter to Sprint)
24
DevOps Lifecycle
Maintain
● Be prepared for Support and maintenance
● Continue automation
● Monitor and measure
25
Of Golden Hammers,Silver Bullets,
and Poisoned Thrones
26
No Magic Solutions
DevOps is an Agile Process
● Still requires “process”
● Requires smart, caring, hard-working people
● Requires management
● Demands heightened collaboration where other processes fail
27
Game of Thrones . . . or Oedipus
Game of Thrones
28
Game of Thrones
Epic Struggle for Power – sacrifice for power● Jaime Lannister: pushes a boy out a window
● Malevolent Charisma● Jon Snow: crafty deception
● Guards the Northern Border, honor bound● Daenerys Targaryen: most aggressive to reclaim the Iron Throne
● Most popular, appealing, sexy
G.R.R. Martin makes all these characters out to be Heroes
29
Oedipus the King
Greek Tragedy by Sophocles
● Born to King Laius and Queen Jocasta● Oedipus kills his father to become king● Due to Tragic Struggle, faced with The Riddle of the Sphinx● Marries his mother, Jocasta● Jocasta kills herself● Oedipus blinds himself
30
Oedipus the King
Greek Tragedy by Sophocles
Oedipus owes more to
his dad than he realizes,
until it’s much too late.
31
Teams That Deliver Solutions
32
Hallmarks of Success
Configuration Management● OPS: Salt, Ansible, Chef, Puppet, CFEngine, etc● DEV: git, svn, etc
Testing● Unit tests, and more unit tests● QA tests happen alongside development
Automation● Jenkins, Drone, Travis, etc
Continuous Deployment● Once you validate, deploy; automate
33
SUSE and DevOps
34
SUSE Customer Center (SCC)
Team Decision → Team Investment● Scrum and DevOps● Less Specific “Dev” and “Ops” Roles● New project, not tied to old processes or paradigms
Fearless Deployment● Don’t be afraid to make mistakes● As many as 40 deployments per day (though typically not)● Confidence in Agility
Automation, Automation● Automate everything: Tests, Integrations, Deployments●
35
Open Build Service
Opted for DevOps Almost by Default● Uses a modified Kanban approach; Agile development● All Ops environment already under Dev management
More Deliberate Deployments● Can deploy more rapidly; chooses to deploy weekly● Extensive, stress testing before deployment● Service Level Agreement with Users
Automation, Automation● Sophisticated Dev Test Suite ensures changes don’t break Production● Roll Back
36
DevOps for DevOps Managers
Thank You