SlideShare a Scribd company logo
1 of 44
Download to read offline
Lessons learned trying to implement
DevOps in a rapidly growing environment
Local Community
Sustainable!
Thank you!
Lessons learned trying to implement
DevOps in a rapidly growing environment
Lessons learned trying to implement
DevOps in a rapidly growing environment
•

Lament of a Failed DevOps Manager

•

Origin of this talk

•

Excuses
Introductions
Michael Collins
Principal Systems Architect
!

http://www.demonware.net/
!

@ook
!
Demonware
•

Online services for Console
Games
•
•

SaaS APIs

•

Cross platform SDKs

•
•

Middleware

Consultancy & Design

Part of Activision Blizzard
Demonware
•

435+ million gamers

•

3.2 million+ concurrent online gamers

•

95+ games

•

300,000+ requests per second at peak

•

Avg. query response time of < .01 second

•

Collect 500,000+ metrics a minute

•

100 billion+ API calls per month
Lessons learned trying to implement
DevOps in a rapidly growing environment
3500


•

What is rapidly growing?
•
•

50-100% annual growth
People, Scale & Complexity

3000

2500


New
Serv

2000


Re4red
Se

Reused
se

1500


•

How Applicable are our lessons?
•
•

Servers
Cu

Ops
Staff


1000


This talk == Not technical
For DW Tech talks see:

500

0

2007


2008


2009


2010


2011


2012


2013


2014


•

Erlang and First-Person Shooters in online games - Malcolm Dowse - Erlang
Factory London 2011

•

PyCon.ie 2011 Keynote - Damien Marshall

•

Puppet at Demonware - Ruaidhrí Power - PuppetConf ’12
A brief history of "DevOps"
at Demonware
•

Early years (2003 - 2007)
•

Focused on P2P, handful of Services, minimal data persistence, 10s of servers,
random hardware, Golden Images, Shell Scripts

•

root for (almost) everybody!

•

“NoOps”

•

Early 2007 - Removed root access for developers

•

April 2008 - Started to dabble with Puppet

•

September 2008 - Automated installs (preseed), Standard Hardware, Puppet based
installs for production base

•

Spring 2009 - Started to build OS packages for our stack

•

June 2009 - DW Engineers attend Velocity for first time
A brief history of "DevOps"
at Demonware
•

Summer 2010 - Rushed switch to Cobbler/CentOS, more Puppet driven by custom ENC - disabled noop

•

January 2011 - First Ops Intern

•

Early 2011 - Ops Re-Org, enter DevOps team

•

August 2011 - First Engineer moved from Dev to Ops

•

September 2011 - Move to Continuous Deployment for Puppet to Prod

•

February 2012 - Work with DTO solutions on "Dev Environment provisioning blue print”

•

March 2012 - Disband DevOps team, new Org Structure - first official Ops Software Engineer job title

•

September 2012 - Rundeck in Production

•

October 2012 - Internal hack-a-thon week to kickstart "Ops API”

•

November 2012 - Ops API first release, read only cached access to Inventory system

•

December 2012 - Our current Build engineer started

•

December 2012 - Prototype v1 of internal IAAS API for bare metal provisioning

•

February 2013 - First engineer transferred from Ops team to another team (Datawarehouse)

•

March 2013 - First release of Build Engineering automated developer environment setup tool
Initial Thoughts on our
DevOps History
•

Suspect Typical Evolution for Traditional Busy Ops & Dev?

•

