Notes from production

AWS System Design Blog

System design essays on Amazon Web Services by A. M. M. Golam Yeazdani (Yeazdani), senior software engineer and solutions architect. Architecture decisions, trade-offs, and patterns for platforms that have to survive traffic, failure, and a cost review.

Event-driven checkout on AWS: EventBridge, SQS, and the dual-write problem

A production pattern for order intake that survives retries, duplicate events, and a payment provider that will call you twice. The architecture is simple. The failure modes are not.

System designEvent-drivenAWS
Read the essay

Multi-region active-active APIs: Route 53, Aurora Global, and what actually fails

Active-active is not “deploy the same stack twice.” It is a data-plane decision about latency, split-brain, and which region is allowed to write. Most teams want the slide. Few want the failover drill.

System designReliabilityAWS

From device to insight: an IoT telemetry pipeline that does not melt S3 or your bill

Field devices are chatty, clocks are wrong, and “just dump it in S3” becomes a 400-million-object lake. This is the pipeline I use when telemetry has to be cheap to ingest and still queryable.

IoTDataAWS

Lambda vs Fargate vs ECS: a decision framework, not a religion

Compute choice is a system-design decision about traffic shape, failure isolation, and who wakes up at night. Here is the framework I use in design reviews instead of “we are a serverless shop.”

System designComputeAWS

Multi-tenant SaaS on AWS: identity, isolation, and noisy neighbors

Tenancy is not a Cognito checkbox. It is a decision about blast radius: what a compromised API key, a runaway query, or a single large customer is allowed to take down.

SaaSIdentityAWS

Observability that pages you for the right reasons

Dashboards are not observability. Observability is whether a stranger on call can answer: is the user broken, which hop, and is it a dependency or us? This is the instrumentation bar I set on AWS systems.

ObservabilityOperationsAWS