demystifying devops - silicon valley code camp 2016

68
Demys tifying DevOps Jennifer Davis @sigje Silicon Valley Code Camp 2016 Email: sparklydevops@gmail.com Twitter: @sig je 1

Upload: jennifer-davis

Post on 13-Apr-2017

209 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Demystifying DevOps - Silicon Valley Code Camp 2016

Demystifying DevOpsJennifer Davis @sig je

Silicon Valley Code Camp 2016

Email: [email protected] Twitter: @sig je 1

Page 2: Demystifying DevOps - Silicon Valley Code Camp 2016

Mark Lavi$ cat ~/.signature

DevOps and Automation Architect, Nutanix || [email protected]:+1-650-400-2100 || Twitter @calm_mark || GitHub @mlavi

$ cat ~/.profile || curl http://mlavi.github.io/about/

Previously:

4 DevOps Lead at Pertino (Cloud VPN provider)

4 Operations at Kaazing (HTML5 WebSocket pioneer)

4 Webmaster at Netscape.com, cnnfn.com, Silicon Graphics

4 Technology Evangelist for LDAP and JavaScript

Infrastructure as Code blog = http://mlavi.github.io

Email: [email protected] Twitter: @sigje 2

Page 3: Demystifying DevOps - Silicon Valley Code Camp 2016

Jennifer Davis

4 Co-Author, Effective DevOps

4 Software Engineer, Chef

4 Global Organizer, DevOpsDays

Email: [email protected] Twitter: @sigje 3

Page 4: Demystifying DevOps - Silicon Valley Code Camp 2016

Communication4 Twitter: @sig je #effectivedevops

4 Email: [email protected]

Email: [email protected] Twitter: @sigje 4

Page 5: Demystifying DevOps - Silicon Valley Code Camp 2016

Agenda4 A Definition and Cultural Rendering of DevOps

4 Foundational Concepts

4 The DevOps Tools Journey

Email: [email protected] Twitter: @sigje 5

Page 6: Demystifying DevOps - Silicon Valley Code Camp 2016

Audience: What is DevOps?

Email: [email protected] Twitter: @sig je 6

Page 7: Demystifying DevOps - Silicon Valley Code Camp 2016

DevOps has many implications (values, tools, and practices) and it is^ dynamically bound to the capabilities of the people who practice it,^ therefore it will vary by organization.Illustration: DevOps Automation Diagram^ Rumination: I Dream of DevOps, but What is DevOps?

What is DevOps?

Mark's definition:

DevOps is the process of removing all frictionbetween the developer and customer value.

Email: [email protected] Twitter: @sigje 7

Page 8: Demystifying DevOps - Silicon Valley Code Camp 2016

It is a way of thinking and a way of working that enables individuals and organizations to develop and maintain sustainable work practices.^ It is a cultural framework for sharing stories and developing empathy, enabling people and teams to practice their crafts in effective and lasting ways.

What is DevOps?

Jennifer and Katherine's definition:

Devops is a cultural movement that changes how individuals think about their work, values the diversity of work done, supports intentional processes that accelerate the rate by which businesses realize value, and measures the effect of social and technical change.

Email: [email protected] Twitter: @sigje 8

Page 9: Demystifying DevOps - Silicon Valley Code Camp 2016

Why is DevOps So Hard?

Beware of DevOps Hype and Abuse!

Ask yourself: Does this [thing] meet our definition of DevOps?

Email: [email protected] Twitter: @sigje 9

Page 10: Demystifying DevOps - Silicon Valley Code Camp 2016

MisconceptionDevOps is only Developers and System

Administrators

Email: [email protected] Twitter: @sig je 10

Page 11: Demystifying DevOps - Silicon Valley Code Camp 2016

MisconceptionDevOps is a Team

Email: [email protected] Twitter: @sig je 11

Page 12: Demystifying DevOps - Silicon Valley Code Camp 2016

MisconceptionDevOps is a Job Title

Email: [email protected] Twitter: @sig je 12

