folder This is the first post of a three-part series about filesystems, containers, and Concourse. The goal of this series is to describe what the different volume drivers available in Concourse do.

continue reading... | posted by Ed Tan on August 20, 2019

Devops Your Waterfall Software Development Projects

Perhaps chase some waterfalls

continue reading... | posted by Jeremy Lundy on June 28, 2019

Building A Separate Devops Team Doesnt Make Sense

All aboard

continue reading... | posted by Jeremy Lundy on June 11, 2019

Virtualization And Stolen Cpu

While working on a CI/CD pipeline recently, we encountered some flakey unit test failures. Random unit tests for a Rails app would fail intermittently with strange errors ranging from null objects, timeouts, and strange logic errors. The problem turned out to be that the EC2 instances running the tests did not have enough compute to handle the load, but a key metric that helped us identify this was stolen CPU time instead of CPU utilization. Have you never heard of stolen CPU time before? No problem. This post explains what it is and how burstable AWS EC2 instances work. This post will focus in on the concept for Linux. Similar metrics can be obtained for Windows (known as CPU ready) as discussed here.

continue reading... | posted by Ed Tan on June 4, 2019

Bitbucket Pipelines

Last time, I mentioned that we use a pipeline to manage updates to the website. The pipeline is triggered on each commit to master, and begins running automated tests on the code changes. Since the website is simple and only consists of static pages, the tests we’ve chosen to run only validate the HTML and check for broken links. To do this, we are using the awesome html-proofer gem. Once these tests have passed, the pipeline uploads the new/updated static pages to our AWS S3 bucket. By automating tests and deployment, we can focus on creating new content.

continue reading... | posted by Ed Tan on October 15, 2018

Mailing Address

2100 Bloor St. W. #6150
Toronto, Ontario
M6S 5A5