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 for runbook automation - Runbook automation 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.

Runbook vs Playbook

Many in the cloud engineer space use the terms runbook and playbook interchangeably. However, they are actually quite different. A playbook is a larger over arching concept that can include several runbooks and personnel. It's more of a larger planning concept than a specific execution plan.

Runbook Automation

As you can see, following the best practices is often hard to do manually. It’s important to automate your runbooks so that they can be run consistently without errors, while keeping humans in the loop.

Want to find out more about runbook automation, see a runbook example or how simple it is creating runbooks?

Try Fylamynt for free ->


Ready to get started?

With Fylamynt you can Build, Run and Analyze cloud workflows securely for any cloud with little to no code.