Messing with your head
How modern IT does my head in
V6
What if I told
you…
The point on a wheel touching the
ground is stationary and midway
through completely reversing direction
Less process
Less process
Fail fast
Fail forward
If it hurts do it
more
Infrastructure as
code
Get out of the
way
Let Dev build
Prod
Toolsmiths
Deploy to Prod
10,000 pushes
to Prod a day
Andon cord
No forks
Servers are
cattle not pets
Be mean to
your code
Test Driven
Design
ChatOps
IT can be a
normal job
Believe in
goodness
What if I told
you…
…this is real
• Prudential
• Allstate
• Auto Trader
• Ticketmaster
• Target
• Nordstrom
• ING
• USAA
• Capital One
• Lloyds
• Barclays
• Lego
• Sherwin-
Williams
• Telstra
• Google
• Netflix
• Etsy
• IBM
• HP
• Mainframes
• Firmware
• Websites
• Transactional
• Mobile
• Robust
• Resilient
• Fast
• Secure
• Efficient
• Auditable

How DevOps messes with your head

Editor's Notes

  • #2 © Two Hills Ltd 2015-2016 Created and published by Two Hills letterbox@twohills.co.nz www.twohills.co.nz PO Box 57-150, Mana Porirua 5247 New Zealand This work by Two Hills Ltd is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. Content must be attributed to "Two Hills Ltd www.twohills.co.nz".
  • #3 Welcome to a world where nothing is quite what you thought it was A lightning romp through the far side of DevOps
  • #5 Lean Agile Manifesto Reduced formality: close teamwork; a culture of trust, empowerment, professionalism, and accountability; flexibility over process.
  • #6 Lean Agile Manifesto Reduced formality: close teamwork; a culture of trust, empowerment, professionalism, and accountability; flexibility over process.
  • #7 be able to fix failures so quickly that it is more efficient than preventing them Be prepared to fail: experiment and learn. My term: noble failure.
  • #9 Antifragility Kata when you hear the phrase we need more time for this release, your response should be to release more often – Adrian Cockcroft
  • #10 Infrastructure as code is the ability to build some or all of an environment for an application/system (from Dev to Prod) using software (usually scripts and command lines), from the bare metal up: server, storage, operating system, database, metadata, data, network, shared services, code, identities, authorisations… The ideal is for a single package to contain the code for an application and an environment to run that application.
  • #11 Trust Empowerment Change facilitation Improved flow Let them do their own risk assessment
  • #12 Development owns as much of the lifecycle as possible, possibly including deployment to production. Toolsmiths and boilermen Rugged DevOps Operations move to more of a supervisory capability, setting policy and controls and overseeing environments, with execution of many operational tasks performed by Development teams. Operationally ready code
  • #14 Automation is key to increasing deployment speed and frequency without sacrificing quality: automation of merge, build, test, approve, release, deploy. The extreme ideal is a "deploy" button which allows a developer to deploy through all environments, tests, and controls into production without intervention.
  • #15 Automation Unicorns Continuous Deployment means code is released at any time, unconstrained by windows or schedules.
  • #16 Stop the production line Deming: make toast: you burn I’ll scrape Google Orb (?) Space shuttle designed for 99.9% reliability = only 27,000 components expected to fail
  • #17 Check in to trunk Test against a prod-like image Always ready to deploy Continuous integration is the ability to test code against a production-like image at all stages of the lifecycle from early unit development so it is always guaranteed to work in Production (for some defined meaning of "always" and "guaranteed") ...and no forks: no branching of cide; one version; no merges; no regression Continuous Delivery means code is always ready to deploy (for some defined meaning of "always" and "ready")
  • #18 Trash your servers and burn your code Immutable architecture
  • #19 Simian army Chaos monkey
  • #21 Sharing Peering Loop people in Greater collaboration between Dev and Ops: united team, shared knowledge and tools, shared ownership of the production system, shared accountability for service... Teamwork Measure and reward the team
  • #22 Implement over the weekend Humane IT Burnout Slow IT
  • #23 Sharing Transparency Doing the best for the customer Unreasonableness as waste Death of cynicism Leading with the heart
  • #24 So what if I told you these things? A lightning romp through the far side of DevOps