Have you been told that your company is moving to a more DevOps development culture, but you have no idea what that really means? Hubot and ChatOps are tools that can help you understand more about DevOps and learn to use it in your organization. I'll summarize some clear steps and initiatives to do that.
What is DevOps?
First, let's define what I mean by DevOps. It can mean a lot of things depending on perspective, but what I call it is the process of getting multiple teams who are involved in the software process to talk to each other.
This is one of the reasons why GitHub is so valuable for software projects and teams today; it allows people to collaborate instead of just throwing something over the wall to another team.
How do you break down the walls?
What is ChatOps?
Next up, is the idea of ChatOps. A principal engineer at GitHub, Jesse Newland, coined the term ChatOps, which is an approach to managing technical and business operations through a group chat room. Doing these operations in a group chat is helpful because I will not have to wonder if I'm typing in the correct syntax to do a deployment, or why what I typed didn't work in the first place. If I was individually connected into a server, I would not have the benefit of others helping me with syntax errors in my commands or error messages I receive because they would not be able to see them.
Getting started with ChatOps
To get started, we'll need to have a company chat client that we'll use as a common interface for typing instructions. I recommend Slack because it's quick and easy to set up, and it integrates well with Hubot.
Now, we have to connect Hubot to the chat service so we can issue commands. There are a lot of options for where Hubot lives that have slightly different details, so I recommend doing this on infrastructure that you are comfortable with. I like Heroku.
Once Hubot is up and running, make sure Hubot is launched with the correct adapter (see Official Adapters) and login credentials. Then, identify a task that is manual for Hubot to complete; a task that may seem easy but involves going to another system to gather information.
Experiment. Talk with you team. Come up with a list of priority tasks to automate and have fun with it! DevOps is a great process for teams, and ChatOps helps integrate that process into teams. Leave me a comment if you have questions.
Brent Beer will be speaking at OSCON London about Hubot and ChatOps on October 17.