Nick Hammond

Software Developer, Cyclist, & Traveler.

So you want to Terraform that thing?

In devops, terraform

Terraform is a great utility to manage your infrastructure and it’s often used to provision new infrastructure but it’s also pretty simple to start using it with existing infrastructure. Terraform just deals with managing the base infrastructure and then you layer on some provisioning steps with something like Ansible or Puppet.

You can utilize existing infrastructure within Terraform in a couple of different ways. If you just want to reference the existing infrastructure so that you can connect it to other resources that you’re managing you can utilize a Terraform data source. If you want to modify and fully manage existing infrastructure then you can utilize a Terraform resource. Whichever way you go about it though it’s best to go one step at a time instead of trying to integrate everything in one go.

Testing your Ansible roles with Vagrant

In ansible, development, vagrant

Travis.ci offers a simple and free way to test your Ansible roles but that’s after you’ve pushed and published your code. What if you want to verify how a change looks on a machine or easily see that build error without using an existing machine? This led me down the path of locally provisioning a virtual machine and outside of a normal virtual machine that I have running, I just wanted a standalone build just for a role.

Load balancing with AWS and Ansible

In ansible, aws, devops

In this post I’d like to run through how to get going with an Elastic Load Balancer(ELB) within AWS via Ansible. Load balancing your web application is a simple step forward in scaling your request capacity as well as helping out with rolling deploys and promoting/retiring servers in the future. It’s incredibly simple and straightforward to get something setup with Ansible which leaves you with an easy to understand orchestration playbook.

Simplifying local Ansible and Vagrant setup

In ansible, development, vagrant

To make context switching easier it’s always a good idea to simplify project specifics with simple bin scripts. They don’t need to do everything but they should at least be a good jump start to get the project going. Here’s a few simples ones that I’ve been using to get my local Ansible and Vagrant setup configured. I utilize Vagrant and Ansible for most of my local development environments.