AWS Lambda in 2025: Year-Long Executions and Failed-Event Destinations
Lambda keeps evolving. The latest updates allow functions to coordinate workflows for up to one year and automatically route failed events to S3. These changes expand Lambda’s use cases significantly.
What’s New in Lambda (2024-2025)
| Feature | Before | Now |
|---|---|---|
| Max execution time | 15 minutes | 15 min (or 1 year with coordination) |
| Failed event handling | DLQ (SQS/SNS only) | S3 destination supported |
| Memory | 10 GB max | 10 GB (6 vCPU) |
| SnapStart | Java only | Java, Python, .NET |
Long-Running Workflows Without Step Functions
New coordination capabilities let Lambda handle extended workflows:
import boto3
import time
def lambda_handler(event, context):
# Start a long-running process
process_id = start_data_pipeline(event)
# Wait for external event (up to 1 year)
# Lambda hibernates - no charges while waiting
result = wait_for_completion(
process_id,
timeout_seconds=86400 * 365 # 1 year
)
return process_result(result)
S3 as Failed-Event Destination
# Configure S3 destination for failed Kafka events
aws lambda create-event-source-mapping \
--function-name my-processor \
--event-source-arn arn:aws:kafka:... \
--destination-config '{
"OnFailure": {
"Destination": "arn:aws:s3:::my-failed-events-bucket"
}
}'
# Failed events saved as:
# s3://bucket/aws/lambda/events/YYYY/MM/DD/function-name/...
SnapStart for Python
Cold starts reduced from seconds to milliseconds:
# Enable SnapStart in Terraform
resource "aws_lambda_function" "api" {
function_name = "my-api"
runtime = "python3.12"
handler = "app.handler"
snap_start {
apply_on = "PublishedVersions"
}
}
# Cold start: ~100ms (vs 1-3 seconds without)
2026 Prediction
Expect SnapStart support for all runtimes and even faster cold starts. Lambda is becoming viable for latency-sensitive workloads that previously required containers.