Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Human Scale Systems: Operability.io 2016

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →
Avatar for Mark Imbriaco Mark Imbriaco
September 20, 2016

Human Scale Systems: Operability.io 2016

Avatar for Mark Imbriaco

Mark Imbriaco

September 20, 2016

More Decks by Mark Imbriaco

Other Decks in Technology

Transcript

  1. Mark Imbriaco @markimbriaco • Development and operations of services for

    over 20 years. • Led technical operations at companies like 37signals, Heroku, LivingSocial, GitHub, and DigitalOcean. • Ops nerd at heart. Who am I?
  2. Mark Imbriaco @markimbriaco In the startup world, we hear a

    lot about the idea of unfair advantages. In systems, adaptability is the ultimate unfair advantage. Adaptability is the unfair advantage.
  3. Mark Imbriaco @markimbriaco It has never been faster or cheaper

    to build and deploy software. Organizations that embrace adaptability are able to quickly deliver new products or respond to moves by competitors. Rate of change is accelerating.
  4. Mark Imbriaco @markimbriaco DevOps has become a coping mechanism for

    handling rate of change rather than a cultural movement focused on collaboration. More often than not, DevOps is used as a synonym for continuous delivery. DevOps all the things.
  5. Mark Imbriaco @markimbriaco Automation is critical to reducing burden and

    bringing consistency to predictable, repetitive tasks. At even very small scale it is a necessity rather than a luxury. So, we automate.
  6. Mark Imbriaco @markimbriaco If automation is necessary and increasingly ubiquitous,

    and given the rise of platforms, what is the role of humans? Is automation eating the world?
  7. Mark Imbriaco @markimbriaco Have you noticed that NoOps has Oops

    included right in the name? Automation: Necessary but not sufficient.
  8. “ ” Mark Imbriaco @markimbriaco Practitioners and first line management

    actively adapt the system to maximize production and minimize accidents. These adaptations often occur on a moment by moment basis… Humans bring adaptability. How Complex Systems Fail Dr. Richard L. Cook
  9. Mark Imbriaco @markimbriaco Be prescriptive where possible to allow people

    to focus on the areas where they provide the most leverage. Don't make me think.
  10. Mark Imbriaco @markimbriaco Model incident response after your day to

    day tasks. Practice makes perfect so wherever possible use the same workflow and communication mechanisms during an emergency that you use all the time. Value consistency.
  11. Mark Imbriaco @markimbriaco Big design up front does not work

    well in software. Processes are no different. Be flexible, adaptable, and constantly apply what you learn. Do the simplest thing that could work.
  12. Mark Imbriaco @markimbriaco If you're building a web tool, enlist

    help from a friendly designer. If all else fails, pick a UI framework like Bootstrap and fake it. A little bit of visual design goes a long way. Ops tools don't have to be ugly.
  13. Mark Imbriaco @markimbriaco Build small, sharp tools that perform one

    task. Design them with composition in mind so that you can combine them to perform more complex tasks. Embrace the Unix philosophy.
  14. Mark Imbriaco @markimbriaco The best command line option is the

    one you don't have to remember at 0300. Where possible build tools with sensible defaults to make the common case trivial. Do the right thing by default.
  15. Mark Imbriaco @markimbriaco Be consistent in naming conventions, options, and

    behavior. Avoid gimmicky interaction mechanisms in favor of predictable ones. Consistency still matters.
  16. Mark Imbriaco @markimbriaco It can be hard for engineers to

    leave problems unsolved, and there are always more problems. Push back and enforce healthy balance. Fight hero culture.
  17. Mark Imbriaco @markimbriaco Learn from both successes and failures. Retrospectives

    should be a habit, not an opportunity for assigning blame. Make it safe to learn.
  18. Mark Imbriaco @markimbriaco Big design up front does not work

    well in software. Processes are no different. Be flexible, adaptable, and constantly apply what you learn. Embrace iteration.
  19. Mark Imbriaco @markimbriaco Technical remediation items aren’t enough. Make sure

    that your hard won knowledge is shared across your entire organization in process improvement and deliberately considered in new projects. Close the feedback loop.