Page 13: Demystifying DevOps - Silicon Valley Code Camp 2016

MisconceptionYou need a DevOps Certification

Email: [email protected] Twitter: @sig je 13

Page 14: Demystifying DevOps - Silicon Valley Code Camp 2016

MisconceptionDevOps is only Developers and System

Administrators

Email: [email protected] Twitter: @sig je 14

Page 15: Demystifying DevOps - Silicon Valley Code Camp 2016

A Brief History of DevOps

Email: [email protected] Twitter: @sig je 15

Page 16: Demystifying DevOps - Silicon Valley Code Camp 2016

1940s-1960s4 ENIAC - Developer as Operator

4 1960s Advent of Software Engineering - Margaret Hamilton

4 Late 60s - Advent of Propreitary Software and Standardization

Email: [email protected] Twitter: @sigje 16

Page 17: Demystifying DevOps - Silicon Valley Code Camp 2016

1970s-1990s4 Late 70s - The Age of the Network

4 The Beginnings of a Global Community

4 90s - The Age of Applications and the Web

Email: [email protected] Twitter: @sigje 17

Page 18: Demystifying DevOps - Silicon Valley Code Camp 2016

2000s4 2000 - Software Development Methodologies

4 Extreme Programming

4 Agile Manifesto

4 2000s - Open Source Software, Proprietary Services

4 2008 - Agile Infrastructure at Agile Conference

4 Patrick Debois and Andrew Clay Shafer

4 Marcel Wegermann starts Agile System Administration mailing list

Email: [email protected] Twitter: @sigje 18

Page 19: Demystifying DevOps - Silicon Valley Code Camp 2016

20094 May: "10+ Deploys Per Day: Dev & Ops Cooperation at Flickr" Video Slides by John Allspaw and Paul Hammond at Velocity Conference

4 Twitter hashtag #devops from Andrew Clay Shafer inspires Patrick Debois

4 October: Patrick Debois starts DevOpsDays Belgium

Email: [email protected] Twitter: @sigje 19

Page 20: Demystifying DevOps - Silicon Valley Code Camp 2016

2016200x more frequent deploys24x faster recovery from failure3x lower change failure rate2555x shorter lead times22% less time on unplanned work and rework

— 2016 State of DevOps Report

Email: [email protected] Twitter: @sigje 20

Page 21: Demystifying DevOps - Silicon Valley Code Camp 2016

20164 42 devopsdays in 2016

4 Topic specific conferences like Monitorama and Automacon

4 Track at many conferences!

References:

Effective DevOps by Jennifer Davis and Katherine Daniels * devopsdays Events Calendar

Email: [email protected] Twitter: @sigje 21

Page 22: Demystifying DevOps - Silicon Valley Code Camp 2016

Effective DevOps

Email: [email protected] Twitter: @sig je 22

Page 23: Demystifying DevOps - Silicon Valley Code Camp 2016

CollaborationIndividuals working together with shared interactions and input building towards a common goal.

Email: [email protected] Twitter: @sigje 23

Page 24: Demystifying DevOps - Silicon Valley Code Camp 2016

Collaboration4 Multiple types of collaboration

4 Monitoring for single points of failure

4 Monitoring burnout

Email: [email protected] Twitter: @sig je 24

Page 25: Demystifying DevOps - Silicon Valley Code Camp 2016

* Lots of Communication* Contribute equally to team's discussions* Theory of Mind* Increased diversityWhy Some Teams are Smarter than OthersAnita Woolley and Thomas Malone

Smarter Teams

build better value

Email: [email protected] Twitter: @sig je 25

Page 26: Demystifying DevOps - Silicon Valley Code Camp 2016

AffinityBuilding inter-team relationships, empathy and trust in support of shared organizational and business goals.

Email: [email protected] Twitter: @sigje 26

Page 27: Demystifying DevOps - Silicon Valley Code Camp 2016

Affinity4 Organizational signal

4 Shortens time to get work done

4 Reduces communication barriers

4 Build trust based on regard.