“DevOps” almost exclusively focused on Ops :-(

!
•

Big Wins
•
•

•

Building internal APIs
Continuous deployment of Puppet to Production

Big Losses
•

Restricting Prod Access

•

Starting with Prod & trying to retrofit

•

Being stereotypical BOFHs
10 Lessons Learned
1 - Be able to clearly
articulate what DevOps is

What is
DevOps?
What does DevOps mean
for …
•

You
•
•

•

Day to Day
Big Picture

Your Organization
•
•

Boss

•

Teams you work with

•
•

Colleagues

Leadership

Can you explain Clearly, Articulately & Concisely to everyone you deal with?
DevOps for me @
Demonware
•

For me
•
•

•

Day to day - “Automate all the things!”
Big Picture - “Service Delivery Pipeline, Organizational Sympathy”

For Demonware
•

Colleagues - “Buzzword Bullsh*t - almost Cloud”

•

My Boss - “DevOps within Ops, Visible Ops”
•

Old Boss - “Developer Self Service; You build it, you run it”

•

•

Leadership - “Bridge Dev vs Ops divide, maintain agility as we grow”

•
•

Teams I work with - “We have to write puppet? What happened to the puppet guys? Wow puppet
sucks”

Everyone - “Something Michael rambles about”

PS. Above Quotes Fabricated
2 - Trust your developers
•

My Single Biggest Mistake
•

•

Revoking developer access to Production

Ops be a good Customer for your Developers, provide:
•

Requirements

•

Bug Reports

•

Examples

•

Metrics & Data
3 - Start with Dev
•

Working on Automation for over 5 years
•
•

Never quite useable in Development

•
•

Almost exclusively focused on Production

Don’t do this

In 2013 easy to start with Dev
•

Packer, Vagrant, Docker, Boxen etc

•

First day: sign in, push “make go now”, get coffee, work
4 - Toolchains not Tools
•

Demonware - "We build & run services which use Erlang,
Python, RabbitMQ, MySQL & Cassandra with Hadoop for
Data Analytics”

•

DevOps@Demonware were “The Puppet guys”

•

Demonware Ops have:
•

Nagios guy

•

Elasticsearch/Logstash/Kibana girl

•

Graphite guy
4 - Toolchains not Tools
•

CfEngine vs Puppet vs Chef vs Ansible

•

Apache vs Lighttpd vs Nginx vs Jetty

•

Who cares?

•

What matters is:
•

Using Configuration Management

•

Using a HTTP server
Distinguish between Tools &
Toolchain Components
•

Knowledge not Trade

•

Components not Things

•

Bezos Amazon Service mandate

•

Containers / VMs / APIs / PaaS

•

Describe not Proscribe
Operations

Development

5 - Service Delivery
Pipelines
??

??

??

??

Build

Run
Operations

Development

5 - Service Delivery
Pipelines

Build

Run
DevOps Toolchain & Service
Delivery
•

Not my idea
•
•

ITIL Service Delivery

•
•

DTO Solutions

Many Others

http://dev2ops.org/category/devops-toolchainproject/
6 - Organizational Sympathy
•

Mechanical Sympathy
•

"Hardware and software working together in
harmony”

•

Martin Thompson, High Performance Low
Latency Specialist

•

Blog & Mailing List
6 - Organizational Sympathy
•

Understand your organization
•

Goals, Processes etc

•

Then decide which Toolchain elements make sense to
re-use
•

And what you have to build

•

Your organization is not Etsy, Facebook or Twitter

•

You can’t map their Toolchain & Processes without
appropriate Transformations
PHB Alert
7 - Organizational Flexibility
•

Org Structure not sacred

•

Annual re-orgs normal?

•

Examples
•

Valve

•

Internally
•

Good - Engineers continuing
to work together post “reorg”

•

Bad - Ops Area, Dev Area :-(
7 - Organizational Flexibility
•

Spend time in different roles
•
•

Sit with other teams

•
•

Google "Mission Control”

Gatecrash scrums

Understand your colleagues POV
8 - Communication is Hard
•

Timezones Suck

•

Cultural differences are Hard

•

Managing Growth without missteps is impossible?

•

Most Nerds^wEngineers pick crappy mediums
•

Face, VC, Voice, IM, Mail …

•

No Silver Bullets

•

Best Writing Advice for Engineers I've Ever Seen. Period.
9 - Hiring Matters
•

The biggest contribution I have made to
Demonware is managing to hire people who are
smarter than me

•

Especially crucial for “DevOps”
10 - Metrics & Data
•

Business Metrics not CPU utilization

•

Data justifies
•

Change

•

Resources

•

Experiments
TL;DR
“How does <X> make it easier to deploy and
run our services?”
Aside - Puppet Continuous
Deployment
•

Problem
•
•

•

Automation just for system build & service prop
“Just stopping puppet, will fix later” - Divergence not Convergence

Solution
•

Sledgehammer
•

Toolchain
•
•

Monitoring & Alerting based on Puppet (Internal Daemon & Nagios)

•

“Positive” Policy enforcement - Disease build “bears”

•
•

Code Review & Aggressive pushing (Git & Gerrit & Fan-out)

Testing - dcinabox

Result
•

Most production hosts 100% puppet managed (working on staging)

•

In large clusters Drain & Rebuild easier then troubleshooting
Looking Forward
•

Distributed Configuration
•

•

Promise Theory, Cluster State Transitions, Multiple Sources of Truth, Constraint Solving

Distributed System Platform Blocks
•
•

Separating Infrastructure, Platform & Applications

•

Containers

•
•

Netflix / Twitter OSS Stacks

DC wide cluster scheduling

Scaling Organisations
•

Remote Workers?

•

Embedded Ops?

•

Flat organizations?
DevOps Lessons Learned
1. Be able to clearly articulate what DevOps is at multiple Levels of Detail
2. Trust your developers
3. Start with Dev
4. Toolchains not Tools
5. Service Delivery Pipelines
6. Organizational Sympathy
7. Organizational Flexibility
8. Communication is hard
9. Hiring Matters
10. Metrics & Data
Surprise - We are Hiring!
•

jobs@demonware.net

•

http://www.demonware.net/

•

@demonware
!

•

Also food & some drinks later
are on us …
Questions?
Random
•

Contenders for inclusion:
•

Operational Acceptance

•

Versioning

•

Release Management

•

Repository Management

•

Agile!11!

More Related Content

What's hot

Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014johnfcshaw
 
5 Keys to Building a Successful DevOps Culture
5 Keys to Building a Successful DevOps Culture5 Keys to Building a Successful DevOps Culture
5 Keys to Building a Successful DevOps CultureMandi Walls
 
How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...
How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...
How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...WalmartLabs
 
DevOps Challenges and Best Practices
DevOps Challenges and Best PracticesDevOps Challenges and Best Practices
DevOps Challenges and Best PracticesBrian Chorba
 
DevOps: Process, Tool or Mindset?
DevOps: Process, Tool or Mindset?DevOps: Process, Tool or Mindset?
DevOps: Process, Tool or Mindset?Tathagat Varma
 
DevOps Primer : Presented by Uday Kumar
DevOps Primer : Presented by Uday KumarDevOps Primer : Presented by Uday Kumar
DevOps Primer : Presented by Uday KumaroGuild .
 
DevOps: Retooling the End-to-End IT Model
DevOps: Retooling the End-to-End IT ModelDevOps: Retooling the End-to-End IT Model
DevOps: Retooling the End-to-End IT ModelCA Technologies
 
Patterns and Practices of a Successful DevOps Transformation
Patterns and Practices of a Successful DevOps TransformationPatterns and Practices of a Successful DevOps Transformation
Patterns and Practices of a Successful DevOps TransformationChef
 
How to get started with DevOps
How to get started with DevOps How to get started with DevOps
How to get started with DevOps Red Gate Software
 
DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)
DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)
DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)ZeroTurnaround
 
