game of thrones - suse linux game of thrones a devops parable craig gardner software engineering...

36
TUT89691 Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

Upload: nguyendien

Post on 24-Apr-2018

225 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

TUT89691

Game of ThronesA DevOps Parable

Craig Gardner

Software Engineering Manager

SUSE

Page 2: Game of Thrones - SUSE Linux Game of Thrones A 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)

Page 3: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

3

DevOps? Really?!

Page 4: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

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

Page 5: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

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

Page 6: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

6

What is DevOps, Really?!

https://en.wikipedia.org/wiki/DevOps#/media/File:Devops.svg

Page 7: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

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

Page 8: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

8

“Not Necessarily New…?”

DevOps in practice:

• Continuous Integration

• Continuous Deployment

• Concentrating on Efficiency of Collaboration

Page 9: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

9

Types of XXXOps

DevOps

ITOps

BuildOPS

NetOPS

WebOPS

Page 10: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

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

Page 11: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

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

Page 12: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

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

Page 13: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

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.”

Page 14: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

14

What is DevOps? Really?!

Page 15: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

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)

Page 16: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

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)

Page 17: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

17

The Process Flow of DevOps

Code

Build

Test

Package

Release

Configure

Monitor

Match the Speed of Change

Page 18: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

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

Page 19: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

19

Automation

What can be automated?

● Builds (probably the easiest)

● Testing, at various levels

● Deployment of software

● System administration

Page 20: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

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

Page 21: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

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

Page 22: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

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

Page 23: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

23

DevOps Lifecycle

Post-Release

● Hold a Retrospective

● Continue automated tests after release

● Breathe (counter to Sprint)

Page 24: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

24

DevOps Lifecycle

Maintain

● Be prepared for Support and maintenance

● Continue automation

● Monitor and measure

Page 25: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

25

Of Golden Hammers,Silver Bullets,

and Poisoned Thrones

Page 26: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

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

Page 27: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

27

Game of Thrones . . . or Oedipus

Game of Thrones

Page 28: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

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

Page 29: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

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

Page 30: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

30

Oedipus the King

Greek Tragedy by Sophocles

Oedipus owes more to

his dad than he realizes,

until it’s much too late.

Page 31: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

31

Teams That Deliver Solutions

Page 32: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

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

Page 33: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

33

SUSE and DevOps

Page 34: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

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●

Page 35: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

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

Page 36: Game of Thrones - SUSE Linux Game of Thrones A DevOps Parable Craig Gardner Software Engineering Manager SUSE

36

DevOps for DevOps Managers

Thank You