Runbook Automation provides self-service operations for developers

Shift to self-service operations with Runbook Automation

Tired of sending emails and creating helpdesk tickets to get operations tasks done?

Shift to self-service operations with Runbook Automation to get work done more efficiently.

Runbook Templates

With Octopus Deploy 2019.11, you can quickly and easily convert manual operations tasks to automated self-service runbooks. Runbook Automation in Octopus is powered by over 450 reusable step templates. These templates include parameterized scripts that do the heavy lifting and allow you to automate frequently used operations processes.

Check-out our most popular runbook templates to automate your operations tasks.

Restart Tomcat web application

Start or restart an application pool hosted by the Tomcat application and web server.

How to use this template: This template builds on a built-in step-template that is described in our documentation. Review the template to see step by step instructions on how to configure it.

Restart IIS web application

Start or restart an application pool hosted by Microsoft's IIS web server.

How to use this template: This template builds on a community step-template that is described in our documentation. Review the template to see step by step instructions on how to configure it.

Refresh test database from production

Copy a production database to a test environment. This commonly includes sanitizing production data to remove any Personal Identifiable Information (PII).

How to use this template: This template builds is described in detail in an Octopus blog article. Review the post to see step-by-step instructions on how to configure it.

 

Click for more information.

Provision an Azure App Service

Provision an Azure app service with an ARM template.

How to use this template: This template builds on a built-in step-template that is described in our documentation. Review the template to see step by step instructions on how to configure it.

Provision AWS virtual machine

Provision an AWS EC2 virtual machine, Windows or Linux, with a CloudFormation template.

How to use this template:

  • Navigate to your runbook process in Octopus.
  • Add a new Deploy an AWS CloudFormation template step.
  • Copy the Windows or Linux template by clicking Copy Template.
  • Configure the step and paste the template source code by clicking on the ADD SOURCE CODE button.
  • Updated the template parameters as required.
  • Save your step configuration.

Review the template and update it according to your needs.

Copy Template Copy Template Learn more

Why Runbook Automation for operations tasks?

Modern development and operations teams collaborate to get work done efficiently and effectively. There is overlap between roles and it’s all about getting the right balance.

Development teams want to ship code fast and fix problems as quickly as possible. This can mean remoting into servers, including production or updating application/infrastructure configuration. Operations teams want to provide stable and reliable IT services while working with other teams. They typically find themselves choosing between two options:

  • Give all developers permission to access production.
  • Take full control over the infrastructure themselves.

The first approach increases the operations team workload which can be overwhelming and sometimes make them a bottleneck. The second approach allows development teams to ship code and fix production issues quickly, however poses a serious risk to infrastructure uptime.

With Octopus Deploy, Operations teams have a third option. Runbook Automation in Octopus allows operations teams to delegate permission to the platform so anyone can be authorized to run operations tasks themselves. Octopus delivers self-service without sacrificing control over production. In addition, it provides a comprehensive audit log of the changes made.

Developers can help operations automate processes that unnecessarily slow them down. By automating these processes and getting the operations team onboard, developers can help create a self-service model. This is a win-win scenario that benefits both development and operations teams.

Self-service operations for developers

Developers write code and ship new releases to their customers. With each new project or release, they need support from operations teams to help with operations tasks. System administrators are often overwhelmed and can't always respond quickly to requests. Runbook Automation enables developers to automate frequently used operations processes and reduces friction from shipping high-quality code.

Self-service runbooks can help developers streamline their development and testing process.

Database management - Refreshing test databases from production, creating new databases, executing ad-hoc queries, creating indexes, and managing security are all ideal for runbooks. These tasks can be recurring or executed ad-hoc but they are ideal for self-service.

Infrastructure provisioning - Operations teams are generally custodians of infrastructure, but this can slow down development teams when they need to spin up new servers to test features or services. Creating self-service runbooks to provision new servers within the appropriate boundaries can save both development and operations teams a great deal of time.

Collect log files from servers - Sometimes it’s extremely difficult to get assistance to retrieve a detailed log file on a production server to help diagnose performance problems or fix bugs. Using a reusable runbook to collect files (within the bounds of existing security and compliance policies) is a huge time saver to reproduce and fix problems.

Manage Kubenetes with (pre-authenticated) kubectl - Let’s be honest, Kubernetes isn’t easy, but there are ways to make supporting it less painful. Building reusable, self-service Kubernetes runbooks that are pre-authenticated can help reduce that complexity vs one-off ad-hoc scripts. Straightforward security and permissions (aligned with company policies) and no local tooling required.

Swap servers/services during a blue-green deployment - Blue-green deployments is a popular pattern for zero-downtime releases and updates. It’s common to shift a percentage of traffic to the new deployment slot to validate its operation before moving all traffic to the new slot or rolling it back completely. Runbooks are perfect for this, and they eliminate the need for the operations team's involvement. Deploy a new release, validate it, and then roll it out widely in a self-service manner.

Update configuration values for existing web applications or cloud services - Teams often need to tweak production service or infrastructure settings to provide short term incident recovery or to fix minor problems. If these changes fall outside of your CI/CD pipeline and config as code, it can be painful to get them actioned by operations personnel as they may be treated as a low priority. Building a runbook to update configuration settings is a fast and efficient solution for these scenarios.

Incident recovery (Service restarts) - Restarting web servers and services is often all that is needed to fix a production incident with a legacy web app or overwhelmed web service. In a more serious incident, this can provide enough time for a development team to investigate and then deploy a hotfix release.

Shout out to @OctopusDeploy for making their software so easy to work with. Just upgraded a 2 year out of date instance and migrated it to a new server and it worked with no effort beyond what their documentation said to do.

Twitter user Alex Dent Alex Dent
@DevOpsDent

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 ❤

Twitter user Nicholas Blumhardt Nicholas Blumhardt
@nblumhardt

Tools like @OctopusDeploy can be great in enabling culture change, we've been able to scale and improve our configuration story since we started using it https://buff.ly/2JyRmTY

Twitter user Niel Chalk Niel Chalk
@_neilch