DevOps

Taking the lessons learned in agile development movement and applying them to IT operations.

A lot has been said about DevOps in the past few years, so there is no need to regurgitate. If you are unclear what practices you should be implementing, I recommend the following literature.

Further Reading

Reusing resources across multiple pipelines with AWS CodePipeline

One of the limitations of CodePipeline currently is that there is not a good way to use common components across multiple pipelines. You may want to do this so you do not have to duplicate buildspecs or other files to be used in different repositories. In this post, I will show a strategy for reusing artifacts across multiple pipelines.

Terraform Evaluation Tool

A tight feedback loop is important when developing code. Terraform is no different. At times, it would be helpful to have a quick way to test function calls. In this post, I introduce a tool I have created that does just that.

Testing Terraform with Terratest

Terratest is a testing framework for Terraform code written by Gruntwork. In this post, I am going to discuss the usage of Terratest as well as my own personal experiences with testing Terraform code.

7 Reasons Your Cloud Migration Will Fail

I have been on the ground in many different phases of cloud migrations and have witnessed the many perils associated. In this post, I will talk about the different issues I have experienced first hand with customers going through a cloud migration.

CDK vs CloudFormation vs Terraform

CDK, CloudFormation, and Terraform are frameworks for managing cloud infrastructure using code. In this post, we will look at these options, compare and contrast them, and discuss what types of organizations should use take which approach.

Branch builds with CodePipeline

Modern, best of breed, continuous integration tools allow developers to define their delivery pipeline as code and store it in the repository alongside the application source code. Doing so allows you to manage your pipeline much like you would your application source code. In this post, we will go over how to accomplish this using AWS CodeCommit, AWS Lambda, AWS CodePipeline, and AWS CloudFormation. This approach will also enable branch-based builds for CodePipeline, a large gap in the CodePipeline feature set currently.

EBS Volume Backup and Replication

Easily automate the backup of EBS Snapshots with AWS Data Lifecycle Manager and replicate to another region.

Serverless Application Delivery with AWS CodePipeline

AWS CodePipeline can help you rid yourself of build servers which take resources to manage and are at risk of outages affecting multiple teams. In this post, we will discuss replacing your existing CI server with a serverless solution.

Automatically keep your local git repos clean

Override cd command to run garbage collection on your git repositories

Host your own private git repository via SSH

For those situations where you just need to push your code somewhere.