Email: [email protected] Twitter: @sigje 27

Page 28: Demystifying DevOps - Silicon Valley Code Camp 2016

ToolsAccelerators of culture that if used effectively can enhance and support a culture of collaboration and affinity.

Email: [email protected] Twitter: @sigje 28

Page 29: Demystifying DevOps - Silicon Valley Code Camp 2016

Single Point of AuthorityExamples:

4 Individual - Editor, Desk, Work Environment

4 Group - Workflow, Local Development Environment

4 Organization - Bug tracking, work visualization

Email: [email protected] Twitter: @sigje 29

Page 30: Demystifying DevOps - Silicon Valley Code Camp 2016

Tools are critical to DevOps in how they are chosen, implemented, and used by humans.

Email: [email protected] Twitter: @sigje 30

Page 31: Demystifying DevOps - Silicon Valley Code Camp 2016

ScalingApplying the considerations of collaboration, and tooling throughout various inflection points of an organizations lifecycle.

Email: [email protected] Twitter: @sigje 31

Page 32: Demystifying DevOps - Silicon Valley Code Camp 2016

Effective DevOps4 Collaboration

4 Affinity

4 Tools

4 Scaling

Email: [email protected] Twitter: @sigje 32

Page 33: Demystifying DevOps - Silicon Valley Code Camp 2016

Foundational Concepts

Email: [email protected] Twitter: @sig je 33

Page 34: Demystifying DevOps - Silicon Valley Code Camp 2016

Methodologies4 Software

4 Waterfall

4 Agile

4 Scrum

4 Operations

4 ITIL

4 COBIT

4 Systems

4 Lean

Email: [email protected] Twitter: @sigje 34

Page 35: Demystifying DevOps - Silicon Valley Code Camp 2016

Version Control4 A record of changes to files or sets of files stored

within the system.

Email: [email protected] Twitter: @sigje 35

Page 36: Demystifying DevOps - Silicon Valley Code Camp 2016

Test Driven Development4 the process of a developer writing a failing test for new code functionality, then the code itself, and finally ensuring that the test passes when the code is complete.

Email: [email protected] Twitter: @sigje 36

Page 37: Demystifying DevOps - Silicon Valley Code Camp 2016

Application Deployment4 the process of planning, maintaining, and executing on the delivery of a software release.

Email: [email protected] Twitter: @sigje 37

Page 38: Demystifying DevOps - Silicon Valley Code Camp 2016

Continuous Integration4 the process of integrating new code written by

developers with a mainline or “master” branch frequently throughout the day.

Email: [email protected] Twitter: @sigje 38

Page 39: Demystifying DevOps - Silicon Valley Code Camp 2016

Continuous Delivery4 a set of general software engineering principles that

allow for frequent releases of new software through the use of automated testing and continuous integration.

Email: [email protected] Twitter: @sigje 39

Page 40: Demystifying DevOps - Silicon Valley Code Camp 2016

Continuous Deployment4 the process of deploying changes to production by

defining tests and validations to minimize risk.

Email: [email protected] Twitter: @sigje 40

Page 41: Demystifying DevOps - Silicon Valley Code Camp 2016

Continuous delivery is the general set of principles that can be applied to any software development project, including

the internet of things (IoT) and embedded software, while continuous

deployment is specific to web software. 1

Jez Humble (paraphrased)

Email: [email protected] Twitter: @sigje 41

Page 42: Demystifying DevOps - Silicon Valley Code Camp 2016

Minimum Viable Product4 a prototype of a proposed product with the

minimum amount of effort required to determine if the idea is a good on

Email: [email protected] Twitter: @sigje 42

Page 43: Demystifying DevOps - Silicon Valley Code Camp 2016

The DevOps Tools Journey

Email: [email protected] Twitter: @sig je 43

Page 44: Demystifying DevOps - Silicon Valley Code Camp 2016

Misconception:DevOps is only about the Tools

Email: [email protected] Twitter: @sig je 44

Page 45: Demystifying DevOps - Silicon Valley Code Camp 2016