About Motivation in DevOps Culture
About Motivation in DevOps CultureAbout Motivation in DevOps Culture
About Motivation in DevOps CultureDreamLab
 
DevOps-Redefining your IT Strategy-28thJan15
DevOps-Redefining your IT Strategy-28thJan15DevOps-Redefining your IT Strategy-28thJan15
DevOps-Redefining your IT Strategy-28thJan15Edureka!
 
2017 DevSecOps Survey
2017 DevSecOps Survey2017 DevSecOps Survey
2017 DevSecOps SurveySonatype
 
The Journey to DevOps #MFSummit2017
The Journey to DevOps #MFSummit2017The Journey to DevOps #MFSummit2017
The Journey to DevOps #MFSummit2017Micro Focus
 
DevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationDevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationKeith Pleas
 
DevOps Culture as a tool
DevOps Culture as a toolDevOps Culture as a tool
DevOps Culture as a toolDick Noort
 

What's hot (20)

Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014
 
5 Keys to Building a Successful DevOps Culture
5 Keys to Building a Successful DevOps Culture5 Keys to Building a Successful DevOps Culture
5 Keys to Building a Successful DevOps Culture
 
How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...
How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...
How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...
 
DevOps Challenges and Best Practices
DevOps Challenges and Best PracticesDevOps Challenges and Best Practices
DevOps Challenges and Best Practices
 
DevOps: Process, Tool or Mindset?
DevOps: Process, Tool or Mindset?DevOps: Process, Tool or Mindset?
DevOps: Process, Tool or Mindset?
 
DevOps Primer : Presented by Uday Kumar
DevOps Primer : Presented by Uday KumarDevOps Primer : Presented by Uday Kumar
DevOps Primer : Presented by Uday Kumar
 
DevOps: Retooling the End-to-End IT Model
DevOps: Retooling the End-to-End IT ModelDevOps: Retooling the End-to-End IT Model
DevOps: Retooling the End-to-End IT Model
 
Patterns and Practices of a Successful DevOps Transformation
Patterns and Practices of a Successful DevOps TransformationPatterns and Practices of a Successful DevOps Transformation
Patterns and Practices of a Successful DevOps Transformation
 
How to get started with DevOps
How to get started with DevOps How to get started with DevOps
How to get started with DevOps
 
DevOps Foundation
DevOps FoundationDevOps Foundation
DevOps Foundation
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
Devops: A History
Devops: A HistoryDevops: A History
Devops: A History
 
DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)
DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)
DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)
 
About Motivation in DevOps Culture
About Motivation in DevOps CultureAbout Motivation in DevOps Culture
About Motivation in DevOps Culture
 
DevOps-Redefining your IT Strategy-28thJan15
DevOps-Redefining your IT Strategy-28thJan15DevOps-Redefining your IT Strategy-28thJan15
DevOps-Redefining your IT Strategy-28thJan15
 
2017 DevSecOps Survey
2017 DevSecOps Survey2017 DevSecOps Survey
2017 DevSecOps Survey
 
