Blossom Logo Deploy your apps with Heroku-like simplicity using Blossom See Your Savings
BoltOps Logo

Nuts and Bolts

Everyone has opinions and thoughts. Here are some of ours.

Terraform vs Terragrunt vs Terraspace header image

Terraform vs Terragrunt vs Terraspace

Tung Nguyen Tung Nguyen · September 28, 2020 · 14 min read
Terraform is great and helps you build infrastructure-as-code. The Hashicorp team provides good resources, learning guides, and tutorials to help you get started. The guides are simple, though, and still leave plenty of things for you to figure out on our own. Once you get past the introductory basics of Terraform, you’ll discover many more questions that you must answer before taking Terraform to production. Usually, people end up home-growing custom scripts or using a tool on top of Terraform to fill the gaps. In this article, we’ll discuss and compare the tools: Terraform, Terragrunt, and Terraspace.
Read more →
Terraspace Release v0.3 header image

Terraspace Release v0.3

Tung Nguyen Tung Nguyen · September 18, 2020 · 2 min read
Awesome feature and blog post covering it: Terraspace All: Deploy Multiple Stacks or Terraform Modules At Once More docs: terraspace all reference cli docs. Deploy All Intro Docs. Example terraspace graph demo repo Smarter auto-initialization and retry with: terraform init. This is configurable with config.init.mode. Can be: auto, never, always. TFC/TFE support improvements: Auto VCS Connection with the sync. Prune Run commands: terraspace cloud runs prune and terrspace cloud runs list. Terraspace logs: stream and tail logs. terraspace log -f Or view logs for the last run without the timestamps: terraspace logs up demo A terraform plan is ran as part of terraform up -y now. So you can look at the logs later and see what was done. A terraform plan -destroy is ran as part of terraform down -y now. So you can look at the logs later and see what was destroyed.
Read more →
Introducing Terraspace: The Terraform Framework header image

Introducing Terraspace: The Terraform Framework

Tung Nguyen Tung Nguyen · August 22, 2020 · 7 min read
Terraspace is a Terraform framework. It provides an organized structure, conventions over configurations, keeps your code DRY, and adds convenient tooling. It makes it easier and more fun to work with Terraform.
Read more →
Introducing Kubes: The Kubernetes Deployment Tool header image

Introducing Kubes: The Kubernetes Deployment Tool

Tung Nguyen Tung Nguyen · August 15, 2020 · 3 min read
Kubes is a deployment tool that makes it easier and more fun to work with Kubernetes. Kubes automates 3 main steps. Build a Docker image. Create the YAML files that declare the Kubernetes resources. Run kubectl apply to create the resources on the cluster. It boils everything down to one single command: kubes deploy
Read more →
CloudWatch Log Tips: Jets AWS Introduction Series Part 5 header image

CloudWatch Log Tips: Jets AWS Introduction Series Part 5

Tung Nguyen Tung Nguyen · July 03, 2020 · 1 min read
In this video, we’ll go over some CloudWatch Log tips. These tips will be useful for someone new to CloudWatch logs and show you how to use CloudWatch logs effectively. The biggest tip here is to click on the “Search” button immediately after clicking on a Log Group. Don’t bother clicking on individual streams and trying to find the exact AWS Lambda function.
Read more →
Lono CloudFormation Framework Introduction Part 7: Variables and Loops header image

Lono CloudFormation Framework Introduction Part 7: Variables and Loops

Tung Nguyen Tung Nguyen · February 11, 2020 · 4 min read
The Lono DSL is powerful because it allows you to use the Ruby programming language to generate CloudFormation templates. You can use conditional logic constructs that you’re used to: loops, variables, if statements, methods, etc. However, the Lono DSL tries not to impose itself and take over CloudFormation’s declarative nature. Instead, Lono’s approach is to add programming “sprinkles” on top of CloudFormation. Ultimately, you get the best of both worlds.
Read more →
Lono CloudFormation Framework Introduction Part 6: Lono Seed header image