Misconception:DevOps is about Automation

In their efforts to compensate for the unreliability of human performance, the designers of automated control systems have unwittingly created opportunities for new error types that can be even more serious than those they were seeking to avoid.

— James Reason, Managing the Risks of Organizational Accidents

Email: [email protected] Twitter: @sigje 45

Page 46: Demystifying DevOps - Silicon Valley Code Camp 2016

Tools are reflection of CultureWe become what we behold.We shape our tools and then our tools shape us.

— Father John Culkin

Email: [email protected] Twitter: @sigje 46

Page 47: Demystifying DevOps - Silicon Valley Code Camp 2016

The DevOps Tools JourneyCurrent Waypoints

4 Agile Infrastructure in the Cloud

4 Infrastructure as Code

4 Pets, Cattle, and Bacteria

4 Test, Build, Deploy Pattern

4 Infrastructure Orchestration and Models Email: [email protected] Twitter: @sigje 47

Page 48: Demystifying DevOps - Silicon Valley Code Camp 2016

Agile Infrastructure in the Cloud

4 All services, platforms, & tools are evolving

4 RESTful APIs are everywhere

4 Opportunity to codify and automate everything

4 ...on private, public or hybrid cloud architectures

4 Domain expertise democratized, repeatable, and auditable

4 Ephemeral everything = agility

Email: [email protected] Twitter: @sigje 48

Page 49: Demystifying DevOps - Silicon Valley Code Camp 2016

Infrastructure as Code

Infrastructure as Code = software engineering practices applied to infrastructure.

4 Version everything: even the database

4 Configuration Management

4 Ephemeral stacks and environments

Email: [email protected] Twitter: @sigje 49

Page 50: Demystifying DevOps - Silicon Valley Code Camp 2016

Infrastructure as Code (continued)

4 Immutable Infrastructure on the rise (cattle)

4 Dynamic versus static configuration, feature flags

4 Bespoke, hand-crafted, snowflake servers

4 Application expertise democratized, repeatable, and auditable

Email: [email protected] Twitter: @sigje 50

Page 51: Demystifying DevOps - Silicon Valley Code Camp 2016

The Future of Infrastructure as Code

4 Combining software engineering with operations should lead to my dream...

4 Operations as Code via behavior and test driven operations.

Email: [email protected] Twitter: @sigje 51

Page 52: Demystifying DevOps - Silicon Valley Code Camp 2016

Pets, Cattle, and Bacteria

Email: [email protected] Twitter: @sig je 52

Page 53: Demystifying DevOps - Silicon Valley Code Camp 2016

Lifecycle of systems4 Pet - uptime of years, named, backup maintenence

4 Cattle - numbered, can fail and reprovision anytime

4 Bacteria - age is different from macroorganisms

Email: [email protected] Twitter: @sigje 53

Page 54: Demystifying DevOps - Silicon Valley Code Camp 2016

Reference: Discussion on attribution of Pets v. Cattle

Pets, Cattle, and BacteriaImmutable Infrastructure4 Cloud agility enables ephemeral fleets

4 Build time infrastructure artifacts = build system + configuration management

4 Ideal for non-persistant tiers:

4 Simplify deployment: ship logs, metrics, etc. off the "box"

4 Roll 'em in and out of the load balancer, measure twice!

Email: [email protected] Twitter: @sigje 54

Page 55: Demystifying DevOps - Silicon Valley Code Camp 2016

Pets, Cattle, and BacteriaMicroservices4 When monolithic, long-lived infrastructure decomposes, so goes the application...

4 Refactor and decompose the monolith into public API modules (REST),which enables independent, continuous:

4 delivery = build and deploy

4 testing and monitoring

4 (per component, team, feature, etc.)

4 API version management and feature lightness topics

Email: [email protected] Twitter: @sigje 55

Page 56: Demystifying DevOps - Silicon Valley Code Camp 2016

