Archive
2025
2024
- #112 Platform Engineering as a Service
- #111 Deployment-Driven Development
- #110 Automating Infrastructure as Code with Vertex AI
- #109 Understanding Konfig’s Opinionation
- #108 No assembly required: the benefits of an opinionated platform
- #107 How Konfig provides an enterprise platform with GitLab and Google Cloud
- #106 Security, Maintainability, Velocity: Choose One
- #105 Introducing Konfig: GitLab and Google Cloud preconfigured for startups and enterprises
- #104 Choosing Good SLIs
- #103 Cloud without Kubernetes
2022
2021
2020
- #100 Structuring a Cloud Infrastructure Organization
- #99 We suck at meetings
- #98 Getting big wins with small teams on tight deadlines
- #97 Continuous Deployment for AWS Glue
- #96 Implementing ETL on GCP
- #95 Using Google-Managed Certificates and Identity-Aware Proxy With GKE
- #94 Zero-Trust Security on GCP With Context-Aware Access
- #93 Liftbridge 1.0
- #92 Digitally Transformed: Becoming a Technology Product Company
- #91 Microservice Observability, Part 2: Evolutionary Patterns for Solving Observability Problems
2019
- #90 Microservice Observability, Part 1: Disambiguating Observability and Monitoring
- #89 What’s Going on with GKE and Anthos?
- #88 Serverless on GCP
- #87 Planting Perennials Next to Potholes
- #86 Security by Happenstance
- #85 Authenticating Stackdriver Uptime Checks for Identity-Aware Proxy
- #84 API Authentication with GCP Identity-Aware Proxy
- #83 Operations in the World of Developer Enablement
- #82 How to Level up Dev Teams
2018
- #81 Multi-Cloud Is a Trap
- #80 The Observability Pipeline
- #79 Introducing Liftbridge: Lightweight, Fault-Tolerant Message Streams
- #78 GCP and AWS: What’s the Difference?
- #77 Scaling DevOps and the Revival of Operations
- #76 More Environments Will Not Make Things Easier
- #75 There and Back Again: Why PaaS Is Passé (And Why It’s Not)
- #74 Plant Trees Before You Need the Shade
- #73 Building a Distributed Log from Scratch, Part 5: Sketching a New System
- #72 Building a Distributed Log from Scratch, Part 4: Trade-Offs and Lessons Learned
- #71 Building a Distributed Log from Scratch, Part 3: Scaling Message Delivery
2017
- #70 Building a Distributed Log from Scratch, Part 2: Data Replication
- #69 Building a Distributed Log from Scratch, Part 1: Storage Mechanics
- #68 Thrift on Steroids: A Tale of Scale and Abstraction
- #67 Software Is About Storytelling
- #66 FIFO, Exactly-Once, and Other Costs
- #65 Are We There Yet: The Go Generics Debate
- #64 You Cannot Have Exactly-Once Delivery Redux
- #63 Smart Endpoints, Dumb Pipes
- #62 Engineering Empathy
- #61 The Future of Ops
- #60 Pain-Driven Development: Why Greedy Algorithms Are Bad for Engineering Orgs
- #59 Decision Impact
2016
- #58 Fast Topic Matching
- #57 Take It to the Limit: Considerations for Building Reliable Systems
- #56 Benchmarking Commit Logs
- #55 You Are Not Paid to Write Code
- #54 Shit Rolls Downhill
- #53 Abstraction Considered Harmful
- #52 So You Wanna Go Fast?
- #51 Benchmarking Message Queue Latency
- #50 From the Ground Up: Reasoning About Distributed Systems in the Real World
2015
- #49 Breaking and Entering: Lose the Lock While Embracing Concurrency
- #48 Infrastructure Engineering in the 21st Century
- #47 Everything You Know About Latency Is Wrong
- #46 Probabilistic algorithms for fun and pseudorandom profit
- #45 You Own Your Availability
- #44 What You Want Is What You Don’t: Understanding Trade-Offs in Distributed Messaging
- #43 Designed to Fail
- #42 Service-Disoriented Architecture
- #41 Distributed Systems Are a UX Problem
- #40 Go Is Unapologetically Flawed, Here’s Why We Use It
- #39 Product Development is a Trust Fall
- #38 CAP and the Illusion of Choice
- #37 Writing Good Code
- #36 You Cannot Have Exactly-Once Delivery
- #35 If State Is Hell, SOA Is Satan
- #34 Stream Processing and Probabilistic Methods: Data at Scale
- #33 On Hireability and Recruiting
- #32 CS Literature of the Day
- #31 Fast, Scalable Networking in Go with Mangos
- #30 Benchmark Responsibly
2014
- #29 Not Invented Here
- #28 Sometimes Kill -9 Isn’t Enough
- #27 From Mainframe to Microservice: An Introduction to Distributed Systems
- #26 Scaling Shared Data in Distributed Systems
- #25 Understanding Consensus
- #24 The Sharing Economy: A Race to the Bottom
- #23 Iris Decentralized Cloud Messaging
- #22 Dissecting Message Queues
- #21 A Look at Nanomsg and Scalability Protocols (Why ZeroMQ Shouldn’t Be Your First Choice)
- #20 Distributed Messaging with ZeroMQ
- #19 Using Make with React and RequireJS
- #18 Building User Interfaces with React
- #17 Real-Time Client Notifications Using Redis and Socket.IO