The Journey to DevOps #MFSummit2017
The Journey to DevOps #MFSummit2017The Journey to DevOps #MFSummit2017
The Journey to DevOps #MFSummit2017
 
Devops
DevopsDevops
Devops
 
DevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationDevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the Automation
 
DevOps Culture as a tool
DevOps Culture as a toolDevOps Culture as a tool
DevOps Culture as a tool
 

Viewers also liked

Heka - Rob Miller
Heka - Rob MillerHeka - Rob Miller
Heka - Rob MillerDevopsdays
 
Metrics and Monitoring Infrastructure: Lessons Learned Building Metrics at Li...
Metrics and Monitoring Infrastructure: Lessons Learned Building Metrics at Li...Metrics and Monitoring Infrastructure: Lessons Learned Building Metrics at Li...
Metrics and Monitoring Infrastructure: Lessons Learned Building Metrics at Li...Grier Johnson
 
Volta: Logging, Metrics, and Monitoring as a Service
Volta: Logging, Metrics, and Monitoring as a ServiceVolta: Logging, Metrics, and Monitoring as a Service
Volta: Logging, Metrics, and Monitoring as a ServiceLN Renganarayana
 
Prometheus Overview
Prometheus OverviewPrometheus Overview
Prometheus OverviewBrian Brazil
 
Building a Global Multi-Tenant Monitoring Platform
Building a Global Multi-Tenant Monitoring PlatformBuilding a Global Multi-Tenant Monitoring Platform
Building a Global Multi-Tenant Monitoring PlatformAmazon Web Services
 
CA Helps Customers Implement DevOps
CA Helps Customers Implement DevOpsCA Helps Customers Implement DevOps
CA Helps Customers Implement DevOpsCA Technologies
 

Viewers also liked (6)

Heka - Rob Miller
Heka - Rob MillerHeka - Rob Miller
Heka - Rob Miller
 
Metrics and Monitoring Infrastructure: Lessons Learned Building Metrics at Li...
Metrics and Monitoring Infrastructure: Lessons Learned Building Metrics at Li...Metrics and Monitoring Infrastructure: Lessons Learned Building Metrics at Li...
Metrics and Monitoring Infrastructure: Lessons Learned Building Metrics at Li...
 
Volta: Logging, Metrics, and Monitoring as a Service
Volta: Logging, Metrics, and Monitoring as a ServiceVolta: Logging, Metrics, and Monitoring as a Service
Volta: Logging, Metrics, and Monitoring as a Service
 
Prometheus Overview
Prometheus OverviewPrometheus Overview
Prometheus Overview
 
Building a Global Multi-Tenant Monitoring Platform
Building a Global Multi-Tenant Monitoring PlatformBuilding a Global Multi-Tenant Monitoring Platform
Building a Global Multi-Tenant Monitoring Platform
 
CA Helps Customers Implement DevOps
CA Helps Customers Implement DevOpsCA Helps Customers Implement DevOps
CA Helps Customers Implement DevOps
 

Similar to Dev ops lessons learned - Michael Collins

Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyKelly Looney
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1MvkZ
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1sKaushikNarayanan
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1sKaushikNarayanan
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1MvkZ
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1MvkZ
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1MvkZ
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1sKaushikNarayanan
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
 
SaltConf14 - Justin Carmony, Deseret Digital Media - Teaching Devs About DevOps
SaltConf14 - Justin Carmony, Deseret Digital Media - Teaching Devs About DevOpsSaltConf14 - Justin Carmony, Deseret Digital Media - Teaching Devs About DevOps
SaltConf14 - Justin Carmony, Deseret Digital Media - Teaching Devs About DevOpsSaltStack
 
BrainQuest-DevOps
BrainQuest-DevOpsBrainQuest-DevOps
BrainQuest-DevOpsEric Phan
 
DevOps! What, Why and How?
DevOps! What, Why and How?DevOps! What, Why and How?
DevOps! What, Why and How?Omar Fathy
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservicesDynatrace
 
Enabling your DevOps culture with AWS-webinar
Enabling your DevOps culture with AWS-webinarEnabling your DevOps culture with AWS-webinar
Enabling your DevOps culture with AWS-webinarAaron Walker
 
DockerDay 2015: From months to minutes - How GE appliances brought docker int...
DockerDay 2015: From months to minutes - How GE appliances brought docker int...DockerDay 2015: From months to minutes - How GE appliances brought docker int...
DockerDay 2015: From months to minutes - How GE appliances brought docker int...Docker-Hanoi
 
Software Engineering in Startups
Software Engineering in StartupsSoftware Engineering in Startups
Software Engineering in StartupsDusan Omercevic
 
Agile, DevOps & Test
Agile, DevOps & TestAgile, DevOps & Test
Agile, DevOps & TestQualitest
 
