Skip to main content
Software development for researchers

Automate away friction

This handout is tied to the following lecture

11. Automate away friction
Table of contents

Automation tools

snakemake

There are many good online tutorials on using different automation tools, to mention a few, CodeRefinery has arranged snakemake hackathons and tutorials.

Research Software hour 005: Interview with Sarah Gibson, Snakemake, workflow automation intro, etc.

Containers

podman is a great open source (and docker alternative) way of building, managing, and running containers. There is a nice short tutorial blog on redhat detailing how to make your own first container. If you want to play around with podman you can install it and have a look at the Containerfile specification.

Building

Generic

Python

Installing

ansible

Ansible is a powerful open source automation tool that allows you to execute tasks on a set of systems, be it local or remote. I have been using to manage the many computers involved in the meteor camera network as well as for keeping my virtual machines up to date.

CI

Environments and packages

Why automation

A while back I read this blog post about a company that owned about 400 million dollars in assets went bankrupt in about 45 minutes because of an error in a manual deployment. It is an interesting story that I would recommend looking into. If you would rather watch than read, there is of course a reaction video about the incident!

Bankrupt In 45 Minutes From DevOps | Prime Reacts

Homework assignments

This task is simply to identify some workflow you have, whatever that may be, that would benefit from automation, and then to automate it!

To top
× Zoomed Image