The closer to the edge, the more stable a platform must be
Explains why edge components like API gateways must be more resilient than backend services to protect platform availability.
Benjamin Cane shares insights on distributed systems, reliability patterns, performance testing, and engineering leadership, focusing on practical lessons for building resilient software.
47 articles from this blog
Explains why edge components like API gateways must be more resilient than backend services to protect platform availability.
Explains compensating transactions as a key resiliency pattern in distributed systems, using real-world payment reversal examples.
Explores whether retries and timeouts should be handled by the application or service mesh, balancing infrastructure simplicity with business context.
Explains dual writes as a strategy for migrating between databases without downtime, covering implementation and failure handling.
Explores data synchronization services as glue services for modernizing legacy platforms, enabling zero-downtime migrations.
Article advocates using glue services (anti-corruption layers) to modernize legacy systems without letting old integrations constrain new platform design.
Explains why coding agents struggle with image-based architecture diagrams and advocates for code-based diagrams like Mermaid.
How to place low-level architecture documentation in the codebase for better clarity and AI agent support.
Explains why coding agents need architectural context via Architecture Decision Records (ADRs) and how to make them accessible.
Learn why health-checking the wrong listener can break gRPC services in production and how to properly monitor gRPC traffic.
Explains weighted load balancing, its importance for safe migrations, and real-world use cases in canary deployments and traffic shifting.
Explores why YOLO is a bad strategy for validating production changes and offers better methods like canary releases, shadow traffic, and smoke tests.
Explains deterministic routing as a key technique for reducing consistency problems in distributed systems at scale.
Explores an alternative microservices pattern: deploying the same service codebase across multiple platforms for local ownership and resilience.
Explains traffic mirroring in Istio/Envoy for safe production testing and observation.
Explains how Agent Skills can capture institutional knowledge for coding agents, ensuring consistent adherence to internal frameworks and practices.
Explores the evolution from saved prompts to Agent Skills, a new way to codify workflows for AI agents with metadata, scripts, and tools.
Explains why fast code generation requires robust testing, detailing a three-level pull request validation and nightly testing for confidence.
Explains the critical load balancing challenges when moving from HTTP/1 to gRPC/HTTP/2 in production and offers solutions.
Explains the difference between high availability and high resiliency in system design, and why both are crucial.