Click here to load reader

ChatOps Unplugged

  • View
    197

  • Download
    0

Embed Size (px)

DESCRIPTION

Join DevOps Evangelist, Jason Hand, for a discussion on ChatOps and the movement to deploy, measure, and mitigate from a chat client. With more and more teams implementing methods to trigger commands from within their favorite chat clients, the time it takes to perform specific and repetitive tasks has been dramatically reduced. In providing a real-time command history to others, we can share knowledge and learn from each other faster than ever before.

Text of ChatOps Unplugged

2. Jason [email protected]@GoVictorOps #[email protected] 3. Agenda Introduction to ChatOps Origins Tools Benefits Examples Limitations & Concerns Getting Started Q&[email protected]@GoVictorOps #ChatOps 4. What do you doover and over again?Can I do that for you?Ill think about [email protected]@GoVictorOps #ChatOps 5. ChatOpsputting tools in the middle of the conversation- GitHub (2010)@[email protected] #ChatOps 6. DevOpsCultureAutomationMeasurementSharingTo move fast and maintain stability its important to havea culture of automation, measurement and [email protected]@GoVictorOps #ChatOps 7. ToolsChat clients(with channels or rooms)[email protected]@GoVictorOps #ChatOps 8. [email protected] #[email protected] 9. [email protected]@GoVictorOps #ChatOps 10. [email protected]@GoVictorOps #ChatOps 11. [email protected]@GoVictorOps #ChatOps 12. Multi-user terminalShare learning experiencesSharingDisseminate knowledge across everyone on the teamShare learning [email protected]@GoVictorOps #ChatOps 13. Learningeveryone is pairing all of the time- Jesse Newland (Ops GitHub)@[email protected] #ChatOps 14. SpeedHowmanyclicksdoes ittake you? @[email protected] #ChatOps 15. Jason: Hey Dan did you see that spike in CPUusage on Prod1.. ~ 3 minutes ago?Dan: No. Let me check. brbOld methodsDan: Shit. Yeah, I see it. Looks ok now. I think :-/Jason: Think we should let Mike know? He mightwant to dig in to it later.Dan: Yeah, Ill take a screenshot and email it to him.Jason: Would anyone else need to know about it?Dan: Prob. Ill cc the DevOps team so [email protected]@GoVictorOps #ChatOps 16. Jason: Hey Dan. My code is ready to push when youare.Old methodsDan: Cool. Ill commit it to the latest branch here ina minute.Jason: Great. Also, we should probably sit downwith Nick (new guy) and show him how to do thatsoon.Dan: Yeah. Once I get some time, Ill schedulesomething. :/Jason: Theres probably a bunch more stuff to showhim too, but Im not sure I even know all of the stepsfor everything.Dan: Weve got a wiki for most things, but noteverything. Ill see what I can find and email [email protected]@GoVictorOps #ChatOps 17. Chat with Jason & DanJason: Hey Dan. My code is ready to push when youare.Dan: Cool. Ill commit it to the latest branch here in aminute.Jason: Great. Also, we should probably sit down withNick (new guy) and show him how to do that soon.Dan: Yeah. Once I get some time, Ill schedulesomething. :/Jason: Theres probably a bunch more stuff to showhim too, but Im not sure I even know all of the steps foreverything.Dan: Weve got a wiki for most things, but noteverything. Ill see what I can find and email him.Old methodsIf using a traditional chat clientSuch as Gchat Who else can seethis conversation?Nobody [email protected] #ChatOps 18. What do you doover and over again?Can I do that for you?Heck yeah! :[email protected]@GoVictorOps #ChatOps 19. Examples Run MySQL command (as read-only user) Authorize users (assign and enforce user-based roles) Take a server offline Bring a server online Deploy code to a repository Displaying the status of a JIRA ticket Adding comments and changing their status on tickets Query the status of API's (internal & external) VM interaction to see host health Monitoring service interaction to trigger status checks Hubot scripts can be written in CoffeeScript or Javascript Notify people not present in a chatroom that they were mentioned Fetch logs Rebalance shards across its file servers List currently running jobs/processes Kill jobs/processes Tail a job/process Track Customer signups Sharing graphs for context Store static links, mapping those links to simple, easy to remember commandsIn GitHubOpening issuesClosing issuesCommenting on issuesListing issuesMerge pull requestsjhand.ml/scriptsjhand.ml/[email protected]@GoVictorOps #ChatOps 20. Example scriptShow current GitHub status and messagesjhand.ml/[email protected]@GoVictorOps #ChatOps 21. Jason: hubot github statushubot github status- Returns the current system status and timestamp.hubot github status last- Returns the last human communication, status, and timestamp.hubot github status messages- Returns the most recent human communications with status and timestamp.Hubot: github status: new file: Chatops.txt 116seconds [email protected]@GoVictorOps #ChatOps 22. Chat RoomJason: Hey Dan. My code is ready to push when youare.Dan: Cool. Ill commit it to the latest branch here in aminute.Jason: Great. Also, we should probably sit down withNick (new guy) and show him how to do that soon.Dan: Yeah. Once I get some time, Ill schedulesomething. :/Jason: Theres probably a bunch more stuff to showhim too, but Im not sure I even know all of the steps foreverything.Dan: Weve got a wiki for most things, but noteverything. Ill see what I can find and email him.New and improved!Who else can seethis conversation?Everybody [email protected] #ChatOpsJasonDanNickMikeJeffDougTara 23. Graphs or it didnt [email protected][email protected] #ChatOps 24. Jason: Hubot graphite load 1 min on serverABCHubot:Jason: @Dan you seeing this?Dan: Yeah.New methodw/ botsMike: That was me. I was running a giant report.Should be fine nowNick (new guy): Cool. Thanks for showing me how todo that. ;-)@[email protected] #ChatOps 25. Big WhoopWhy is [email protected]@GoVictorOps #ChatOps 26. @[email protected]: hubot graphite load 1 min on serverABC #ChatOps 27. @[email protected] #ChatOps 28. Getting StartedInstall botjhand.ml/hubotjhand.ml/litaCreate repoDownload existing scriptsjhand.ml/scriptsCreate your own scriptsAsk others what needs to be [email protected]@GoVictorOps #ChatOps 29. [email protected]@GoVictorOps #ChatOps 30. [email protected]@GoVictorOps #ChatOps 31. What Id like to learn from you :Are you doing [email protected]@GoVictorOps #ChatOps 32. @GoVictorOps #ChatOps 33. Jason [email protected]@GoVictorOps #[email protected]