A collection of blog posts, talks, books, and checklists for learning about DevOps, AWS, Terraform, Docker, Packer, and more
Step-by-step guides that show you how to go to production on top of AWS. Learn how to deploy a production-grade Kubernetes cluster on AWS, how to configure your AWS account structure, how to deploy VPCs, and much more.
This talk from QCon SF is a step-by-step, live-coding class on how to write automated tests for infrastructure code, including the code you write for use with tools such as Terraform, Kubernetes, Docker, and Packer. Topics covered include unit tests, integration tests, end-to-end tests, test parallelism, retries, error handling, static analysis, and more.
This blog series will take you on a guided tour of a modern production-grade architecture for AWS. You’ll see what an end-to-end solution looks like, including how to combine Kubernetes, AWS VPCs, data stores, CI/CD, secrets management, and a whole lot more to deploy your applications for production use. We’ll cover both the specific choices and patterns employed in the architecture, as well as why some of those patterns make sense in the context of AWS.
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.
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.
This talk from HashiConf 2018 is a concise masterclass on how to write infrastructure code. I share key lessons from the "Infrastructure Cookbook" we developed at Gruntwork while creating and maintaining a library of over 300,000 lines of infrastructure code that's used in production by hundreds of companies. Come and hear our war stories, laugh about all the mistakes we’ve made along the way, and learn what Terraform, Packer, Docker, and Go look like in the wild.
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.
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.
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!
Our blog post series on how to authenticate to AWS on the command-line, including how to use Access Keys, IAM Roles, MFA, the Credentials File, Environment Eariables, and Instance Metadata.
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.
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.
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.