OpenStack Doc Overview for Boot Camp
OpenStack Doc Overview for Boot CampOpenStack Doc Overview for Boot Camp
OpenStack Doc Overview for Boot CampAnne Gentle
 

Similar to Dev ops lessons learned - Michael Collins (20)

Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
 
DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
SaltConf14 - Justin Carmony, Deseret Digital Media - Teaching Devs About DevOps
SaltConf14 - Justin Carmony, Deseret Digital Media - Teaching Devs About DevOpsSaltConf14 - Justin Carmony, Deseret Digital Media - Teaching Devs About DevOps
SaltConf14 - Justin Carmony, Deseret Digital Media - Teaching Devs About DevOps
 
BrainQuest-DevOps
BrainQuest-DevOpsBrainQuest-DevOps
BrainQuest-DevOps
 
DevOps! What, Why and How?
DevOps! What, Why and How?DevOps! What, Why and How?
DevOps! What, Why and How?
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices
 
Enabling your DevOps culture with AWS-webinar
Enabling your DevOps culture with AWS-webinarEnabling your DevOps culture with AWS-webinar
Enabling your DevOps culture with AWS-webinar
 
DockerDay 2015: From months to minutes - How GE appliances brought docker int...
DockerDay 2015: From months to minutes - How GE appliances brought docker int...DockerDay 2015: From months to minutes - How GE appliances brought docker int...
DockerDay 2015: From months to minutes - How GE appliances brought docker int...
 
Kku2011
Kku2011Kku2011
Kku2011
 
Software Engineering in Startups
Software Engineering in StartupsSoftware Engineering in Startups
Software Engineering in Startups
 
Agile, DevOps & Test
Agile, DevOps & TestAgile, DevOps & Test
Agile, DevOps & Test
 
OpenStack Doc Overview for Boot Camp
OpenStack Doc Overview for Boot CampOpenStack Doc Overview for Boot Camp
OpenStack Doc Overview for Boot Camp
 

More from Devopsdays

Dev opsdays scriptcode
Dev opsdays scriptcodeDev opsdays scriptcode
Dev opsdays scriptcodeDevopsdays
 
Zero to hero - Geoff Webb
Zero to hero - Geoff WebbZero to hero - Geoff Webb
Zero to hero - Geoff WebbDevopsdays
 
Letting go gavin - Mc Donald
Letting go gavin - Mc DonaldLetting go gavin - Mc Donald
Letting go gavin - Mc DonaldDevopsdays
 
Dw tpain - Gordon Klok
Dw tpain - Gordon KlokDw tpain - Gordon Klok
Dw tpain - Gordon KlokDevopsdays
 
Dev ops finishes what agile started - Manfred Moser
Dev ops finishes what agile started - Manfred MoserDev ops finishes what agile started - Manfred Moser
Dev ops finishes what agile started - Manfred MoserDevopsdays
 
Game of thrones - Jonathan Thorpe
Game of thrones - Jonathan ThorpeGame of thrones - Jonathan Thorpe
Game of thrones - Jonathan ThorpeDevopsdays
 
Gaming dev ops - Eduardo Saito
Gaming dev ops - Eduardo SaitoGaming dev ops - Eduardo Saito
Gaming dev ops - Eduardo SaitoDevopsdays
 
From the classroom to the cloud a journey with node.js - Christopher Hogue
From the classroom to the cloud   a journey with node.js - Christopher HogueFrom the classroom to the cloud   a journey with node.js - Christopher Hogue
From the classroom to the cloud a journey with node.js - Christopher HogueDevopsdays
 
Dev ops at mobify - Kyle Young
Dev ops at mobify - Kyle YoungDev ops at mobify - Kyle Young
Dev ops at mobify - Kyle YoungDevopsdays
 
Your business needs devops, so don’t follow - Brian johnson
Your business needs devops, so don’t follow - Brian johnson Your business needs devops, so don’t follow - Brian johnson
Your business needs devops, so don’t follow - Brian johnson Devopsdays
 
Test kitchen 1.0 - Fletcher Nichol
Test kitchen 1.0 - Fletcher NicholTest kitchen 1.0 - Fletcher Nichol
Test kitchen 1.0 - Fletcher NicholDevopsdays
 
Living system or build factory - Chris Maxwell
Living system or build factory  - Chris MaxwellLiving system or build factory  - Chris Maxwell
Living system or build factory - Chris MaxwellDevopsdays
 
From vagrant to production - Mark Eijsermans
From vagrant to production - Mark EijsermansFrom vagrant to production - Mark Eijsermans
From vagrant to production - Mark EijsermansDevopsdays
 
Building for operations - Reinhardt Quelle
Building for operations - Reinhardt QuelleBuilding for operations - Reinhardt Quelle
Building for operations - Reinhardt QuelleDevopsdays
 
