An in-depth look at 100% Zero Downtime deployments with Terraform

zero downtime deployments terraform “Sailing on a Blue Ocean” by Shotei Takahashi (1871-1945) - Japanese Open Art Database

At Checkly, we run our browser checks on AWS EC2 instances managed by Terraform. When shipping a new version, we don’t want to interrupt our service, so we need zero downtime deployments. Hashicorp has their own write up on zero downtime upgrades, but it only introduces the Terraform configuration without any context, workflow or other details that are needed to actually make this work in real life™.

This is the full lowdown on how we do it in production for ~1.5 million Chrome-based browser checks since launch.

An Opinionated List of Skills You Need for a DevOps Job in 2018

devops skills “Casting an Invocation on the Waves at Kakuda in Sado Province” by Utagawa Kuniyoshi (1797-1861) - Honolulu Museum of Art

The world of DevOps is a pretty confusing place for folks just starting out. Even figuring out what “DevOps” means can be hard. Is it CI/CD with Kubernetes and Serverless to drive Agile™ product iterations? Or is it SSH-ing into a box and restarting Apache? You guessed it. All of the above and most things in between.

How we got a 100% Lighthouse performance score for our Vue.js app

tunnel “High Speed Tunnel” by Sekino Junichiro (late 20th century) - Ukiyo.org

Since launch, we didn’t pay too much attention to the front end performance of the main Checkly web app. Shame on us. What better reason to dive into this than the publishing of the excellent The Cost of Javascript in 2018 by Google’s Addy Osmani?

TL;DR: it took about half a day to go from an abysmal 34 to a 100 Lighthouse score on our Vue.js app.

Creating a Chrome extension in 2018: The good, the bad and the meh

Actors as construction workers “Actors as Construction Workers” by Utagawa Kunisada (1860) - Museum of Fine Arts, Boston.

Last week, we shipped an initial version of Puppeteer Recorder, a Google Chrome extension that records your browser interactions and generates a Puppeteer script.

It turns out Chrome extension development is almost like real web development, but with a weird dash of quasi embedded development mixed in.

Seven discernible stages in taking a solo startup from beta to GA

Crossing the River Styx" by Joachim Patinir “Crossing the River Styx” by Joachim Patinir (circa 1480-1524) - Museo Nacional del Prado. Licensed under Public Domain via Wikimedia Commons

Last week the “beta” tag officially came off of Checkly 🍾🎉! I bumped into many things in the period between launching a private beta and hammering down on all features and ripping the beta notice of the nav.navbar. In this post, I tried to funnel a bunch of these learnings into a somewhat logical order, as they felled like hoops I had to jump through to get to the next hoop.