Cloud Architecture Guide
DAY_02 / SECTION_02 // PATTERNS
MODULE READY

Common cloud-integration anti-patterns

What goes wrong, and what good looks like. After Adrian Cockcroft's 2012 Netflix patterns — the anti-patterns are timeless even though the slides aren't.

Anti-pattern Why it bites Counter-pattern
! Central SQL DB as system of record Single point of failure · scaling ceiling Distributed K/V or document store · SQL where consistency truly matters
! Sticky in-memory sessions One node down = users logged out Externalize sessions to a cache (Redis, Memcached)
! Chatty protocols between services Latency adds up across the wire Coarse-grained, latency-tolerant APIs
! Tangled service interfaces Everything depends on everything else Clear contracts · SAL/ESL or API gateway pattern
! Fat objects in serialization Slow, brittle, hard to evolve Lightweight, versioned messages
! Components shipped as JARs / DLLs Coupled deploys · change ripples Components as services with own deploy lifecycle
! Production-only environments Can't test changes without risk dev / staging / prod isolation, ideally separate accounts
// tangled vs untangled · the deep cut
SYS.NODE_ANTI ⚠ TANGLED

Datacenter implementation leaks into business logic — raw SQL queries inside services.

Deep dependencies — A calls B which calls C which calls A.

Data providers with sideways dependencies.

// hits productivity (changes ripple) and availability (one failure cascades)

SYS.NODE_GOOD ✓ UNTANGLED

Two-layer interface: thin SAL + richer ESL.

SAL = serialization, error handling, REST/POJOs.

ESL = caching, conveniences, can compose multiple SALs.

// interface defined by the consumer, not the producer

// exercise · spot the anti-pattern

~15 min · pairs

E-commerce app: monolith on EC2 talking to a single Oracle RDS, sessions stored in JVM heap, uploads written to local disk. One environment. SSH keys live in a shared password manager.

  1. Which anti-patterns from the table do you see?
  2. Which Well-Architected pillar does it violate most?
  3. What would you change first if you had budget for one thing?
help Knowledge Check
Question 1/1

A team's microservices each issue ~50 small RPC calls per request, all crossing AZ boundaries. Customer-facing latency is 1.5 seconds. Which anti-pattern is dominant?

// pick one to verify