Taking devops to the Next Level - Max Martin
Taking devops to the Next Level - Max MartinTaking devops to the Next Level - Max Martin
Taking devops to the Next Level - Max MartinDevopsdays
 
Sensu intro - Sean Porter
Sensu intro - Sean PorterSensu intro - Sean Porter
Sensu intro - Sean PorterDevopsdays
 
Ops for everyone - John Britton
Ops for everyone - John BrittonOps for everyone - John Britton
Ops for everyone - John BrittonDevopsdays
 
Effective monitoring with statsd - Alexis lê-quôc
Effective monitoring with statsd - Alexis lê-quôcEffective monitoring with statsd - Alexis lê-quôc
Effective monitoring with statsd - Alexis lê-quôcDevopsdays
 
Being healthy dev and ops in cookpad - Issei Naruta
Being healthy dev and ops in cookpad - Issei NarutaBeing healthy dev and ops in cookpad - Issei Naruta
Being healthy dev and ops in cookpad - Issei NarutaDevopsdays
 
Making operations visible - Nick Gallbreath
Making operations visible - Nick GallbreathMaking operations visible - Nick Gallbreath
Making operations visible - Nick GallbreathDevopsdays
 

More from Devopsdays (20)

Dev opsdays scriptcode
Dev opsdays scriptcodeDev opsdays scriptcode
Dev opsdays scriptcode
 
Zero to hero - Geoff Webb
Zero to hero - Geoff WebbZero to hero - Geoff Webb
Zero to hero - Geoff Webb
 
Letting go gavin - Mc Donald
Letting go gavin - Mc DonaldLetting go gavin - Mc Donald
Letting go gavin - Mc Donald
 
Dw tpain - Gordon Klok
Dw tpain - Gordon KlokDw tpain - Gordon Klok
Dw tpain - Gordon Klok
 
Dev ops finishes what agile started - Manfred Moser
Dev ops finishes what agile started - Manfred MoserDev ops finishes what agile started - Manfred Moser
Dev ops finishes what agile started - Manfred Moser
 
Game of thrones - Jonathan Thorpe
Game of thrones - Jonathan ThorpeGame of thrones - Jonathan Thorpe
Game of thrones - Jonathan Thorpe
 
Gaming dev ops - Eduardo Saito
Gaming dev ops - Eduardo SaitoGaming dev ops - Eduardo Saito
Gaming dev ops - Eduardo Saito
 
From the classroom to the cloud a journey with node.js - Christopher Hogue
From the classroom to the cloud   a journey with node.js - Christopher HogueFrom the classroom to the cloud   a journey with node.js - Christopher Hogue
From the classroom to the cloud a journey with node.js - Christopher Hogue
 
Dev ops at mobify - Kyle Young
Dev ops at mobify - Kyle YoungDev ops at mobify - Kyle Young
Dev ops at mobify - Kyle Young
 
Your business needs devops, so don’t follow - Brian johnson
Your business needs devops, so don’t follow - Brian johnson Your business needs devops, so don’t follow - Brian johnson
Your business needs devops, so don’t follow - Brian johnson
 
Test kitchen 1.0 - Fletcher Nichol
Test kitchen 1.0 - Fletcher NicholTest kitchen 1.0 - Fletcher Nichol
Test kitchen 1.0 - Fletcher Nichol
 
Living system or build factory - Chris Maxwell
Living system or build factory  - Chris MaxwellLiving system or build factory  - Chris Maxwell
Living system or build factory - Chris Maxwell
 
From vagrant to production - Mark Eijsermans
From vagrant to production - Mark EijsermansFrom vagrant to production - Mark Eijsermans
From vagrant to production - Mark Eijsermans
 
Building for operations - Reinhardt Quelle
Building for operations - Reinhardt QuelleBuilding for operations - Reinhardt Quelle
Building for operations - Reinhardt Quelle
 
Taking devops to the Next Level - Max Martin
Taking devops to the Next Level - Max MartinTaking devops to the Next Level - Max Martin
Taking devops to the Next Level - Max Martin
 
Sensu intro - Sean Porter
Sensu intro - Sean PorterSensu intro - Sean Porter
Sensu intro - Sean Porter
 
Ops for everyone - John Britton
Ops for everyone - John BrittonOps for everyone - John Britton
Ops for everyone - John Britton
 
Effective monitoring with statsd - Alexis lê-quôc
Effective monitoring with statsd - Alexis lê-quôcEffective monitoring with statsd - Alexis lê-quôc
Effective monitoring with statsd - Alexis lê-quôc
 
Being healthy dev and ops in cookpad - Issei Naruta
Being healthy dev and ops in cookpad - Issei NarutaBeing healthy dev and ops in cookpad - Issei Naruta
Being healthy dev and ops in cookpad - Issei Naruta
 
