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

The Addictive Nature of Automation

The Addictive Nature of Automation

Automation is generally accepted as “good.” I’d like to suggest that automation has rather addictive powers, too. Using my own experiences, but not any “real science”, I’ll explore how automation can make operations people happier, developers more productive, systems more resilient, and customers happier. I’ll share some of my experiences at CustomInk where we leveled-up our automation using tools such as Chef, Jenkins, and communication.

Originally presented at LOPSA-East 2013

Nathen Harvey

May 04, 2013
Tweet

More Decks by Nathen Harvey

Other Decks in Technology

Transcript

  1. whoami • Nathen Harvey • @nathenharvey • Technical Community Manager,

    Opscode • Co-host Food Fight Show Podcast • Co-organizer DevOpsDC Meetup
  2. Automation • The use of information technologies to optimize productivity

    in the production of goods and delivery of services http://en.wikipedia.org/wiki/Automation
  3. Results of Automation • Operations people are happier • Developers

    are more productive • Systems are more resilient
  4. When I joined... • One team working on a few

    applications simultaneously • Two-week sprints • Operations team deploys the code at the end of each sprint
  5. Process • Ticket included in the sprint planning session •

    Easy change, made at the beginning of the sprint • Change committed, developer done • Change sits in repo for 12 more days waiting on Ops to press the “deploy” button
  6. Ceremony • Email everyone in the company • Announce time

    and date of the deploy • Full set of changes included • Schedules updated
  7. Verifying Changes • Staging and verifying many small changes in

    one or two staging environments doesn't work • Each topic branch must have its own staging environment
  8. Configuration Management • Your custom scripts and golden images are

    not sufficient • You need a configuration management framework
  9. Infrastructure as Code • Enable the reconstruction of the business

    from nothing but • a source code repository • an application data backup • and compute (bare metal or cloud) resources
  10. cap jenkins:create cap jenkins:build cap jenkins:status cap jenkins:console cap jenkins:delete

    Automated CI • Jenkins tests every branch • Enable developers
  11. Results • Minimized work in progress • Shorter cycle times

    • Fewer integration bugs • People agitated when deploys slow down • Everyone deploys • Rollbacks are the exception
  12. Results • Developers have responsibility for getting features to production

    • Operations works on more interesting challenges • Customer satisfaction and sales increase
  13. How do YOU get started? • Look at the process

    • minimize handoffs • identify bottlenecks • Automate, automate, automate • Use the right tools • Enable and empower everyone
  14. Automation • Start with one function or application • Automate

    end-to-end • Take lessons learned to other areas
  15. The right tools • Distributed version control • Continuous Integration

    Server • Configuration Management Framework • Sensible and comprehensive Monitoring
  16. The right tools • Group chat • Video conferencing •

    Face-to-face conversations • Blameless Postmortems • Retrospectives • Continuous Improvement
  17. How do YOU get started? • Look at the process

    • minimize handoffs • identify bottlenecks • Automate, automate, automate • Use the right tools • Enable and empower everyone
  18. What Questions Do You Have? • Nathen Harvey • @nathenharvey

    • Technical Community Manager, Opscode • Co-host Food Fight Show Podcast • Co-organizer DevOpsDC Meetup