Use IRC to Improve Collaboration in DevOps Groups

IRC running on an Apple //c

IRC running on an Apple //c A while back we asked what tools your DevOps team uses to collaborate. IRC, Skype other chat tools were high on the list. It’s clear that text chat is an important tool for collaboration.

In a recent piece on how the Puppet Labs operations team uses IRC, VP Tech Operations James Turnbull writes:

For me I can’t see how an Ops team can be functional without a collaborative chat environment. Email sucks for this – threaded or not it isn’t a real conversation. In turn IM tends to be very point-to-point and most of the group IM solutions suck. Sending alerts, automation and notifications to IM groups is also clumsy and resource intensive.

Although Turnbull is talking just about the ops team, I think cross-departmental teams, like DevOps, need this sort of real-time group interaction even more.

As to why the Puppet Labs team uses IRC instead of of one of the many other options for group chat, Turnbull lists the following reasons:

  • It’s a very simple protocol.
  • There’s lots of client support, ranging from command line clients like Irssi and Weechat as well as integration into a lot of GUI clients. Additionally it’s easy to run a client in a screen or tmux session.
  • It lends itself to automation and tooling with the use of IRC bots.
  • We can host it ourselves controlling security and availability.
  • It’s open source and free.

IRC is incredibly extensible. Using something like the Cinch framework you can quickly build your own bots for generating alerts and integrating with a variety of tools, such as code repositories, PagerDuty, Nagios or New Relic.

The other big advantage is that there’s a good chance at least some of your dev team is already using IRC all day, so getting them to adopt a new tool won’t be a problem.

But there are drawbacks to using IRC, most importantly the learning curve. Turnbull writes that “it’s pretty unlikely we’d ever hire anyone who would struggle to get IRC working.” But it was pointed out by the National Instruments team at DevOpsDays Austin that it can be hard to get non-technical users to use IRC. The NI team uses Campfire because of this.

One possible way around IRC’s learning curve is to use a Web based solution like Grove. Grove lets you create a private IRC server for your company and provides a simple Web-based interface for it, but it will also let you use other IRC client. So the non-technical users can log right in through Grove’s site, and the serious IRC-heads can keep using their command line tools. Grove also keeps searchable logs, and has built in integrations with GitHub, Bitbucket, Heroku and Pivotal Tracker. You could also slurp up Grove’s logs and feed them into Splunk or something similar for further analysis.

One big potential downside for enterprises may be LDAP integration. Grove did not respond to inquires as to whether Grove supports LDAP and if not whether it is on the roadmap.

Photo by Blake Patterson. You can even access IRC from an Apple IIc