What Is A Runbook?

Understand the basics about Runbooks!

Manish Patel
February 14, 2020

Systems administrators have long used runbooks to list a set of steps or procedures for managing complex systems. However, there's is no standard format or single definition of runbooks. In this article, we describe what are runbooks and explore writing good runbooks in subsequent articles.

A runbook is a written set of procedures for the routine and exceptional operation of complex distributed systems by an operator. Typically, a runbook will contain procedures for starting, stopping, and managing various systems; and for handling problems that may arise.


Example

An example of a health check runbook for checking the health of AWS EC2 instances is below.

  1. List all AWS EC2 Instances
  2. For each instance, run describe instance status
  3. If instance status is unhealthy, send notification via email/Slack
  4. If all instances are healthy do nothing.

Advantages
  1. Codifying the sequence of steps and its execution
  2. Ability to share and execute by team members.
  3. Ability to test these runbooks
  4. Ability to review the execution of Runbooks for its success and Failure
  5. Help with proactive activities like auditing an application environment
  6. Ensure appropriate monitoring, backup and security is in place

Challenges

Secure Execution - It’s hard to manage runbook credentials, access control for different users and secure execution.

Lack of tools to Automate Runbooks - Automating Runbooks is taking the existing wiki/word doc of the steps into scripts for execution automatically. This helps automate the steps and avoid manual mistakes. However, scripts are not sufficient as access to the environments in order to run the scripts is required. In today’s world, there is a lack of a central tool to enable this.

Lack of integration with DevOps tools - Modern DevOps stack that includes monitoring (e.g. DataDog), alerting (e.g. PagerDuty), process (e.g. ServiceNow) and collaboration (e.g Slack) tools exist however there is a lack of end to end integration for an effective workflow.


Our Solution: Fylamynt, A Low-code Platform for Automation

Passionate to help the DevOps community,  the team is solving challenges in runbook automation with a platform that allows DevOps engineers to build complex and rich workflows that invoke any cloud API. Fylamynt, a SaaS platform, also manages secure execution of runbooks, stores logs and monitoring data for auditing and compliance.

It creates a central dashboard for solving any issues. Team members can create, manage, version, schedule and execute their runbooks. One can create these runbooks, see when they last ran, see the changes made to them (version control) and execute them in different environments. Other team members can easily find runbooks through labels, modify, improve and share with a few clicks, while maintaining proper access controls.

Photo Credit - by Glenn Carstens-Peters on Unsplash