Making operations visible - Nick Gallbreath
Making operations visible - Nick GallbreathMaking operations visible - Nick Gallbreath
Making operations visible - Nick Gallbreath
 

Recently uploaded

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 

Recently uploaded (20)

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 

Dev ops lessons learned - Michael Collins

  • 1. Lessons learned trying to implement DevOps in a rapidly growing environment
  • 2.
  • 5. Lessons learned trying to implement DevOps in a rapidly growing environment
  • 6. Lessons learned trying to implement DevOps in a rapidly growing environment • Lament of a Failed DevOps Manager • Origin of this talk • Excuses
  • 7. Introductions Michael Collins Principal Systems Architect ! http://www.demonware.net/ ! @ook !
  • 8. Demonware • Online services for Console Games • • SaaS APIs • Cross platform SDKs • • Middleware Consultancy & Design Part of Activision Blizzard
  • 9. Demonware • 435+ million gamers • 3.2 million+ concurrent online gamers • 95+ games • 300,000+ requests per second at peak • Avg. query response time of < .01 second • Collect 500,000+ metrics a minute • 100 billion+ API calls per month
  • 10. Lessons learned trying to implement DevOps in a rapidly growing environment 3500
 • What is rapidly growing? • • 50-100% annual growth People, Scale & Complexity 3000
 2500
 New
Serv 2000
 Re4red
Se Reused
se 1500
 • How Applicable are our lessons? • • Servers
