What is AWS Lambda?
AWS Lambda is a serverless compute service that lets you run code without provisioning or managing servers. You just upload your code, and Lambda handles the rest—scaling, patching, high availability, etc.
Key Concepts
- Event-driven: Lambda runs your code in response to events such as HTTP requests (API Gateway), file uploads (S3), or database changes (DynamoDB).
- Stateless: No persistent state. Each invocation is independent.
- Runtime support: Supports Python, Node.js, Java, Go, .NET Core, Ruby, and custom runtimes via Lambda Runtime API.
- Execution model: Your function runs inside a container for the duration of the invocation.
Advantages
- No Server Management – You don’t manage infrastructure.
- Auto Scaling – Scales automatically with the number of events.
- Pay-as-you-go – Charged only for execution time and number of requests.
- Quick Deployment – Easy to deploy, update, and rollback.
- Built-in Monitoring – CloudWatch integration.
- Integrates with many AWS services – API Gateway, S3, DynamoDB, SNS, SQS, EventBridge, and more.
Limitations
- Runtime Duration – Max 15 minutes per invocation
- Memory – 128 MB to 10 GB (affects CPU power too)
- Disk Space (/tmp) – 512 MB of temporary storage
- Package Size – 250 MB unzipped (50 MB zipped for direct upload)
- Concurrency – 1,000 concurrent executions by default (can be increased)
- Cold Start – Delay when function is invoked after a period of inactivity
- State Management – Stateless by design, use external storage (e.g., S3, DynamoDB)
Real-World Use Cases & Scenarios
1. Real-Time File Processing
Event Source: S3
Use Case: Resize image, transcode video, extract metadata when files are uploaded to S3.
2. Serverless Web APIs
Event Source: API Gateway
Use Case: Build RESTful APIs without servers using Lambda + API Gateway + DynamoDB.
3. Chatbot Backend
Event Source: Lex or API Gateway
Use Case: Process user messages, call third-party APIs, return response via Lambda.
4. Data Validation / ETL
Event Source: Kinesis / DynamoDB Streams / S3
Use Case: Stream-based validation, filtering, and transformation.
5. Notifications & Alerts
Event Source: CloudWatch / SNS / EventBridge
Use Case: Send alerts based on system metrics, logs, or events.
6. CRON Jobs
Event Source: CloudWatch Scheduled Events
Use Case: Scheduled tasks like nightly DB cleanup, data sync.
7. Authentication & Authorization
Event Source: API Gateway (custom authorizer)
Use Case: JWT token verification, user-based access control logic.
8. Email Parsing
Event Source: SES (Simple Email Service)
Use Case: Read incoming emails, parse contents, and store data.
9. IoT Data Processing
Event Source: AWS IoT Core
Use Case: Process telemetry data from smart devices.
10. Machine Learning Inference
Event Source: API Gateway / EventBridge
Use Case: Run lightweight ML models in Lambda (use external models if large).
Lambda Lifecycle and Architecture
1. Invocation Models
Synchronous: API Gateway, ALB
Asynchronous: S3, SNS, EventBridge
Streaming: Kinesis, DynamoDB Streams, MSK
2. Execution Context
Reused for performance (warm start)
Each invocation gets its own memory and CPU slice
3. Error Handling
Retries for async calls
DLQs (Dead Letter Queues)
Destinations (success/failure)
Best Practices
Keep functions small and focused.
Avoid large dependencies.
Use environment variables for configuration.
Monitor with CloudWatch Metrics, Logs, and X-Ray.
Manage permissions with IAM roles.
Externalize state (don’t store in
/tmp
or assume reuse).Secure Lambda with least-privilege policies.
Resources
Here are some AWS official resources: