Issue #45 // November 19, 2021

I want to start this week's issue with Milosz Danczak's, "Do Something Different for a Week." Being a technologist means an everchanging world of tools and processes. It's easy to get into habits or lean on "best practices". By creating low risk mini experiments, we can avoid getting too set in our ways.

Most of the articles that follow provide an opportunity for such experiments. Try relying on your tracing tools locally instead of your debugger. Experiments with alternative ways to organize and manage your source control repos. Do some chaos engineering around your service dependencies. You may only learn what not to do, but at least you'll learn something.

Do Something Different for a Week
How do you know if what you're doing is really the best (especially for us old guys that think we've seen it all)? By doing weekly mini experiments, you can constantly expose yourself to new ways of doing things and maybe pick up something new along the way. The post gives some good examples to try like: draw everything before typing, measure performance of a feature and improve it, or record the screen and watch yourself.
Flowchart: How Should I Run Containers on AWS?
I love that Vlad created two versions of this flowchart. The second version includes justification for all his recommendation at each decision point.
Logs and Tracing: Not Just for Production, for Local Development Too
While this post is pretty heavy on Go and GCP specific tooling, I like the emphasis on using the same observability tools to debug locally as you would in production. This way, you know your tools work and how to use them.
Make your Monorepo Feel Small with Git's Sparse Index
Git's sparse checkout feature allows you to pull down only a subset of files when working in large monorepos. However you'd still be working with the full Git index. The sparse index fixes this. After introducing this feature, for those that are intrested, this post dives into the actual implementation and performance results of Git's sparse index.
Ask HN: What is the Fastest Way to Ramp up on DevOps, K8 and GCP?
If you've been following the SRE Newsletter for a while, you've seen my love for Hacker News comment threads. This thread contains steps, curriculum, books, and disagreements for the best ways to learn Kubernetes and GCP.
How Do You Manage Your SLOs if All Your Requests Depend on Integrations With a Lot of Different Third Party Services?
The really long title of this Reddit thread describes one of the key problems with reliability engineering. You can only be as reliable as your least reliable service unless you strategically build around those dependencies.
Stacked Changes: How Facebook and Google Engineers Stay Unblocked and Ship Faster
This is a marketing piece for Graphite, but I'm including it this week anyway because it introduced me to the concept of stacked diffs. I then read this older post to learn what they actually were.
RHEL 8.5 Delivers Key Container Improvements
The new version of Red Hat has some features for containers and Ansible users including: containerized Podman, verify container signatures by default, native OverlayFS, and additional system roles.