Terraform Remote State

In my last post, I gave a little introduction on working with Terraform. Because it was just an introduction, it focused setting up a repository, writing HCL, and the mechanics of executing Terraform. It did was not concerned with proper state management. Here, we’ll put a little thought into something we can work with in a more rigorous manner than just playing around. By using a backend for storing, accessing, and manipulating state, we begin to work with infrastructure with a record beyond just the workstation. [Read More]

Getting Started with Terraform

In getting moving with Terraform, you’ll want to have an eye on what you’re going to do with your state. Proper management and planning is going to be critical for any real project. However, getting familiar with the tool itself is a good starting point in using it. For this post, we’ll think only about the fundatmentals of Terraform and just start on deploying infrastructure without worrying about state management. We’ll use state, but will just use the default of storing on disk locally. [Read More]

Terraform State Management

Ok, so you’ve decided you want to use Terraform for your projects’s infrastrucure. Armed with that decision, you’ll need to decide what to do with the state Terraform needs to keep. The default when you run Terraform is that it uses a backend called local. This is fine for playing around, but it’s not what you want to use for a real project, especially one with a team with multiple people working against your repositories and infrastructure. [Read More]

The Idea Behind Terraform

I promised here to write a bit about Terraform. Terraform, and other tools like it, is important because infrastructure is important. Given the importance of the infrastructure on which the software will run, treating infrastructure as something worthy of all the controls, versioning, auditing, repeatability, reliability, and attention we give application code. To that end, HashiCorp created Terraform and it’s a great product that fits the need well. So, what is Terraform? [Read More]

Starting with Infrastructure

Having decided to create software and aware of a need for a place for it to run, now we start thinking about what infrastructure to create. The infrastructure necessary depends on the problem. You could run off and create a footprint in a datacenter and spend hundreds of thousands of dollars (or other monetary units) on hardware and setup. You could spend similar sums in one of the big cloud providers. [Read More]

A Place to Run

In my last post, I started to think about how one creates software. It’s natural to think about creating software as an exercise in coding. It is that, but it’s more. If you think about your mind as an abstract reasoning engine, you’re right. That mind, though, is software that runs on hardware. The hardware of your mind is your brain. Your brain is a component of a system operating to make the mind work. [Read More]