Event-driven serverless middleware

A freezeable AWS tracer for ingest → persist → API → scheduled jobs → streams, emphasizing how the system is built, verified, and operated.

Summary

Portfolio demonstration: event-driven serverless middleware on AWS for order-lifecycle coordination across digital and store channels — reliable ingest, persistence, APIs, scheduled work, outbound streams, and operable observability.

Problem

Organizations that sell digitally and fulfill through retail locations need middleware that keeps sales, store operations, inventory signals, customer notifications, and reporting in sync under failure and load. This build focuses on a coherent vertical slice: clear subsystem boundaries, visible operations, and a freezeable scope.

Approach

An event-driven, serverless middleware with four subsystems: ingest, scheduled jobs, API, and outbound streams. SNS events fan into SQS-backed handlers and DynamoDB persistence; a store HTTP API supports lookup and lifecycle updates; DynamoDB Streams maintain operational metrics; EventBridge schedules drive timed jobs — packaged as one Serverless Framework stack per stage.

System architecture — ingest, API, lifecycle, store, and streams.
  • Java 17 Lambda handlers, DynamoDB Enhanced Client, GSIs
  • Store-facing REST for lookup, pack/unpack, and metrics
  • Lifecycle selector/handler pattern with idempotent transitions
  • Observability as code: structured logs, dashboards, alarms
  • Three-tier verification: unit tests, post-deploy smoke, Bruno collection
  • GitHub Actions with OIDC deploy paths for staging/production

Key decisions: single ShadowJar and single stack per stage; self-healing retry via retention instead of a first-cut DLQ; prefix-based stub rules for deterministic journeys; lifecycle schedules enabled on production only to control cost. Reliability practice separates business and infrastructure failure handling, applies reserved concurrency on lifecycle handlers, gates merges with post-deploy smoke journeys, and documents response for critical alarms in an operations manual.

Observability and post-deploy verification are part of the same delivery loop:

Business and operations dashboard — order KPIs, ingest depth, and Lambda health.
Smoke suite run — 32 passed across ingest, pack, lifecycle, unpack, and cleanup.

Results & limits

Delivered a complete middleware tracer with CI/CD, observability, and verification in place — a reference implementation and starting point for production hardening in similar environments.

Out of scope for this phase: full inventory and data-lake pipelines, OpenSearch, DroppedOrders persistence, customer notification stream, and broader alarm coverage. Those are natural follow-on increments on the same architecture.

Reach out via Contact to discuss this project or schedule a walkthrough.