What is runbook automation?
Traditional runbooks are documents or wiki pages describing IT processes that keep your applications running smoothly. They're generally executed by a system administrator and often cover routine maintenance or incident response.
Runbooks are useful when they are:
- Accurate - Incorrect or out-of-date runbooks can make things worse.
- Discoverable - Team members need quick access to the current version.
- Tested - Runbooks that haven’t been run recently are next to worthless.
Runbook automation improves upon runbook documentation by automating and enriching the process.
Runbook automation helps teams automate operations tasks
Minimize application downtime
Websites go down and infrastructure fails. Fast incident response to restore services is critical. This commonly involves running scripts on remote machines, restarting web servers, or rebuilding infrastructure. In these emergency scenarios, the top priority is incident recovery, and the appropriate team can find a long-term solution later.
Runbook automation helps teams to automate recovery processes and execute them against their infrastructure. Restart web servers on Windows or Linux, recreate infrastructure, reset caches, clean up files, or anything you can automate in your favorite scripting language. Any team member with permission can execute the runbook for fast incident recovery without local tooling or individual logins, and a detailed audit log helps meet your compliance needs.
Simplify routine maintenance with automation
Teams perform routine maintenance to keep applications and services running smoothly, and these jobs are ideal for runbook automation.
Common routine maintenance tasks include:
- Cloud infrastructure provisioning.
- Database management:
- Database creation.
- Database backups.
- Restore production backups for testing.
- Ad-hoc SQL execution.
- Certificate renewal and updating infrastructure to use them.
- Operation system and tooling updates.
- File and data cleanup.
With runbook automation, it’s straightforward to automate these processes with hundreds of built-in step templates and broad support for infrastructure and cloud services. Octopus also includes flexible scheduling, so you can run tasks at the intervals that suit your team.
System administrators and operations teams are often overwhelmed with emails, Slack messages, and help desk tickets asking them to fix problems or perform specific tasks. This is compounded by the increasing complexity of IT environments (Kubernetes, microservices, and more) as well as security and compliance requirements.
Runbook automation helps teams to reduce this burden by automating the most common tasks so teams can run them themselves. Self-service operations enable end-users, development teams, and support staff to independently execute tasks to save time, and it enables operations teams to work on strategic projects instead of busywork.
Why use Octopus for Runbook Automation?
Octopus is already aware of your infrastructure and application settings, so there's less to configure and maintain
Octopus eliminates the need to configure your infrastructure and application settings twice because they’re already defined for use in your deployments. This makes it faster to get started with runbook automation, but it also makes it easier to maintain in the long term.
Runbooks and deployments share configuration settings, secrets, templates, scripts, and more so it’s easier to configure deployment and runbook processes.
Comprehensive runbook discoverability and visibility
Octopus creates a central location for teams to manage, control, audit, schedule, and execute runbooks. You can see when a runbook was last executed, you can see any changes to the runbook, and you can run the same runbook against different environments. Team members can easily find a runbook and click a big green button to run it. Everyone can see the output from the last run and whether it succeeded or not.
Runbooks can be published so every team member always gets the correct, tested version, ensuring the execution is accurate.
No additional permissions or local tooling
Octopus uses delegated permissions to implement security best practices so the system (i.e., the runbook automation platform) is executing runbooks against your infrastructure. This means that anyone with the appropriate permissions can execute a runbook without needing usernames and accounts that run specific scripts on specific servers. This simplifies automating and executing operations processes.
With Octopus executing runbooks, it’s far easier to manage the tools and dependencies required to automate emergency or routine maintenance tasks. This can be managed with jump boxes, pre-configured deployment targets, or dedicated worker pools with all the necessary tooling, so you don't need to describe the required tooling in a wiki-page or rely on local tooling in an individual account/login.
We've been overhauling our internal infrastructure and back-end systems over the past month, including a move back to full @OctopusDeploy deployments; rediscovering how nice it is to have a platform-agnostic orchestrator that can deploy practically anything, anywhere ❤Nicholas Blumhardt