Mercury SkillsMercury Skills
v1.0.0 cosmicstack-labs

Serverless Patterns

Lambda, cold starts, event-driven design, API Gateway, and serverless frameworks

View source0 downloads
serverlesslambdacloudawsevent-driven

Serverless Patterns#

Build scalable serverless applications.

Core Patterns#

Function Design#

  • Single responsibility per function
  • Stateless (use external storage for state)
  • Idempotent handlers (retry-safe)
  • Receive event, process, return/forward

Cold Start Mitigation#

StrategyEffectTradeoff
Provisioned ConcurrencyZero cold startsCost
Smaller runtime (Node/Python)Faster startLanguage choice
Keep-alive pingReduce frequencyExtra cost
Lambda SnapStart (Java)Fast restoreState constraints
Lambda@EdgeRegional distribution1MB response limit

Event-Driven Design#

Event Types#

Events:
  - UserRegistered { userId, email, timestamp }
  - OrderPlaced { orderId, items, total }
  - PaymentProcessed { orderId, amount, status }
  - EmailSent { to, template, variables }

SQS + Lambda Pattern#

API Gateway → Lambda (producer) → SQS → Lambda (consumer) → DynamoDB

Benefits: decoupling, buffering, retry, dead-letter queue.

API Gateway Patterns#

  • Request validation at gateway level
  • Caching for GET endpoints (TTL per route)
  • WAF for rate limiting and IP blocks
  • Custom domain with ACM certificate
  • Usage plans for API keys

Frameworks#

  • SAM (AWS) — YAML/YML, local testing
  • Serverless Framework — Multi-cloud, plugins
  • CDK (AWS) — Full programming languages
  • Terraform — If already using for other infra
  • Chalice (Python) — Flask-like, AWS only

Best Practices#

  • Function timeout: max 30s for APIs, 15min for background
  • Memory: allocate more = more CPU (for compute-heavy, use 1.7GB+)
  • Monitor: Duration, Invocations, Error count, Throttles
  • Logs: structured JSON to CloudWatch
  • Security: least-privilege IAM roles per function

More in Backend

View all →