diff --git a/pages/serverless-containers/faq.mdx b/pages/serverless-containers/faq.mdx index 7c4c20582c..5eee936750 100644 --- a/pages/serverless-containers/faq.mdx +++ b/pages/serverless-containers/faq.mdx @@ -140,6 +140,8 @@ Ensure that your code avoids heavy computations or long-running initialization a * **Use sandbox v2**: We recommend you use sandbox v2 (advanced settings) to reduce cold starts. +* **Reduce image size**: Ensure your image is small and clean. [Read our tips for keeping image sizes down](/serverless-containers/reference-content/containers-limitations/#image-size). + ### Which Linux syscalls are supported? - [Sandbox](/serverless-containers/concepts/#sandbox) v1 guarantees full compatibility with Linux syscalls. diff --git a/pages/serverless-containers/reference-content/containers-limitations.mdx b/pages/serverless-containers/reference-content/containers-limitations.mdx index 2527484692..594c8de60f 100644 --- a/pages/serverless-containers/reference-content/containers-limitations.mdx +++ b/pages/serverless-containers/reference-content/containers-limitations.mdx @@ -22,9 +22,8 @@ This section contains usage limits that apply when using Serverless Containers. | Containers | Max number | 1000* | Organization | | Total container memory\** | Max size | 600 GiB | Organization | | Custom domains | Max number | 50 | Container | -| Image size compressed | Max size | 250 MiB | Container | -| Image size uncompressed | Max size | 1 GiB | Container | -| Temporary disk size | Max size | 1024 MiB | Container | +| Recommended maximum uncompressed image size | Max size | 1 GB | Container | +| Temporary disk size ยจ | Max size | 24 000 MiB | Container | | Invocation rate | Max number | 1000 per second | Container | | Concurrency | Max | 80 | Container Instance | | Max Scale (simultaneous Container instances) | Max | 50 | Container | @@ -49,6 +48,17 @@ These limits are enforced as [Organization quotas](/organizations-and-projects/a During the execution of the container, if the limits are exceeded, a restart occurs. +## Image size + +We recommend keeping your image size **below 1 GB** to ensure faster deployment and better cold start performances. + +### Tips for keeping image size down + +* Use lightweight distribution like *Alpine* +* Minimize layers and unnecessary dependencies +* Clean up temp files and cache (e.g., `rm -rf /var/lib/apt/lists/*` in Debian-based images) +* Use multi-stage builds to keep only runtime essentials. [Example](https://github.com/scaleway/serverless-examples/blob/a7a3b5fc3427ec0f1391aaa78957f91af266867c/containers/rust-hello-world/Dockerfile#L14) + ## Configuration Restrictions In order to ensure the proper functioning of the product, we restrict the use of certain ports and environment variables diff --git a/pages/serverless-jobs/reference-content/jobs-limitations.mdx b/pages/serverless-jobs/reference-content/jobs-limitations.mdx index ccd93caf4b..e0ce51bbf5 100644 --- a/pages/serverless-jobs/reference-content/jobs-limitations.mdx +++ b/pages/serverless-jobs/reference-content/jobs-limitations.mdx @@ -62,3 +62,14 @@ In order to ensure the proper functioning of the product, we restrict the use of ## Private Network and Virtual Private Cloud (VPC) compatibility Refer to the [dedicated FAQ](/serverless-jobs/faq/#how-can-i-configure-access-to-a-private-network-or-virtual-private-cloud-vpc) for more information on Serverless Jobs compatibility with Private Networks and [Virtual Private Cloud (VPC)](/vpc/). + +## Image size + +We recommend keeping your image size **below 2 GB** to ensure faster deployment. + +### Tips for keeping image size down + +* Use lightweight distribution like *Alpine* +* Minimize layers and unnecessary dependencies +* Clean up temp files and cache (e.g., `rm -rf /var/lib/apt/lists/*` in Debian-based images) +* Use multi-stage builds to keep only runtime essentials. [Example](https://github.com/scaleway/serverless-examples/blob/a7a3b5fc3427ec0f1391aaa78957f91af266867c/containers/rust-hello-world/Dockerfile#L14)