Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering...

Post on 24-Apr-2018

221 views 3 download

transcript

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