architecture-paradigm-serverless
Applies serverless FaaS patterns for event-driven workloads. Use when designing bursty workloads with minimal infrastructure and pay-per-execution cost model.
What this skill does
# The Serverless Architecture Paradigm ## When To Use - Event-driven workloads with variable traffic - Minimizing operational overhead for cloud-native apps ## When NOT To Use - Long-running processes exceeding function timeout limits - Applications requiring persistent connections or local state ## When to Employ This Paradigm - When workloads are event-driven and exhibit intermittent or "bursty" traffic patterns. - When the goal is to minimize infrastructure management and adopt a pay-per-execution cost model. - When latency constraints from "cold starts" are acceptable for the use case or can be effectively mitigated. ## Adoption Steps 1. **Identify Functions**: Decompose workloads into small, stateless function handlers triggered by events such as HTTP requests, message queues, or scheduled timers. 2. **Externalize State**: use managed services like databases and queues for all persistent state. Design handlers to be idempotent to validate that repeated executions do not have unintended side effects. 3. **Plan Cold-Start Mitigation**: For latency-sensitive paths, keep function dependencies minimal. Employ strategies such as provisioned concurrency or "warmer" functions to reduce cold-start times. 4. **Implement Instrumentation and Security**: Enable detailed tracing and logging for all functions. Adhere to the principle of least privilege with IAM roles and set per-function budgets to control costs. 5. **Automate Deployment**: Use Infrastructure-as-Code (IaC) frameworks like SAM, CDK, or Terraform to create repeatable and reliable release processes. ## Key Deliverables - An Architecture Decision Record (ADR) that describes function triggers, runtime choices, state management strategies, and cost projections. - A complete Infrastructure-as-Code (IaC) and CI/CD pipeline for automatically packaging and deploying functions. - Observability dashboards to monitor key metrics including function duration, error rates, cold-start frequency, and cost. ## Risks & Mitigations - **Vendor Lock-in**: - **Mitigation**: Where feasible, abstract away provider-specific APIs behind your own interfaces or adopt portable frameworks (e.g., Serverless Framework) to reduce dependency on a single cloud vendor. - **Debugging Challenges**: - **Mitigation**: Tracing execution across distributed functions can be complex. Standardize on specific instrumentation libraries and structured logging to simplify debugging. - **Resource Limits**: - **Mitigation**: Actively monitor provider-imposed limits, such as concurrency and memory quotas. Design workloads to be shardable or horizontally scalable to stay within these constraints. ## Concrete Components These vocabulary items name the concrete tools and abstractions that show up when the paradigm is implemented. They are not required dependencies and they are not part of the skill's ``tools:`` frontmatter (which is reserved for Claude Code tool restrictions). Use this list to disambiguate during architecture discussions. - ``cloud-sdk``: AWS SDK, Google Cloud SDK, or Azure SDK; first-class platform integration - ``serverless-framework``: Serverless Framework, SAM, or CDK; declarative function deployment - ``IaC-tools``: Terraform, Pulumi, or platform-native IaC for shared infrastructure around functions
Related in architectural-pattern
architecture-paradigm-layered
IncludedApplies layered n-tier architecture with enforced boundaries. Use when designing moderate systems needing clear presentation, domain, and persistence layers.
architecture-paradigm-microservices
IncludedApplies microservices for independent deployment and per-service scaling. Use when teams need autonomous release cycles with distinct capability scaling needs.
architecture-paradigm-client-server
IncludedApplies client-server architecture for web/mobile apps. Use when designing systems with centralized backend services, trust boundaries, or offline-first sync.
architecture-paradigm-cqrs-es
IncludedApplies CQRS and Event Sourcing for read/write separation and audit trails. Use when designing systems with complex domain logic or full state-change history.
architecture-paradigm-event-driven
IncludedApplies event-driven async messaging to decouple producers and consumers. Use when designing real-time or multi-subscriber systems needing loose coupling.
architecture-paradigm-functional-core
IncludedApplies Functional Core, Imperative Shell to isolate logic from side effects. Use when business logic is entangled with I/O or unit tests are slow and brittle.