Let’s Do DevOps: Reduce Noise in Terraform Plans

Let’s Do DevOps: Reduce Noise in Terraform Plans

Good design patterns that make sense and can scale out ad infinitum. Automating all that can be automated — lower the bar of knowledge that lets a dev or operations engineer take advantage of the system.

This blog series focuses on presenting complex DevOps projects as simple and approachable via plain language and lots of pictures. You can do it!

Hey all!

I’ve written in the past about my trials and tribulations designing and running a terraform and general CI/CD platform that’s used by 10+ teams to run ~130 terraform pipelines to deploy to 50+ environments across Azure and AWS.

When designing the system, I knew that’d it’d need to scale up and out to a great degree — any pattern and solution we chose would be stressed both by upward growth (running terraform and other deploys hundreds of times per day) and outward (scaling out to hundreds or maybe thousands of pipelines and workflows). Because of that, I’m extremely sensitive to:

  • Good design patterns that make sense and can scale out ad infinitum
  • Automating all that can be automated — lower the bar of knowledge that lets a dev or operations engineer take advantage of the system

I’ve also had to train all the users on this system and good patterns, and for every single person, I’ve stressed that they need to read the pull request validation before approving a PR. That pull request validation runs tflint as well as terraform init + validate + plan.

And for every single person I’ve trained, I’ve had to include the caveat that on the “terraform plan” stage there will be dozens and probably HUNDREDS of trash lines that they need to ignore and scroll past to get to the real information — what terraform plan says it’s going to do based on the PR.

azure-devops continuous-integration software-engineering programming terraform

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Software Developer vs Software Engineer — Differences: Bogus or Real?

In this article, see if there are any differences between software developers and software engineers. What you’re about to read mostly revolves around my personal thoughts, deductions, and offbeat imagination. If you have different sentiments, add them in the comment section, and let’s dispute! So, today’s topic…

Continuous Integration With Azure DevOps

We are going to build a continuous integration pipeline with Azure Pipelines to automate the build and verification process for a TodoService.

Measuring DevOps Metrics: A How-To Guide

DevOps is supposed to help streamline the process of taking code changes and getting them to production for users to enjoy. But what exactly does it mean for the process to be "streamlined"? One way to answer this is to start measuring metrics.

Setting up Continuous Delivery with Azure DevOps directly from Azure VMs

You can set up the Continuous Delivery with Azure DevOps directly from Azure VMs. Azure DevOps provides us a robust mechanism for Continuous Integration and Continuous Delivery. Azure DevOps also simplifies the setting up a deployment for Azure VMs where you wanted to have your code hosted as an IaaS environment.

Create, Build, Deploy and Configure an Azure Function with Azure DevOps and Azure CLI

How to create, build, deploy and configure an Azure Function using Azure DevOps, Azure CLI and Powershell.