Lono CloudFormation Framework Introduction Part 6: Lono Seed

Tung Nguyen Tung Nguyen · February 03, 2020 · 4 min read
When working with CloudFormation, you usually configure parameters for the template. The lono seed command helps with this step by generating a starter param file. It evaluates the template itself to generate the starter example values. We’ll use the demo blueprint we created in Lono CloudFormation Framework Introduction Part 1: EC2 Instance.
Read more →
Lono CloudFormation Framework Introduction Part 4: Layering header image

Lono CloudFormation Framework Introduction Part 4: Layering

Tung Nguyen Tung Nguyen · November 07, 2019 · 3 min read
In this post, we’ll cover Lono Layering. Layering can be used to build separate environments like a development and production environment. For example, the production environment might have different instance sizes. This can be accomplished with Lono layering.
Read more →
Introducing BoltOps Pro: Infrastructure As Code header image

Introducing BoltOps Pro: Infrastructure As Code

Tung Nguyen Tung Nguyen · October 27, 2019 · 4 min read
It’s crazy to think that I’ve been working with AWS for over a decade now. I’ve been lucky enough to have built and ran one of the largest sites in the world (billions of pageviews/month). I’m even more fortunate now to be working with some awesome BoltOps clients. I’ve learned and continue to learn a lot about what it takes to build AWS infrastructure. BoltOps Pro is the result of those years of experience and hard-fought learning lessons put together.
Read more →
CloudWatch Event Rules and AWS Lambda with Ruby on Jets header image

CloudWatch Event Rules and AWS Lambda with Ruby on Jets

Tung Nguyen Tung Nguyen · June 17, 2019 · 2 min read
In this video tutorial, we’ll cover CloudWatch Event Rules and how to connect them up to AWS Lambda Functions with Ruby on Jets. We’ll explain what CloudWatch Event Rules are. Then we’ll build a Jets project from scratch with the rule_event declaration. We’ll deploy the application and test the rule event. We’ll show you how simple it is to get started with Ruby on Jets and CloudWatch Event Rules.
Read more →
CloudWatch Log Events and AWS Lambda with Ruby on Jets header image

CloudWatch Log Events and AWS Lambda with Ruby on Jets

Tung Nguyen Tung Nguyen · May 16, 2019 · 1 min read
In this video tutorial, we’ll cover CloudWatch Log Events and how to connect them up to AWS Lambda Functions with Ruby on Jets. We’ll build a Jets project from scratch with the log_event declaration. We’ll deploy the application and test the CloudWatch Log event. We’ll show you how simple it is to get started with Ruby on Jets and CloudWatch Log Events.
Read more →
DynamoDB Stream Events and AWS Lambda with Ruby on Jets header image

DynamoDB Stream Events and AWS Lambda with Ruby on Jets

Tung Nguyen Tung Nguyen · March 06, 2019 · 1 min read
In this video tutorial, we’ll cover DynamoDB Stream Events and how to connect them up to AWS Lambda Functions with Ruby on Jets. We’ll build a Jets project from scratch with the dynamodb_event declaration. We’ll deploy the application and test the DynamoDB event. We’ll show you how simple it is to get started with Ruby on Jets and DynamoDB Stream Events.
Read more →
Kinesis and AWS Lambda with Ruby on Jets header image

Kinesis and AWS Lambda with Ruby on Jets

Tung Nguyen Tung Nguyen · March 04, 2019 · 2 min read
In this video tutorial, we’ll cover Kinesis Events and how to connect them up to AWS Lambda Functions with Ruby on Jets. We’ll build a Jets project from scratch with the kinesis_event declaration. We’ll deploy the application and test the Kinesis event. We’ll show you how simple it is to get started with Ruby on Jets and Kinesis Events.
Read more →
Join a group of good-looking folks who get free email updates from BoltOps.