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

ChatOps: Infrastructure As Conversation

ChatOps: Infrastructure As Conversation

Those tasked with building and maintaining resilient services and systems at scale are aware of the concepts behind “Infrastructure as Code”. Configuration management tools and services such as Puppet, Ansible, Chef, and others have become a staple in the provisioning, management, and more of critical components of systems worldwide.

With the growing popularity of ChatOps (the concept of moving actions and context related to Operations into a persistent group-chat tool) more and more teams are beginning to find even more efficiencies and benefits. What does it look like when teams have begun to manage much of their infrastructure from the interface of group-chat? What concerns and pitfalls must be considered? Where should teams begin their efforts towards a ChatOps approach? What’s on the horizon and beyond as more and more shift their actions away from the command-line-interface and web browsers and begin to leverage API’s, bots, and group-chat tools in a secure and consistent way?

j.hand

May 17, 2016
Tweet

More Decks by j.hand

Other Decks in Technology

Transcript

  1. Delivery Pipeline Plan Code Build Test Release Deploy Operate Agile

    Infrastructure (DevOps) Continuous Delivery Continuous Integration Agile Development @jasonhand ~ #ChatOps
  2. AVAILABILITY & RELIABILITY High resiliency & reliability is the result

    of improved MTTR Fail Fast == Respond & Recover Fast
  3. A CONTINUOUS IMPROVEMENT It is not enough to do your

    best; you must know what to do, and then do your best. - W. Edwards Deming Act Check Do @jasonhand ~ #ChatOps Plan
  4. DevOps Buzzword Bingo Continuous Integration Continuous Testing Continuous Delivery Continuous

    Monitoring Continuous Deployment ChatOps Containerization Microservices High Availability Devs On-call Delivery Pipeline Configuration Management Infrastructure As Code Virtualization Immutable Infrastructure Feedback Loops Experimentation Culture Release Automation Lean Kanban @jasonhand ~ #ChatOps Measurement Sharing
  5. What is ChatOps? ChatOps is an approach to communication that

    allows teams to collaborate and manage many aspects of their infrastructure, code, and data from the comfort and safety of a chat room. Through the use of chatbots and scripts, teams can execute commands, query information, and distribute knowledge across the entire organization and all from the space where conversations are already taking place, a chat room. “We're taking the things we're already doing and putting them in line with the conversations we're already having” - James Fryman (StackStorm) @jasonhand ~ #ChatOps
  6. 1 1 1 2 1 3 1 4 Origins IRC

    XMPP/ Jabber Campfire HipChat/ Slack/Flowdock api @jasonhand ~ #ChatOps “Conversation-driven development”
  7. A HUBOT: THE EARLY YEARS Placing tools right in the

    middle of the conversation - Jesse Newland (GitHub) - 2012 @jasonhand ~ #ChatOps
  8. Problems Devs & Ops Teams Have Problems Our Bots Solve

    Maturation of ChatOps : Phase 1 adopted from @davidjbland @jasonhand ~ #ChatOps
  9. Problems Devs & Ops Teams Have Problems Our Bots Solve

    Maturation of ChatOps : Phase 2 adopted from @davidjbland @jasonhand ~ #ChatOps
  10. GitHub Pull Request Notifier Merge code Show current status Display

    “commit” link Commit Notifier Display “issue” link Display repo commuters Show Open Pull Requests Show Repo Activity Show open issues Search for string in code @jasonhand ~ #ChatOps
  11. 1 1 1 2 1 3 1 4 THE NEW

    INTERFACE Notifications/ Information Alerting/ Paging Command Execution Collaboration/ Communication @jasonhand ~ #ChatOps Feedback Loops Lower MTTR Higher availability & happier users
  12. A THE NEW INTERFACE A tool to help the way

    our people systems work that in turn helps the way our technical systems work. - Mark Imbriaco (operable.io) https://youtu.be/pCVvYCjvoZI @jasonhand ~ #ChatOps
  13. Problems Devs & Ops Teams Have Problems Our Bots Solve

    Maturation of ChatOps : Phase 3 adopted from @davidjbland @jasonhand ~ #ChatOps
  14. A SITUATIONAL AWARENESS What makes a great team — everyone

    on the field is aware of everything, all the time. The team with the most situational awareness will win. - Mary Poppendieck (Lean Software Development) DevOpsDays Minneapolis - 2015 @jasonhand ~ #ChatOps
  15. Deploy Code git push origin master Counting objects: 7, done.

    Compressing objects: 100% (4/4), done. Writing objects: 100% (4/4), 407 bytes, done. Total 4 (delta 2), reused 0 (delta 0) To [email protected]:qrush/gitready.git 361303d..f2cd831 master -> master jhand$ git commit -am "Adding ChatOps link" Created commit f2cd831: Adding ChatOps link 1 files changed, 1 insertions(+), 0 deletions(-) @jasonhand ~ #ChatOps jhand$
  16. Deploy Code Created commit f2cd831: Adding ChatOps link 1 files

    changed, 1 insertions(+), 0 deletions(-) foobot git commit -am "Adding ChatOps link" @jasonhand ~ #ChatOps Counting objects: 7, done. Compressing objects: 100% (4/4), done. Writing objects: 100% (4/4), 407 bytes, done. Total 4 (delta 2), reused 0 (delta 0) To [email protected]:qrush/gitready.git 361303d..f2cd831 master -> master foobot git push origin master
  17. Build Infrastructure Platform install commit-1248994 (#789). Started by user: jhand

    (09.04.2015.11:03:24) Platform install commit-1248994 complete jhand$ build commit-1248994 @jasonhand ~ #ChatOps
  18. Build Infrastructure building commit-1248994 Platform install commit-1248994 (#789). Started by

    user: jhand (09.04.2015.11:03:24) Platform install commit-1248994 complete foobot build commit-1248994 @jasonhand ~ #ChatOps
  19. Manage Incidents Incident 778467 has been acknowledged by (jhand) Stopped

    paging jhand - (Backend Engineering Team) @ 2:51 p.m. MT jhand$ ack incident 778467 @jasonhand ~ #ChatOps
  20. Manage Incidents Incident 778467 has been acknowledged by (jhand) Stopped

    paging jhand - (Backend Engineering Team) @ 2:51 p.m. MT foobot ack me incident 778467 @jasonhand ~ #ChatOps
  21. Manage Incidents Runbook says to look at the graph first

    Please review runbook for prod2.cass24.victorops.com @jasonhand ~ #ChatOps
  22. Kick Services foobot restart apache 192.168.0.345 @jasonhand ~ #ChatOps apache

    on host 192.168.0.345 has been restarted one moment .. restarting apache on requested host
  23. 1 1 1 2 1 3 1 4 Benefits of

    ChatOps Sharing Speed Learning Security @jasonhand ~ #ChatOps
  24. Problems Devs & Ops Teams Have Problems Our Bots Solve

    Maturation of ChatOps : Phase 4 & Beyond adopted from @davidjbland @jasonhand ~ #ChatOps
  25. !57 Abstract Those tasked with building and maintaining resilient services

    and systems at scale are aware of the concepts behind “Infrastructure as Code”. Configuration management tools and services such as Puppet, Ansible, Chef, and others have become a staple in the provisioning, management, and more of critical components of systems worldwide. With the growing popularity of ChatOps (the concept of moving actions and context related to Operations into a persistent group-chat tool) more and more teams are beginning to find even more efficiencies and benefits. What does it look like when teams have begun to manage much of their infrastructure from the interface of group- chat? What concerns and pitfalls must be considered? Where should teams begin their efforts towards a ChatOps approach? What’s on the horizon and beyond as more and more shift their actions away from the command-line-interface and web browsers and begin to leverage API’s, bots, and group-chat tools in a secure and consistent way?