It seems every startup is now using a Chat, almost all of them Slack. At the same time, ChatOps grew in popularity among startups (espcially the biggest ones). The idea of having an automated personal assistant opens up a virtually limitless set of possibilities.

You could do a lot but, what about custom operations, including system admins ones: monitoring your application, restarting a crashed service, etc. ? And what about small teams that lack resources and time to develop fancy tools?

At Email Hunter, our team has to focus on what is the most useful for our users. Yet, over the last few months, ChatOps have at multiple times proven extremely helpful for us, and we’d like to share how.

A standardized way of deploying and saving the day

With time, if you’re not using a PAAS such as Heroku, you’ll begin having subtle deployment scripts. Secrets and complex commands change regularly. Then you bring someone in for a few weeks, and you reasonably don’t wish to share every API key with them. A chat bot quickly becomes a great way for every team member to have a simple way to interact with your application, launch deployments, and monitor services.

The biggest win for our team is to be able to control at any times our service and take the appropriate actions. Most of the time we end up restarting a server or Docker container via Slack. On a business day, this makes it possible for everyone to follow the resolution of the current problem.

But what about that time when you’re in a bar, and the phone starts ringing because the website is down? And thanks to Murphy’s Law you seem to be the only getting the info. Such a failure happened. Being able to take a few actions from your phone is enough to save the day most of the time. If you’re aware of the parts of your infrastructure most likely to break, you can quickly prepare solutions through your chat bot.

Assembling your chat bot

At Email Hunter, we went with a battle tested bot: Hubot. In a few minutes, you’ll get one up and running on Heroku. For a few dollars each month, you can have the confidence that he will always be available, ready for when you need it the most.

With time, it is possible to create efficient workflows with Hubot. For a start, you can just add a few shell scripts and custom endpoints. With this in place, you’ll then be able to add new features slowly to get the bot to become a crucial part of your system administration.

Antoine Finkelstein
Antoine Finkelstein