DevOps Resources

A collection of blog posts, talks, books, and checklists for learning about DevOps, AWS, Terraform, Docker, Packer, and more

Reusable, composable, battle-tested Terraform modules

A talk from HashiConf 2017 that will show you how Terraform modules work, how to design modules so they are highly configurable and reusable, how to write automated tests for your Terraform code, and how you can use modules to build your entire tech stack on top of proven, battle-tested infrastructure code—in minutes.

Terraform Up & Running

This book is the fastest way to get up and running with Terraform. You'll go from deploying a basic "Hello, World" Terraform example all the way up to running a full tech stack (server cluster, load balancer, database) that can support a large amount of traffic and a large team of developers—all in the span of just a few chapters.

A Comprehensive Guide to Building a Scalable Web App on Amazon Web Services

A definitive guide on how to think about building apps on AWS, including how to think about scalability and high availability, an overview of how to use the most important AWS services, and an introduction to cloud-native architecture.

A Comprehensive Guide to Terraform

Our blog post series on how to use Terraform that covers how Terraform compares to Chef, Puppet, Ansible, and CloudFormation, introduces Terraform syntax, discuss how to manage Terraform state, shows how to build reusable infrastructure with Terraform modules, and introduces a workflow for how to use Terraform as a team.

The Production Readiness Checklist for AWS

This checklist is your guide to the best practices for deploying secure, scalable, and highly available infrastructure in AWS. Before you go live, go through each item, and make sure you haven't missed anything important!

Running microservices on AWS using Docker, Terraform, and ECS

A talk from DevOps Italia 2016 that shows how to use Terraform, Docker, and Amazon's EC2 Container Service to run microservices in AWS.

Terratest: a swiss army knife for testing infrastructure code

Terratest is a Go library that makes it easier to write automated tests for your infrastructure code. It provides a variety of helper functions and patterns for testing Terraform code, Docker images, Packer templates, AWS resources, and much more.

Agility Requires Safety

To go faster in a car, you need not only a powerful engine, but also safety mechanisms like brakes, air bags, and seat belts. This is a talk about the safety mechanisms that allow you to build software faster, including continuous integration, microservices, feature toggles, and canary deployments.

Choosing the Right Framework for Running Docker Containers in Production

A talk from Iterate.PHX on choosing the right framework for running docker containers in production. Goes over the trade-offs between Amazon ECS, Docker Swarm, CoreOS Fleet, Deis, Flynn, Mesos, and Kubernetes.