The blog
Long-form notes on platform engineering, cloud-native infrastructure, the Linux kernel and the messy reality of running AI workloads. Written in the open, occasionally opinionated.
More writing

OpenTelemetry: A Guide to Observability with Go
Modern applications are often complex, distributed systems. Debugging them is not fun: you have to follow requests across services, logs get lost, and metrics are often hard to correlate. It's like looking for a needle in a haystack - except the haystack is on fire, and the needle keeps moving. This is where OpenTelemetry (OTel) can help.

My post about Istio is now on the Istio blog too!
A few months ago I published a post titled "The Istio Service Mesh for People Who Have Stuff to Do". The post was well-received and it's now available on the Istio.io blog too.

The Istio Service Mesh for People Who Have Stuff to Do
I recently made a contribution to Istio, an open-source service mesh that simplifies managing microservices. In this post, I explain how Istio handles traffic routing, security with mTLS, and observability, making complex systems more resilient and efficient.

Things I've Learned About Terraform That I Keep Telling People About
I've been working with Terraform for a while now, and I've noticed that there are a few things that I keep telling people about. I thought it would be helpful to write a blog post about some of the most common questions I get asked and share some of the things I've learned along the way.

CI/CD Observability on GitHub Actions and the Role of OpenTelemetry
CI/CD observability provides insights into the performance and health of CI/CD pipelines, helping teams detect issues early and improve efficiency. A few options are currently available on the GitHub Actions marketplace to integrate OpenTelemetry into CI/CD workflows.

I am a CNCF (Cloud Native Computing Foundation) Ambassador!
I am very happy to announce that I have been selected as a CNCF (Cloud Native Computing Foundation) Ambassador - a long-standing goal of mine!

I'm on the KubeFM Podcast Talking About "Linux Containers From Scratch"
KubeFM recently invited me to talk about my project "barco: Linux Containers From Scratch in C". In this episode, I talk about why Linux containers don't exist, how to use cgroups and namespaces to isolate a process, how to secure the container with seccomp and capabilities, and how to make the right syscall from C to build your own container engine. Thank you, KubeFM, for having me!

How to Configure OIDC with Terraform for GitHub Enterprise Server
OpenID Connect (OIDC) is an authentication protocol that extends OAuth 2.0, providing a solid and standardized method for authentication often involving an ID token in the JWT (JSON Web Token) format. OIDC is the recommended way to authenticate with GitHub Enterprise Server when setting up GitHub Actions. Since the setup can be tricky, I've created a Terraform configuration that makes it easier to get started.

barco: Linux Containers From Scratch in C.
A straightforward C implementation of a container runtime, built from the ground up to explore containers and the Linux Kernel.

How to Create a Release With Multiple Artifacts From a GitHub Actions Workflow Using the Matrix Strategy
Find out how I managed to create a release with executables suitable for different operating systems all within a single workflow run.

What is Google Cloud Deploy?
Simplifying container-based app development on Google Kubernetes Engine (GKE) with Cloud Deploy.

What is GitOps?
GitOps is an operational approach combining DevOps best practices like CI/CD, version control, and teamwork.

How to Read Firestore Events with Cloud Functions and Golang
Learn how I used Golang and Cloud Functions to Read Firestore events published to the Cloud by my Raspberry Pi.

Google Cloud Pub/Sub vs NATS: An Easy-to-Understand Comparison
Examining messaging options for scalable, event-based systems: features, advantages, disadvantages, and costs.

How to Deploy a Multi-cluster Service Mesh on GKE with Anthos
A detailed guide on deploying a multi-cluster, multi-region service mesh with Anthos Service Mesh on GKE.

How to Safely Store Secrets in Terraform Using Cloud KMS
Protecting Terraform secrets using Cloud KMS for seamless git commit experience.

How to Use Terraform Workspaces to Manage Environment-based Configuration
Find out how to make managing infrastructure in multiple environments easier with Terraform Workspaces, without using regular modules.
lucavallin