demystifying devops - silicon valley code camp 2016

Post on 13-Apr-2017

209 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Demystifying DevOpsJennifer Davis @sig je

Silicon Valley Code Camp 2016

Email: sparklydevops@gmail.com Twitter: @sig je 1

Mark Lavi$ cat ~/.signature

DevOps and Automation Architect, Nutanix || mark.lavi@nutanix.commobile:+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: sparklydevops@gmail.com Twitter: @sigje 2

Jennifer Davis

4 Co-Author, Effective DevOps

4 Software Engineer, Chef

4 Global Organizer, DevOpsDays

Email: sparklydevops@gmail.com Twitter: @sigje 3

Communication4 Twitter: @sig je #effectivedevops

4 Email: sparklydevops@gmail.com

Email: sparklydevops@gmail.com Twitter: @sigje 4

Agenda4 A Definition and Cultural Rendering of DevOps

4 Foundational Concepts

4 The DevOps Tools Journey

Email: sparklydevops@gmail.com Twitter: @sigje 5

Audience: What is DevOps?

Email: sparklydevops@gmail.com Twitter: @sig je 6

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: sparklydevops@gmail.com Twitter: @sigje 7

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: sparklydevops@gmail.com Twitter: @sigje 8

Why is DevOps So Hard?

Beware of DevOps Hype and Abuse!

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

Email: sparklydevops@gmail.com Twitter: @sigje 9

MisconceptionDevOps is only Developers and System

Administrators

Email: sparklydevops@gmail.com Twitter: @sig je 10

MisconceptionDevOps is a Team

Email: sparklydevops@gmail.com Twitter: @sig je 11

MisconceptionDevOps is a Job Title

Email: sparklydevops@gmail.com Twitter: @sig je 12

MisconceptionYou need a DevOps Certification

Email: sparklydevops@gmail.com Twitter: @sig je 13

MisconceptionDevOps is only Developers and System

Administrators

Email: sparklydevops@gmail.com Twitter: @sig je 14

A Brief History of DevOps

Email: sparklydevops@gmail.com Twitter: @sig je 15

1940s-1960s4 ENIAC - Developer as Operator

4 1960s Advent of Software Engineering - Margaret Hamilton

4 Late 60s - Advent of Propreitary Software and Standardization

Email: sparklydevops@gmail.com Twitter: @sigje 16

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: sparklydevops@gmail.com Twitter: @sigje 17

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: sparklydevops@gmail.com Twitter: @sigje 18

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: sparklydevops@gmail.com Twitter: @sigje 19

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: sparklydevops@gmail.com Twitter: @sigje 20

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: sparklydevops@gmail.com Twitter: @sigje 21

Effective DevOps

Email: sparklydevops@gmail.com Twitter: @sig je 22

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

Email: sparklydevops@gmail.com Twitter: @sigje 23

Collaboration4 Multiple types of collaboration

4 Monitoring for single points of failure

4 Monitoring burnout

Email: sparklydevops@gmail.com Twitter: @sig je 24

* 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: sparklydevops@gmail.com Twitter: @sig je 25

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

Email: sparklydevops@gmail.com Twitter: @sigje 26

Affinity4 Organizational signal

4 Shortens time to get work done

4 Reduces communication barriers

4 Build trust based on regard.

Email: sparklydevops@gmail.com Twitter: @sigje 27

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

Email: sparklydevops@gmail.com Twitter: @sigje 28

Single Point of AuthorityExamples:

4 Individual - Editor, Desk, Work Environment

4 Group - Workflow, Local Development Environment

4 Organization - Bug tracking, work visualization

Email: sparklydevops@gmail.com Twitter: @sigje 29

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

Email: sparklydevops@gmail.com Twitter: @sigje 30

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

Email: sparklydevops@gmail.com Twitter: @sigje 31

Effective DevOps4 Collaboration

4 Affinity

4 Tools

4 Scaling

Email: sparklydevops@gmail.com Twitter: @sigje 32

Foundational Concepts

Email: sparklydevops@gmail.com Twitter: @sig je 33

Methodologies4 Software

4 Waterfall

4 Agile

4 Scrum

4 Operations

4 ITIL

4 COBIT

4 Systems

4 Lean

Email: sparklydevops@gmail.com Twitter: @sigje 34

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

within the system.

Email: sparklydevops@gmail.com Twitter: @sigje 35

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: sparklydevops@gmail.com Twitter: @sigje 36

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

Email: sparklydevops@gmail.com Twitter: @sigje 37

Continuous Integration4 the process of integrating new code written by

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

Email: sparklydevops@gmail.com Twitter: @sigje 38

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: sparklydevops@gmail.com Twitter: @sigje 39

Continuous Deployment4 the process of deploying changes to production by

defining tests and validations to minimize risk.

Email: sparklydevops@gmail.com Twitter: @sigje 40

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: sparklydevops@gmail.com Twitter: @sigje 41

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: sparklydevops@gmail.com Twitter: @sigje 42

The DevOps Tools Journey

Email: sparklydevops@gmail.com Twitter: @sig je 43

Misconception:DevOps is only about the Tools

Email: sparklydevops@gmail.com Twitter: @sig je 44

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: sparklydevops@gmail.com Twitter: @sigje 45

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

— Father John Culkin

Email: sparklydevops@gmail.com Twitter: @sigje 46

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: sparklydevops@gmail.com Twitter: @sigje 47

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: sparklydevops@gmail.com Twitter: @sigje 48

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: sparklydevops@gmail.com Twitter: @sigje 49

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: sparklydevops@gmail.com Twitter: @sigje 50

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: sparklydevops@gmail.com Twitter: @sigje 51

Pets, Cattle, and Bacteria

Email: sparklydevops@gmail.com Twitter: @sig je 52

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: sparklydevops@gmail.com Twitter: @sigje 53

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: sparklydevops@gmail.com Twitter: @sigje 54

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: sparklydevops@gmail.com Twitter: @sigje 55

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: sparklydevops@gmail.com Twitter: @sigje 56

Test, Build, Deploy Pattern

Email: sparklydevops@gmail.com Twitter: @sig je 57

Test, Build, Deploy PatternDevelopment and production:

4 Differences should be minimized

4 Troubleshooting should be the same.

Email: sparklydevops@gmail.com Twitter: @sigje 58

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: sparklydevops@gmail.com Twitter: @sigje 59

Test, Build, Deploy PatternSandbox Automation

4 Test Kitchen

Email: sparklydevops@gmail.com Twitter: @sigje 60

Infrastructure Orchestration and Models

Email: sparklydevops@gmail.com Twitter: @sig je 61

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: sparklydevops@gmail.com Twitter: @sigje 62

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: sparklydevops@gmail.com Twitter: @sigje 63

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: sparklydevops@gmail.com Twitter: @sigje 64

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: sparklydevops@gmail.com Twitter: @sigje 65

Agenda4 A Definition and Cultural Rendering of DevOps

4 Foundational Concepts

4 The DevOps Tools Journey

Email: sparklydevops@gmail.com Twitter: @sigje 66

DevOps or DevOps not.There is no try.

1Yoda

Email: sparklydevops@gmail.com Twitter: @sig je 67

Thank you

❤Twitter: @sig je

Email: sparklydevops@gmail.com

Email: sparklydevops@gmail.com Twitter: @sig je 68

top related