Archive

2025

  1. #114 What is Koreo?
  2. #113 Controller-Driven Infrastructure as Code

2024

  1. #112 Platform Engineering as a Service
  2. #111 Deployment-Driven Development
  3. #110 Automating Infrastructure as Code with Vertex AI
  4. #109 Understanding Konfig’s Opinionation
  5. #108 No assembly required: the benefits of an opinionated platform
  6. #107 How Konfig provides an enterprise platform with GitLab and Google Cloud
  7. #106 Security, Maintainability, Velocity: Choose One
  8. #105 Introducing Konfig: GitLab and Google Cloud preconfigured for startups and enterprises
  9. #104 Choosing Good SLIs
  10. #103 Cloud without Kubernetes

2022

  1. #102 Meeting notes lose value the moment you finish writing them—and it’s time to fix that

2021

  1. #101 SRE Doesn’t Scale

2020

  1. #100 Structuring a Cloud Infrastructure Organization
  2. #99 We suck at meetings
  3. #98 Getting big wins with small teams on tight deadlines
  4. #97 Continuous Deployment for AWS Glue
  5. #96 Implementing ETL on GCP
  6. #95 Using Google-Managed Certificates and Identity-Aware Proxy With GKE
  7. #94 Zero-Trust Security on GCP With Context-Aware Access
  8. #93 Liftbridge 1.0
  9. #92 Digitally Transformed: Becoming a Technology Product Company
  10. #91 Microservice Observability, Part 2: Evolutionary Patterns for Solving Observability Problems

2019

  1. #90 Microservice Observability, Part 1: Disambiguating Observability and Monitoring
  2. #89 What’s Going on with GKE and Anthos?
  3. #88 Serverless on GCP
  4. #87 Planting Perennials Next to Potholes
  5. #86 Security by Happenstance
  6. #85 Authenticating Stackdriver Uptime Checks for Identity-Aware Proxy
  7. #84 API Authentication with GCP Identity-Aware Proxy
  8. #83 Operations in the World of Developer Enablement
  9. #82 How to Level up Dev Teams

2018

  1. #81 Multi-Cloud Is a Trap
  2. #80 The Observability Pipeline
  3. #79 Introducing Liftbridge: Lightweight, Fault-Tolerant Message Streams
  4. #78 GCP and AWS: What’s the Difference?
  5. #77 Scaling DevOps and the Revival of Operations
  6. #76 More Environments Will Not Make Things Easier
  7. #75 There and Back Again: Why PaaS Is Passé (And Why It’s Not)
  8. #74 Plant Trees Before You Need the Shade
  9. #73 Building a Distributed Log from Scratch, Part 5: Sketching a New System
  10. #72 Building a Distributed Log from Scratch, Part 4: Trade-Offs and Lessons Learned
  11. #71 Building a Distributed Log from Scratch, Part 3: Scaling Message Delivery

2017

  1. #70 Building a Distributed Log from Scratch, Part 2: Data Replication
  2. #69 Building a Distributed Log from Scratch, Part 1: Storage Mechanics
  3. #68 Thrift on Steroids: A Tale of Scale and Abstraction
  4. #67 Software Is About Storytelling
  5. #66 FIFO, Exactly-Once, and Other Costs
  6. #65 Are We There Yet: The Go Generics Debate
  7. #64 You Cannot Have Exactly-Once Delivery Redux
  8. #63 Smart Endpoints, Dumb Pipes
  9. #62 Engineering Empathy
  10. #61 The Future of Ops
  11. #60 Pain-Driven Development: Why Greedy Algorithms Are Bad for Engineering Orgs
  12. #59 Decision Impact

2016

  1. #58 Fast Topic Matching
  2. #57 Take It to the Limit: Considerations for Building Reliable Systems
  3. #56 Benchmarking Commit Logs
  4. #55 You Are Not Paid to Write Code
  5. #54 Shit Rolls Downhill
  6. #53 Abstraction Considered Harmful
  7. #52 So You Wanna Go Fast?
  8. #51 Benchmarking Message Queue Latency
  9. #50 From the Ground Up: Reasoning About Distributed Systems in the Real World

2015

  1. #49 Breaking and Entering: Lose the Lock While Embracing Concurrency
  2. #48 Infrastructure Engineering in the 21st Century
  3. #47 Everything You Know About Latency Is Wrong
  4. #46 Probabilistic algorithms for fun and pseudorandom profit
  5. #45 You Own Your Availability
  6. #44 What You Want Is What You Don’t: Understanding Trade-Offs in Distributed Messaging
  7. #43 Designed to Fail
  8. #42 Service-Disoriented Architecture
  9. #41 Distributed Systems Are a UX Problem
  10. #40 Go Is Unapologetically Flawed, Here’s Why We Use It
  11. #39 Product Development is a Trust Fall
  12. #38 CAP and the Illusion of Choice
  13. #37 Writing Good Code
  14. #36 You Cannot Have Exactly-Once Delivery
  15. #35 If State Is Hell, SOA Is Satan
  16. #34 Stream Processing and Probabilistic Methods: Data at Scale
  17. #33 On Hireability and Recruiting
  18. #32 CS Literature of the Day
  19. #31 Fast, Scalable Networking in Go with Mangos
  20. #30 Benchmark Responsibly

2014

  1. #29 Not Invented Here
  2. #28 Sometimes Kill -9 Isn’t Enough
  3. #27 From Mainframe to Microservice: An Introduction to Distributed Systems
  4. #26 Scaling Shared Data in Distributed Systems
  5. #25 Understanding Consensus
  6. #24 The Sharing Economy: A Race to the Bottom
  7. #23 Iris Decentralized Cloud Messaging
  8. #22 Dissecting Message Queues
  9. #21 A Look at Nanomsg and Scalability Protocols (Why ZeroMQ Shouldn’t Be Your First Choice)
  10. #20 Distributed Messaging with ZeroMQ
  11. #19 Using Make with React and RequireJS
  12. #18 Building User Interfaces with React
  13. #17 Real-Time Client Notifications Using Redis and Socket.IO

2013

  1. #16 No More Ninjas
  2. #15 The Art of Software
  3. #14 Discipline in Prototyping
  4. #13 Productivity Over Process
  5. #12 How is Software Valued?
  6. #11 Bluetooth Blues
  7. #10 Implementing Spring-like Classpath Scanning in Android
  8. #9 Introducing InfinitumFramework.com
  9. #8 He Sed, She Sed

2012

  1. #7 Modularizing Infinitum: A Postmortem
  2. #6 The Importance of Being Idle
  3. #5 Dalvik Bytecode Generation
  4. #4 Proxies: Why They’re Useful and How They’re Implemented
  5. #3 A Look at Spring’s BeanFactoryPostProcessor
  6. #2 Probabilistic Primality Testing
  7. #1 Solving the Referential Integrity Problem