Menu
InfoQ Architecture·July 30, 2026

AWS Lambda's Self-Managed Code Storage: Understanding Deployment Limits and Operational Impact

AWS Lambda's new self-managed code storage allows functions and layers to reference deployment packages directly from customer-owned S3 buckets, primarily addressing the per-Region account-level code storage quota. While this lifts an aggregate limit, it's crucial for system designers to understand that **individual function size limits (50 MB zipped, 250 MB unzipped, 10 GB for containers) remain unchanged**. The operational impact includes faster function activation and shifting storage costs to customer S3 bills.

Read original on InfoQ Architecture

Distinguishing Account Quota from Function Size Limits

The core of AWS Lambda's self-managed code storage enhancement is the distinction between an account-level storage quota and individual function package size limits. Previously, Lambda managed all deployment package storage, leading to a per-Region quota (default 75 GB, now 300 GB, and effectively unlimited with self-managed storage) that large serverless applications might hit. This new feature allows developers to store function and layer code in their own S3 buckets, bypassing this aggregate account quota entirely.

⚠️

Crucial Distinction for Architects

System architects must understand that while the *aggregate storage quota* for all Lambda functions in an account is effectively removed, the *per-function package size limits* are not changed. This means a single function still cannot exceed 50 MB zipped (250 MB unzipped) or 10 GB for container images. This is a common misinterpretation, as highlighted in the article.

Operational Changes and Cost Implications

Beyond the quota relief, there are several operational changes. Lambda no longer creates an intermediate copy of the deployment package when referencing code directly from S3, which can speed up function activation after creation or updates. Cost-wise, the storage and retrieval expenses for deployment packages shift from being an implicit part of Lambda's pricing to explicit line items on the customer's S3 bill, offering greater transparency and control. Standard S3 storage and cross-Region transfer costs will apply.

  • Account Quota: Elevated from 75 GB (default) to 300 GB for Lambda-managed storage, or effectively unlimited with self-managed S3.
  • Function Size Limit: Remains 50 MB zipped (250 MB unzipped) for zip packages and 10 GB for container images.
  • Deployment Workflow: Unchanged; `UpdateFunctionCode` still needs to be called after updating the object in S3.
  • Activation Speed: Potentially faster due to the elimination of intermediate copying.
  • Cost Transparency: Storage costs become visible S3 charges instead of being bundled with Lambda.

While the deployment workflow remains largely the same, requiring an `UpdateFunctionCode` call, the benefit lies in providing a native, scalable option for teams with extensive serverless fleets. Infrastructure-as-code tools like Terraform are in the process of adding support for this new storage mode, indicating its growing adoption and importance for managing large-scale serverless deployments.

AWS LambdaServerlessS3Cloud StorageDeploymentQuotasLimitsInfrastructure as Code

Comments

Loading comments...