The Ultimate Terraform Workflow: Setup Terraform (And Remote State) With Github Actions

Running Terraform in a CI Server can be incredibly useful when you’re trying to automate or experiment with cloud resources. One of the easiest, cheapest and most accessible setups I’ve found is using Github Actions and S3 for state.

But learning a new technology can be frustrating especially when the anxiety of: “Am I doing this right?” strikes. In this article I’ll walk you through how to get a Terraform project running in Github Actions from start to finish — with all the details you need to understand what’s happening and why.

By the end of this article you will have a running Terraform project on Github Actions using remote state. 

Master the AWS Lambda Console: A Comprehensive Walkthrough.

I remember staring at the AWS Lambda console for the first time and feeling overwhelmed. There were so many things happening: qualifiers, actions, triggers, permissions. It’s like the cockpit of a fighter jet in there. And with new features the Lambda interface has only become more complicated.

But when you understand the different parts of the AWS Lambda console and everything you can achieve with Lambda it opens up your perspective and builds your confidence. When you know what all the parts do you can then focus your attention only on the features that matter for you.

By the end of this article you will be more confident using AWS Lambda after we explore and understand the AWS Lambda console. 

AWS Queues And Lambda Processing: A Simple, Quick Walkthrough.

Have you ever wondered what a queue is or how you could implement a queue in AWS? Perhaps you’re considering using a queue for a solution that you’re working on but you’re not fully sure how the pieces fit together?

SQS & Lambda Logos

If that’s you — you’re in the right place! Today we’ll remove the mysticism of queues in AWS. But how will we remove the mysticism? By walking step-by-step for how to configure an SQS queue and use Lambda to process it.

By the end of this article you’ll understand what a queues is, why you might need one and how to setup one up SQS and Lambda.

How To Setup AWS Lambda Scheduled Events with Terraform

Lambda functions on their own are pretty useless. Lambda’s need someone — or something — to initiate them. An important (and fun) trigger for Lambda is the CloudWatch event. With CloudWatch events we can trigger Lambda’s on a recurring schedule that we define.

AWS Lambda

Scheduled Lambda’s are useful for executing tasks like backups, or running security scanning. Today we’re going to go through what you need to do in order to Terraform Lambda Scheduled Event’s. We’ll cover everything you need to know about CloudWatch Events, CloudWatch Event Targets and Lambda permissions.

By the end of this article you’ll know how to execute a Lambda on a scheduled CloudWatch event (and write it all in Terraform). 

Do Cloud Engineers Code?

DevOps. Platform Engineer. Cloud Engineer. So many terms and roles! But they all seem to mean the same thing. So when it comes to this new term Cloud Engineer. What do Cloud Engineers do all day? And do cloud engineers code?

Cloud Vendor Logos

The short answer to whether Cloud Engineers code is: yes. But, Cloud Engineers don’t write any old code, they write very specific types of code.

By the end of this article you’ll know what a Cloud Engineer is and whether they code (spoiler alert: they do).

What Is the Best Way to Learn Terraform?

So you’ve heard about this Terraform thing and want to get in on the action? Learning a new technology such as Terraform can be a daunting task at first. Today we’re going to go through the best way to learn Terraform so that you can break through the fog of uncertainty and start learning today.

Terraform

In this article we’ll discuss the different considerations you should make when learning Terraform, the main features you’ll need to know and the features you can safely ignore (at first) to give you the confidence to start working with Terraform.

By the end of this article you should have an understanding of what Terraform is, and the best way to start to learn it.

Create An AWS S3 Website Using Terraform And Github Actions

We’ve talked a lot recently about infrastructure as code and setting up cloud environments. But nothing beats getting hands on with a technology to help learning. A workflow I’ve used a lot recently is Terraform (and remote state) using a Github Actions pipeline. It’s cheap, straight-forward and a great little workflow for creating cloud resources. Today, let me show you why.

Terraform logo

So I thought setting up a basic workflow for creating a website would be a great hands-on way to get your head around some different topics: AWS, Terraform and Github Actions. Today we’ll go through how to setup an S3 bucket (which could function as a website) in AWS and use a Github Actions pipeline to create the infrastructure and upload our files.

By the end of this article you’ll know how to configure an AWS S3 bucket using Terraform and deploy it using Github Actions. 

2019 Summary: Up & Running With Serverless and Regaining Blogging Motivation

At the end of the year it’s now become somewhat of a tradition that I partake in the whole year in summary thing. I do find it interesting to read these posts, and I like doing my own since it’s a good way to reflect.

After a year of how-to type blog posts it feels odd, yet fun to be back talking in first person again. Today we’ll cover quite a lot of (varied) ground in a way I wouldn’t typically be comfortable with. But I’m hoping the informality works out. The following are some of the key things I learned in 2019 that I’ll go into more detail on very soon:

  • Serverless technologies require a lot of knowledge, skill and patience
  • Terraform is an amazing technology (and why)
  • Single event logging is an amazing monitoring method (and why)
  • Motivation for blogging is difficult (and how I regained mine)
  • Why I changed the way I run my newsletter (yet it’s still hard)

It seems it’s going to be a pretty detailed post so let’s get to it…

You’re Logging Wrong: What One-Per-Service (“Phat Event”) Logs Are and Why You Need Them.

Common sense says that application logging is a good thing. But common advice doesn’t answer questions like: what to log, when to log, or the format to log, which can get really frustrating especially if you’re looking for precise guidance on to structure your logs. Today, we’re going to change that.

Log Lines To Phat Events

After years of struggling to find a canonical this-is-how-you-should-log advice I came across a concept of: one-per-service logs. But be warned: It’s a heretical idea that challenges common logging advice. But after my own experiments with the one-per-service logging, I’ve found it to have considerable benefits.

By the end of this article you will understand what a one-per-service Phat Event log is and why they can be superior to regular log entries.

Where (And How) to Start Learning AWS as a Beginner

AWS (Amazon Web Services) is overwhelming. If you’re new to AWS you’ll know all too well the feeling of being lost and not knowing where to start. Today, we’re going to change that. We’re going to clear the mist of uncertainty and discuss everything you need to know to begin your learning journey on AWS.

Today we’ll talk about three things that will help you start learning AWS. And they are: focusing on the core services, getting hands-on and structuring your learning. We’ll go through each area in a decent amount of detail, so that you have a great starting point for your learning.

By the end of this article you’ll have an understanding of the core services of AWS, how to structure your learning around them and how to get up and running with some hands on experimentation.