Bacteria is from Tori Wieldt, New Relic Developer Advocate^ From Pets to Cattle to Bacteria Presentation^ Tori Weildt^ https://www.youtube.com/watch?v=neZhJXUKSak

Pets, Cattle, and BacteriaContainers4 Agile, lightweight, smaller, faster VMs:

4 ideal approach for continuous delivery of immutable infrastructure artifacts, especially microservices

4 minimal difference between laptop and production

4 Bacteria1 = lifecycle on the order of seconds: build, run, test, destroy

4 Early days: Docker as a tool versus Docker tool set as a platform

4 PERL motto = There is more than one way to do it.

4 Production challenges remain: orchestration, health, networking, persistence, dynamic configuration

Email: [email protected] Twitter: @sigje 56

Page 57: Demystifying DevOps - Silicon Valley Code Camp 2016

Test, Build, Deploy Pattern

Email: [email protected] Twitter: @sig je 57

Page 58: Demystifying DevOps - Silicon Valley Code Camp 2016

Test, Build, Deploy PatternDevelopment and production:

4 Differences should be minimized

4 Troubleshooting should be the same.

Email: [email protected] Twitter: @sigje 58

Page 59: Demystifying DevOps - Silicon Valley Code Camp 2016

Test, Build, Deploy Pattern4 Test on your laptop

4 Build on your laptop

4 Deploy on your laptop

4 Make code configurable with tools

4 Repeat for integration, metrics, logs, etc.

4 Commit to repository -> continuous integration & delivery

Reference: BTD Pattern Blog Entry

Email: [email protected] Twitter: @sigje 59

Page 60: Demystifying DevOps - Silicon Valley Code Camp 2016

Test, Build, Deploy PatternSandbox Automation

4 Test Kitchen

Email: [email protected] Twitter: @sigje 60

Page 61: Demystifying DevOps - Silicon Valley Code Camp 2016

Infrastructure Orchestration and Models

Email: [email protected] Twitter: @sig je 61

Page 62: Demystifying DevOps - Silicon Valley Code Camp 2016

Infrastructure Orchestration4 Orchestration of the entire distributed system/stack/environment

4 Application management lifecycle: all dependencies and operations

4 Continuous Deployment + Upgrades:

4 Blue-Green (Red-Black): parallel population, atomic cutover

4 Rolling vs. canary: incremental cutover

4 Test and measure your operations

4 Close the loop to Continuous Delivery

Email: [email protected] Twitter: @sigje 62

Page 63: Demystifying DevOps - Silicon Valley Code Camp 2016

Infrastructure Models4 Local versus Global Redundancy

4 Load balance everything

4 Clustered everything

4 Automate runbooks = operations as code

4 ChatOps = democratized operations are agile ops

Email: [email protected] Twitter: @sigje 63

Page 64: Demystifying DevOps - Silicon Valley Code Camp 2016

Next Generation DevOps4 DevOps Tools and Patterns beyond the engineering domain

4 Application of DevOps to all parts of the business

4 Business agility

4 Compliance and Security

4 Legal

4 HR

4 Marketing

Email: [email protected] Twitter: @sigje 64

Page 65: Demystifying DevOps - Silicon Valley Code Camp 2016

Your Next Steps

4 Find your local DevOps community and join us!

4 Mark's slides on Infrastructure as Code blog =http://mlavi.github.io/post/devops_demystified/

4 These slides on SlideShare

Email: [email protected] Twitter: @sigje 65

Page 66: Demystifying DevOps - Silicon Valley Code Camp 2016

Agenda4 A Definition and Cultural Rendering of DevOps

4 Foundational Concepts

4 The DevOps Tools Journey

Email: [email protected] Twitter: @sigje 66

Page 67: Demystifying DevOps - Silicon Valley Code Camp 2016

DevOps or DevOps not.There is no try.

1Yoda

Email: [email protected] Twitter: @sig je 67

Page 68: Demystifying DevOps - Silicon Valley Code Camp 2016

Thank you

❤Twitter: @sig je

Email: [email protected]

Email: [email protected] Twitter: @sig je 68