Blog
Thoughts on distributed systems, cloud architecture, and the craft of building software.
Team Topologies and Platform Engineering: How You Organize Determines What You Build
Conway's Law is not a suggestion. The way your teams are structured will determine your architecture — intentionally or not. Here's how to use Team Topologies and platform thinking to make that work for you.
Read article →Observability for Event-Driven Systems: The Metrics That Actually Matter
Logs and dashboards are necessary but not sufficient. Here's how to build meaningful observability for event-driven systems — from SLO design to correlating events with business outcomes.
Read article →From Monolith to Event-Driven: A Migration Playbook
Migrating from a monolith to event-driven microservices without a big-bang rewrite. The Strangler Fig pattern in practice, with incremental steps and real decision criteria.
Read article →Securing Your Event Bus: Encryption, Signing, and Audit Trails in Kafka
Most Kafka setups focus on throughput and miss the security fundamentals. Here's how to apply encryption, message signing, and audit trails to an event-driven system in production.
Read article →SOLID in Distributed Systems: Beyond the Textbook
SOLID principles don't disappear when your classes become microservices — they scale up. Here's how SRP, OCP, LSP, ISP, and DIP re-apply when your unit of deployment is a service.
Read article →Building a Kafka Stream Processing Pipeline from Scratch
A complete archetype for real-time analytics with Kafka Streams: windowed aggregations, stream-to-stream joins, state stores, and exactly-once processing in Java.
Read article →Why Your Microservices Are Still Coupled (And How to Fix It)
Most microservice migrations trade one monolith for another — just distributed. Here's how to identify the hidden coupling patterns and eliminate them for good.
Read article →Event-Driven Architecture: The Four Patterns You Actually Need in Production
A deep dive into Event Sourcing, Pub/Sub, CQRS, and secure event design — with real Java/Spring Boot code for financial-grade systems.
Read article →