In this age of cloud and users expecting instant results at all times, companies need to be capable of responding to changes with extremely quick turnarounds. This is where Continuous Integration and Continuous Delivery/Deployment (CI/CD) comes into play. It helps businesses deliver value faster and better for their users. »

As a practitioner, I spend a significant amount learning about DevOps practices and applying them at my day-to-day job. It wasn't always easy though; learning a lot of disparate techniques, platforms and workflows that felt unrelated at times. Eventually, I realized that I was missing the underlying foundation and essential concepts in the discipline. Building this strong base has allowed me to enhance how I connect and leverage all my existing knowledge. As a result, I feel that I have been improving not just the work I do, but also why I do it. »

I have been experimenting with DigitalOcean App Platform for a while and I like how it helps me focus on defining only what I need to run my apps. Using the app.yaml spec, I can declare the app components and store it within the project codebase. Soon though, I started to run into the problem of how to manage different environments for the same application (e.g. review, staging and production). »

AWS VPC stands for Virtual Private Cloud and it represents the networking layer for the AWS EC2 services (computing). In this post, we are going to cover how to automate the configuration of AWS VPC using Terraform. »

Terraform is a cloud-agnostic provisioning tool created by Hashicorp. It allows you to manage your infrastructure in a sane, safe, and efficient manner by automating the provisioning of your cloud resources (server, databases, DNS) in a declarative way, as well as leverage version control systems to keep track of the history of changes. In this post, we are going to go over how to setup Terraform to work with AWS. »

Keeping up to date the Changelog and generating GitHub releases is one of those tasks I always think it is important to do, but I feel it becomes a chore the more you have to do it manually on a given project. In one of my recent OSS projects, camper, I decided from the beginning that I didn't want to be manually generating the changelog and the Github releases information. »

A while ago, I had to implement some Abstract Syntax Tree (AST) manipulation as part of some PowerShell module. Although I was familiar with AST from my university days, this was the first time I got the chance to do something with the AST in PowerShell. »