Cu Ops
Staff
 1000
 This talk == Not technical For DW Tech talks see: 500
 0
 2007
 2008
 2009
 2010
 2011
 2012
 2013
 2014
 • Erlang and First-Person Shooters in online games - Malcolm Dowse - Erlang Factory London 2011 • PyCon.ie 2011 Keynote - Damien Marshall • Puppet at Demonware - Ruaidhrí Power - PuppetConf ’12
  • 11. A brief history of "DevOps" at Demonware • Early years (2003 - 2007) • Focused on P2P, handful of Services, minimal data persistence, 10s of servers, random hardware, Golden Images, Shell Scripts • root for (almost) everybody! • “NoOps” • Early 2007 - Removed root access for developers • April 2008 - Started to dabble with Puppet • September 2008 - Automated installs (preseed), Standard Hardware, Puppet based installs for production base • Spring 2009 - Started to build OS packages for our stack • June 2009 - DW Engineers attend Velocity for first time
  • 12. A brief history of "DevOps" at Demonware • Summer 2010 - Rushed switch to Cobbler/CentOS, more Puppet driven by custom ENC - disabled noop • January 2011 - First Ops Intern • Early 2011 - Ops Re-Org, enter DevOps team • August 2011 - First Engineer moved from Dev to Ops • September 2011 - Move to Continuous Deployment for Puppet to Prod • February 2012 - Work with DTO solutions on "Dev Environment provisioning blue print” • March 2012 - Disband DevOps team, new Org Structure - first official Ops Software Engineer job title • September 2012 - Rundeck in Production • October 2012 - Internal hack-a-thon week to kickstart "Ops API” • November 2012 - Ops API first release, read only cached access to Inventory system • December 2012 - Our current Build engineer started • December 2012 - Prototype v1 of internal IAAS API for bare metal provisioning • February 2013 - First engineer transferred from Ops team to another team (Datawarehouse) • March 2013 - First release of Build Engineering automated developer environment setup tool
  • 13. Initial Thoughts on our DevOps History • Suspect Typical Evolution for Traditional Busy Ops & Dev? • “DevOps” almost exclusively focused on Ops :-( ! • Big Wins • • • Building internal APIs Continuous deployment of Puppet to Production Big Losses • Restricting Prod Access • Starting with Prod & trying to retrofit • Being stereotypical BOFHs
  • 14.
  • 16. 1 - Be able to clearly articulate what DevOps is What is DevOps?
  • 17. What does DevOps mean for … • You • • • Day to Day Big Picture Your Organization • • Boss • Teams you work with • • Colleagues Leadership Can you explain Clearly, Articulately & Concisely to everyone you deal with?
  • 18.
  • 19. DevOps for me @ Demonware • For me • • • Day to day - “Automate all the things!” Big Picture - “Service Delivery Pipeline, Organizational Sympathy” For Demonware • Colleagues - “Buzzword Bullsh*t - almost Cloud” • My Boss - “DevOps within Ops, Visible Ops” • Old Boss - “Developer Self Service; You build it, you run it” • • Leadership - “Bridge Dev vs Ops divide, maintain agility as we grow” • • Teams I work with - “We have to write puppet? What happened to the puppet guys? Wow puppet sucks” Everyone - “Something Michael rambles about” PS. Above Quotes Fabricated
  • 20. 2 - Trust your developers • My Single Biggest Mistake • • Revoking developer access to Production Ops be a good Customer for your Developers, provide: • Requirements • Bug Reports • Examples • Metrics & Data
  • 21. 3 - Start with Dev • Working on Automation for over 5 years • • Never quite useable in Development • • Almost exclusively focused on Production Don’t do this In 2013 easy to start with Dev • Packer, Vagrant, Docker, Boxen etc • First day: sign in, push “make go now”, get coffee, work
  • 22. 4 - Toolchains not Tools • Demonware - "We build & run services which use Erlang, Python, RabbitMQ, MySQL & Cassandra with Hadoop for Data Analytics” • DevOps@Demonware were “The Puppet guys” • Demonware Ops have: • Nagios guy • Elasticsearch/Logstash/Kibana girl • Graphite guy
  • 23. 4 - Toolchains not Tools • CfEngine vs Puppet vs Chef vs Ansible • Apache vs Lighttpd vs Nginx vs Jetty • Who cares? • What matters is: • Using Configuration Management • Using a HTTP server
  • 24. Distinguish between Tools & Toolchain Components • Knowledge not Trade • Components not Things • Bezos Amazon Service mandate • Containers / VMs / APIs / PaaS • Describe not Proscribe
  • 25. Operations Development 5 - Service Delivery Pipelines ?? ?? ?? ?? Build Run
  • 26.
  • 27. Operations Development 5 - Service Delivery Pipelines Build Run
  • 28. DevOps Toolchain & Service Delivery • Not my idea • • ITIL Service Delivery • • DTO Solutions Many Others http://dev2ops.org/category/devops-toolchainproject/
  • 29. 6 - Organizational Sympathy • Mechanical Sympathy • "Hardware and software working together in harmony” • Martin Thompson, High Performance Low Latency Specialist • Blog & Mailing List
  • 30. 6 - Organizational Sympathy • Understand your organization • Goals, Processes etc • Then decide which Toolchain elements make sense to re-use • And what you have to build • Your organization is not Etsy, Facebook or Twitter • You can’t map their Toolchain & Processes without appropriate Transformations
  • 32. 7 - Organizational Flexibility • Org Structure not sacred • Annual re-orgs normal? • Examples • Valve • Internally • Good - Engineers continuing to work together post “reorg” • Bad - Ops Area, Dev Area :-(
  • 33. 7 - Organizational Flexibility • Spend time in different roles • • Sit with other teams • • Google "Mission Control” Gatecrash scrums Understand your colleagues POV
  • 34. 8 - Communication is Hard • Timezones Suck • Cultural differences are Hard • Managing Growth without missteps is impossible? • Most Nerds^wEngineers pick crappy mediums • Face, VC, Voice, IM, Mail … • No Silver Bullets • Best Writing Advice for Engineers I've Ever Seen. Period.
  • 35. 9 - Hiring Matters • The biggest contribution I have made to Demonware is managing to hire people who are smarter than me • Especially crucial for “DevOps”
  • 36. 10 - Metrics & Data • Business Metrics not CPU utilization • Data justifies • Change • Resources • Experiments
  • 37. TL;DR
  • 38. “How does <X> make it easier to deploy and run our services?”
  • 39. Aside - Puppet Continuous Deployment • Problem • • • Automation just for system build & service prop “Just stopping puppet, will fix later” - Divergence not Convergence Solution • Sledgehammer • Toolchain • • Monitoring & Alerting based on Puppet (Internal Daemon & Nagios) • “Positive” Policy enforcement - Disease build “bears” • • Code Review & Aggressive pushing (Git & Gerrit & Fan-out) Testing - dcinabox Result • Most production hosts 100% puppet managed (working on staging) • In large clusters Drain & Rebuild easier then troubleshooting
  • 40. Looking Forward • Distributed Configuration • • Promise Theory, Cluster State Transitions, Multiple Sources of Truth, Constraint Solving Distributed System Platform Blocks • • Separating Infrastructure, Platform & Applications • Containers • • Netflix / Twitter OSS Stacks DC wide cluster scheduling Scaling Organisations • Remote Workers? • Embedded Ops? • Flat organizations?
  • 41. DevOps Lessons Learned 1. Be able to clearly articulate what DevOps is at multiple Levels of Detail 2. Trust your developers 3. Start with Dev 4. Toolchains not Tools 5. Service Delivery Pipelines 6. Organizational Sympathy 7. Organizational Flexibility 8. Communication is hard 9. Hiring Matters 10. Metrics & Data
  • 42. Surprise - We are Hiring! • jobs@demonware.net • http://www.demonware.net/ • @demonware ! • Also food & some drinks later are on us …
  • 44. Random • Contenders for inclusion: • Operational Acceptance • Versioning • Release Management • Repository Management • Agile!11!