Init guide environment...
Functions as a Service. Execute code only when triggered by events (HTTP, queues, timers). Scales to zero.
The front door. Maps HTTP requests to functions, handles throttling, auth, and payload validation.
Queues, Pub/Sub, and Event Buses that decouple services. Producers emit, consumers react asynchronously.
Fully fledged database, storage, and orchestration services that you don't patch or provision.
High-level view of standard serverless architecture.
flowchart TD
style Client fill:#1a1f2b,stroke:#00e5ff,color:#fff
style API_Gateway fill:#12161f,stroke:#1de9b6,color:#fff
style Auth fill:#0d1117,stroke:#ff6b9d,color:#fff
style Lambda fill:#12161f,stroke:#e040fb,color:#fff
style DB fill:#1a1f2b,stroke:#ffab00,color:#fff
style S3 fill:#1a1f2b,stroke:#00b0ff,color:#fff
style EventBus fill:#12161f,stroke:#69f0ae,color:#fff
style AsyncWorker fill:#12161f,stroke:#ff9100,color:#fff
Client(["📱 Client"]) --> API_Gateway(["🚪 API Gateway"])
API_Gateway -. "Validates Token" .-> Auth(["🔐 Auth (Cognito)"])
API_Gateway -->|"HTTP Proxy"| Lambda(["⚡ Compute (Lambda)"])
Lambda <-->|"Queries"| DB(["💾 Database (DynamoDB)"])
Client -->|"Direct Upload"| S3(["🪣 Storage (S3)"])
S3 -->|"S3 Event Trigger"| EventBus(["🚦 Event Bus"])
EventBus -->|"Async Hook"| AsyncWorker(["🛠️ Async Process (Lambda)"])
AsyncWorker -. "Write Results" .-> DB
Visualize event-driven and synchronous invocations step-by-step
| Environment | Setup Complexity | Cost Model | Scaling Profile | Best Use Case |
|---|---|---|---|---|
| Traditional VMs | Fixed (Always On) | Manual / Slow | Legacy, Predictable Monoliths | |
| Containers (K8s) | High (Base Cluster) | Fast (Rules) | Microservices, Multi-cloud | |
| Serverless (FaaS) | Pay-per-execution | Instant (Auto) | Spiky traffic, Async processing |