From 138c221986455002bed8adb65e7fa52433e6dc12 Mon Sep 17 00:00:00 2001 From: Thomas Tacquet Date: Fri, 27 Dec 2024 14:55:33 +0100 Subject: [PATCH 01/11] feat(serverless): update concepts --- serverless/containers/concepts.mdx | 24 +++++++- serverless/functions/concepts.mdx | 88 +++++++++++++++++++++++++----- serverless/jobs/concepts.mdx | 31 +++++++++-- 3 files changed, 123 insertions(+), 20 deletions(-) diff --git a/serverless/containers/concepts.mdx b/serverless/containers/concepts.mdx index 6da5cd9021..1ce9d6ab82 100644 --- a/serverless/containers/concepts.mdx +++ b/serverless/containers/concepts.mdx @@ -43,7 +43,7 @@ Container Registry is the place where your images are stored before being deploy ## CRON trigger -A CRON trigger is a mechanism used to automatically invoke a Serverless Function at a specific time on a recurring schedule. +A CRON trigger is a mechanism used to automatically invoke a Serverless Container at a specific time on a recurring schedule. It works similarly to a traditional Linux [cron job](https://en.wikipedia.org/wiki/Cron), using the `* * * * *` format, and uses the **UTC** time zone. Refer to our [cron schedules reference](/serverless/containers/reference-content/cron-schedules/) for more information. @@ -95,10 +95,18 @@ JWT (JSON Web Token) is an access token you can create from the console or API t The Serverless infrastructure manages incoming request traffic. In scenarios like sudden traffic spikes or load testing, resources are automatically scaled based on the max scale parameter to handle the load. +## Logging + +Serverless offers a built-in logging system based on cockpit to follow the activity of your ressources: [monitoring Serverless Containers](/serverless/containers/how-to/monitor-container/). + ## Max scale This parameter sets the maximum number of container instances. You should adjust it based on your container's traffic spikes, keeping in mind that you may wish to limit the max scale to manage costs effectively. +## Metrics + +Performances of your Serverless ressources are natively available: [monitoring Serverless Containers](/serverless/containers/how-to/monitor-container/). + ## Min scale Customizing the minimum scale for Serverless can help ensure that an instance remains pre-allocated and ready to handle requests, reducing delays associated with cold starts. However, this setting also impacts the costs of your Serverless Container. @@ -160,6 +168,12 @@ Serverless allows you to deploy your Functions (FaaS) and Containerized Applicat Serverless.com (Serverless Framework) is a tool that allows you to deploy serverless applications without having to manage Serverless Container's API call. Write and deploy a YAML configuration file, everything else is handled automatically, even the image building. +## Serverless Function + +A Serverless Function are serverless, fully managed compute services that allow you to run small, stateless code snippets or functions in response to HTTP requests or events. + +These functions automatically scale based on demand and are designed to be lightweight, event-driven, and easily deployable without worrying about infrastructure management. Functions is built on top of Serverless Containers, meaning you can run your functions packaged in containers and have them scale efficiently. + ## Serverless Job Serverless Jobs are similar to Serverless Containers but are better suited for running longer workloads. See [the comparaison between Serverless products](/serverless/containers/reference-content/difference-jobs-functions-containers) for more information. @@ -184,6 +198,14 @@ A Serverless Container can have the following statuses: * **Pending**: your resource is under deployment. * **Error**: something went wrong during the deployment process. [Check our troubleshooting documentation](/serverless/containers/troubleshooting/cannot-deploy-image) to solve the issue. +## Stateless + +Refers to a system or application that does not maintain any persistent state between executions. In a stateless environment, each request or operation is independent, and no information is retained from previous interactions. + +This means that each request is treated as a new and isolated event, and there is no need for the system to remember previous states or data once a task is completed. Statelessness is commonly used in serverless architectures where each function execution is independent of others. + +To store informations you can use [Scaleway Object Storage](/storage/object/), [Scaleway Managed Databases](/managed-databases/postgresql-and-mysql/), [Scaleway Serverless Databases](/serverless/sql-databases/). + ## Terraform Terraform is a tool for managing infrastructure using code. [Read the Terraform documentation for Serverless Containers](https://registry.terraform.io/providers/scaleway/scaleway/latest/docs/resources/container). diff --git a/serverless/functions/concepts.mdx b/serverless/functions/concepts.mdx index 134ddc89ac..3aec9d83eb 100644 --- a/serverless/functions/concepts.mdx +++ b/serverless/functions/concepts.mdx @@ -12,6 +12,12 @@ categories: - serverless --- +## Build step + +Before deploying a Serverless Functions it has to be built, this step occurs on deployment. + +Once the Function is built into an image, it will be pushed to [Container Registry](#container-registry) + ## Cold Start Cold Start is the time a function takes to handle a request when it is called for the first time. @@ -23,33 +29,67 @@ Startup process steps are: [How to reduce cold starts](/faq/serverless-functions/#how-to-reduce-cold-start-of-serverless-functions) +## Container Registry + +Container Registry is the place where your images of your Serverless Functions are stored before being deployed. + ## CRON trigger A CRON trigger is a mechanism used to automatically invoke a Serverless Function at a specific time on a recurring schedule. It works similarly to a traditional Linux [cron job](https://en.wikipedia.org/wiki/Cron), using the `* * * * *` format, and uses the **UTC** time zone. Refer to our [cron schedules reference](/serverless/functions/reference-content/cron-schedules/) for more information. -## Environment variables +## Custom domain + +By default, a generated endpoint is assigned to your Serverless resource. Custom domains allows you to use your own domain - see our [custom domain documentation](/serverless/functions/how-to/add-a-custom-domain-to-a-function) for full details. -An environment variable is a variable whose value is set outside the program, typically through functionality built into the operating system or microservice. An environment variable is made up of a name/value pair, and any number may be created and available for reference at a point in time. +## Endpoint -## Function +An endpoint is the URL generated to access your resource. It can be customized with [custom domains](#custom-domain). -A function defines a procedure on how to change one element into another. The function remains static, while the variables that pass through it can vary. +## Environment variables + +Environment variables are key/value pairs injected in your container. They are useful to share information such as configurations with your container. Some names are reserved. [See details about reserved names](/serverless/functions/reference-content/functions-limitations/#configuration-restrictions). ## GB-s -Unit used to measure the resource consumption of a function. It reflects the amount of memory consumed over time. +Unit used to measure the resource consumption of a Function. It reflects the amount of memory consumed over time. ## JWT Token -A JWT (JSON Web Token) is an access token you can create from the console or the API to enable an application to access your Private function. +JWT (JSON Web Token) is an access token you can create from the console or API to enable an application to access your private container. [Find out how to secure a Function](/serverless/functions/how-to/secure-a-function/#restrict-access-to-your-functions). ## Handler A handler is a routine/function/method that processes specific events. Upon invoking your function, the handler is executed and returns an output. Refer to our [dedicated documentation](/serverless/functions/reference-content/functions-handlers/) for more information on the structure of a handler. +## Instance + +A Serverless Function instance handles incoming requests based on factors like the request volume, min scale, and max scale parameters. + +## Load balancing + +The Serverless infrastructure manages incoming request traffic. In scenarios like sudden traffic spikes or load testing, resources are automatically scaled based on the max scale parameter to handle the load. + +## Logging + +Serverless offers a built-in logging system based on cockpit to follow the activity of your ressources: [monitoring Serverless Functions](/serverless/functions/how-to/monitor-function/). + +## Max scale + +This parameter sets the maximum number of function instances. You should adjust it based on your function's traffic spikes, keeping in mind that you may wish to limit the max scale to manage costs effectively. + +## Metrics + +Performances of your Serverless ressources are natively available: [monitoring Serverless Functions](/serverless/functions/how-to/monitor-function/)). + +## Min scale + +Customizing the minimum scale for Serverless can help ensure that an instance remains pre-allocated and ready to handle requests, reducing delays associated with cold starts. However, this setting also impacts the costs of your Serverless Function. + ## Namespace -A namespace is a project that allows you to [group your functions](/serverless/functions/how-to/create-manage-delete-functions-namespace/). Functions in the same namespace can share environment variables and access tokens, defined at the namespace level. +A namespace is a project that allows you to [group your functions](/serverless/functions/how-to/create-manage-delete-functions-namespace/). + +Functions in the same namespace can share environment variables and access tokens, defined at the namespace level. ## NATS trigger @@ -62,6 +102,13 @@ The function can then process the message and perform any required actions, such A function's privacy policy defines whether a function may be executed anonymously (**public**) or only via an authentication mechanism provided by the [Scaleway API](https://www.scaleway.com/en/developers/api/serverless-functions/#authentication) (**private**). +## Queue trigger + +A queue trigger is a mechanism that connects a function to a queue created with [Scaleway Queues](/serverless/messaging/concepts/#queues), and invokes the function automatically whenever a message is added to the queue. + +For each message that is sent to a queue, the trigger reads the message and invokes the associated function with the message as the input parameter. +The function can then process the message and perform any required actions, such as updating a database or sending a notification. + ## Runtime The runtime is the execution environment of your function. Regarding Serverless Function, it consists of the languages in which your code is written. @@ -92,20 +139,31 @@ Serverless allows you to deploy your Functions (FaaS) and Containerized Applicat Serverless.com (Serverless Framework) is a tool that enables the deployment of serverless applications without having to manage Serverless Function's API call. Just write your configuration in a YAML and deploy, it handles everything. -## Serverless Functions +## Serverless Function -Serverless Functions simplify deploying applications to the Cloud. They only require you to install a piece of business logic, a “function”, on any cloud platform, which executes it on demand. This allows you to focus on backend code without provisioning or maintaining servers. +A Serverless Function are serverless, fully managed compute services that allow you to run small, stateless code snippets or functions in response to HTTP requests or events. -The platform also handles function availability and manages resource allocation for you. For instance, if the system needs to accommodate 100 simultaneous requests, it allocates 100 (or more) copies of your service. If demand drops to two concurrent requests, it destroys the unneeded ones. +These functions automatically scale based on demand and are designed to be lightweight, event-driven, and easily deployable without worrying about infrastructure management. Functions is built on top of Serverless Containers, meaning you can run your functions packaged in containers and have them scale efficiently. -You pay for the resources your functions use, and only when your functions need them. +## Serverless Job -## Queue trigger +Serverless Jobs are similar to Serverless Functions but are better suited for running longer workloads. See [the comparaison between Serverless products](/serverless/functions/reference-content/difference-jobs-functions-containers) for more information. -A queue trigger is a mechanism that connects a function to a queue created with [Scaleway Queues](/serverless/messaging/concepts/#queues), and invokes the function automatically whenever a message is added to the queue. +## Stateless + +Refers to a system or application that does not maintain any persistent state between executions. In a stateless environment, each request or operation is independent, and no information is retained from previous interactions. + +This means that each request is treated as a new and isolated event, and there is no need for the system to remember previous states or data once a task is completed. Statelessness is commonly used in serverless architectures where each function execution is independent of others. + +To store informations you can use [Scaleway Object Storage](/storage/object/), [Scaleway Managed Databases](/managed-databases/postgresql-and-mysql/), [Scaleway Serverless Databases](/serverless/sql-databases/). + +## Status + +A Serverless Function can have the following statuses: +* **Ready**: your Serverless Function is operational to serve requests. +* **Pending**: your resource is under deployment. +* **Error**: something went wrong during the deployment process or build of the source code to image. [Check our troubleshooting documentation](/serverless/functions/troubleshooting/function-in-error-state/) to solve the issue. -For each message that is sent to a queue, the trigger reads the message and invokes the associated function with the message as the input parameter. -The function can then process the message and perform any required actions, such as updating a database or sending a notification. ## Timeout diff --git a/serverless/jobs/concepts.mdx b/serverless/jobs/concepts.mdx index 096c22c60e..eed947c450 100644 --- a/serverless/jobs/concepts.mdx +++ b/serverless/jobs/concepts.mdx @@ -12,10 +12,9 @@ categories: - serverless --- -## Container image +## Container Registry -A container image is a file that includes all the requirements and instructions of a complete and executable version of an application. -When running a job, the selected image will be pulled to execute your workload. Images can come from public external registries or from the [Scaleway Container Registry](/containers/container-registry/concepts/#container-registry). +Container Registry is the place where your images are stored before being deployed, we recommend using Scaleway Container Registry for optimal integration. [Migration guide](/serverless/containers/api-cli/migrate-external-image-to-scaleway-registry/). ## Environment variables @@ -45,22 +44,46 @@ The name of a job is part of the [job definition](#job-definition) and is used f A job run is the execution of a job definition. It can be in a running, succeeded, canceled, or failed status. Each job run has a unique identifier and can be individually monitored using [Cockpit](/observability/cockpit/quickstart/). +## Logging + +Serverless offers a built-in logging system based on cockpit to follow the activity of your ressources: [monitoring Serverless Jobs](/serverless/jobs/how-to/monitor-job/). + ## Maximum duration The maximum duration option allows you to define the maximum execution time before your job is automatically killed. +## Metrics + +Performances of your Serverless ressources are natively available: [monitoring Serverless Jobs](/serverless/jobs/how-to/monitor-job/). + ## Schedule (cron) A schedule (cron) is a mechanism used to automatically start a Serverless Job at a specific time on a recurring schedule. It works similarly to a traditional Linux cron job, using the `* * * * *` format. Refer to our [cron schedules reference](/serverless/jobs/reference-content/cron-schedules/) for more information. ## Secrets reference -A secret reference is a mechanism that allows you to use a secret stored in [Secret Manager](/identity-and-access-management/secret-manager/) within Serverless Jobs. It allows you to securely reference sensitive data, such as API secret keys, passwords, tokens, or certificates. +A secret reference is a mechanism that allows you to use a secret stored in [Secret Manager](/identity-and-access-management/secret-manager/) within Serverless Jobs. It allows you to securely reference sensitive data, such as API secret keys, passwords, tokens, or certificates. ## Startup command This optional field allows you to specify a custom command executed upon starting your job if your container image does not have one already, or if you use a public container image. +## Status + +A Serverless Job Run can have the following statuses: +* **Succeeded**: your Serverless Job Run finished in a good state. +* **Queued**: your Serverless Job Run is waiting for ressources to run. +* **Error**: your Serverless Job Run finished with an error or timeout. [Check our troubleshooting documentation](/serverless/jobs/troubleshooting/job-in-error-state/) to solve the issue. +* **Canceled**: your Serverless Job Run has been canceled by the user. + +## Stateless + +Refers to a system or application that does not maintain any persistent state between executions. In a stateless environment, each request or operation is independent, and no information is retained from previous interactions. + +This means that each request is treated as a new and isolated event, and there is no need for the system to remember previous states or data once a task is completed. Statelessness is commonly used in serverless architectures where each function execution is independent of others. + +To store informations you can use [Scaleway Object Storage](/storage/object/), [Scaleway Managed Databases](/managed-databases/postgresql-and-mysql/), [Scaleway Serverless Databases](/serverless/sql-databases/). + ## vCPU-s Unit used to measure the resource consumption of a container. It reflects the amount of vCPU used over time. \ No newline at end of file From 97911c3119c2f8d0e89cc73827882e6e558a9c62 Mon Sep 17 00:00:00 2001 From: Thomas Tacquet Date: Fri, 27 Dec 2024 15:48:31 +0100 Subject: [PATCH 02/11] update faq --- faq/serverless-containers.mdx | 28 ++++++++++++++++++++++++++++ faq/serverless-functions.mdx | 20 ++++++++++++++++++++ faq/serverless-jobs.mdx | 16 ++++++++++++++-- 3 files changed, 62 insertions(+), 2 deletions(-) diff --git a/faq/serverless-containers.mdx b/faq/serverless-containers.mdx index 7aaff03bb7..8ded00d3f1 100644 --- a/faq/serverless-containers.mdx +++ b/faq/serverless-containers.mdx @@ -10,6 +10,34 @@ category: serverless productIcon: ContainersProductIcon --- +## What is serverless computing and how does it differ from traditional cloud hosting? + +Serverless computing is a cloud execution model where the cloud provider dynamically manages the allocation of compute resources. Unlike traditional hosting models, you don’t need to provision, scale, or maintain servers. Instead, you focus solely on writing and deploying your code, and the infrastructure scales automatically to meet demand. + +## Why consider using Serverless Containers, Functions or Jobs for my projects? + +These services allow you to build highly scalable, event-driven, and pay-as-you-go solutions. Serverless Containers and Functions help you create applications and microservices without worrying about server management, while Serverless Jobs let you run large-scale, parallel batch processing tasks efficiently. This can lead to faster development cycles, reduced operational overhead, and cost savings. + +## Can I run any application on Serverless Containers? + +Yes. Because Serverless Containers supports any containerized application, you can choose the language, runtime, and framework that best suits your needs. As long as it can run in a container and respond to HTTP requests, Serverless Containers can host it. + +## What are the cost benefits of using serverless services like Serverless Containers? + +With serverless, you only pay for the compute resources you actually use. There are no upfront provisioning costs or paying for idle capacity. When your application traffic is low, the cost scales down, and when traffic spikes, the platform automatically scales up, ensuring you never overpay for unused resources. + +## How does scaling work in these serverless services? + +Scaling in Serverless Containers and Serverless Functions is handled automatically by the platform. When demand increases—more requests or events—the platform spins up additional instances to handle the load. When demand decreases, instances spin down. This ensures optimal performance without manual intervention. + +## How do I integrate my serverless solutions with other Scaleway services? + +Integration is straightforward. Serverless Functions and Containers can be triggered by events from Queues, SQS and SNS and can easily communicate with services like Managed databases or Serverless databases. Serverless Jobs can pull data from Object Storage or output processed results into a database. With managed connectors, APIs, and built-in integrations, linking to the broader Scaleway ecosystem is seamless. + +## Can I migrate existing applications to Serverless Containers? + +Yes. Many traditional applications can be containerized and deployed to Serverless Containers. This makes it easier to modernize legacy systems without a complete rewrite. By moving to a serverless platform, you gain automatic scaling, reduced operational overhead, and a simpler infrastructure management experience. + ## Are applications deployed on Serverless Containers stateless? Yes, all applications deployed on Serverless Containers are stateless. This means the server does not store any state about the client session. Instead, the session data is stored on the client and passed to the server as needed. diff --git a/faq/serverless-functions.mdx b/faq/serverless-functions.mdx index df659c91aa..700507b846 100644 --- a/faq/serverless-functions.mdx +++ b/faq/serverless-functions.mdx @@ -10,6 +10,26 @@ category: serverless productIcon: FunctionsProductIcon --- +## What is serverless computing and how does it differ from traditional cloud hosting? + +Serverless computing is a cloud execution model where the cloud provider dynamically manages the allocation of compute resources. Unlike traditional hosting models, you don’t need to provision, scale, or maintain servers. Instead, you focus solely on writing and deploying your code, and the infrastructure scales automatically to meet demand. + +## Why consider using Serverless Containers, Functions or Jobs for my projects? + +These services allow you to build highly scalable, event-driven, and pay-as-you-go solutions. Serverless Containers and Functions help you create applications and microservices without worrying about server management, while Serverless Jobs let you run large-scale, parallel batch processing tasks efficiently. This can lead to faster development cycles, reduced operational overhead, and cost savings. + +## What are the cost benefits of using serverless services like Serverless Containers and Serverless Functions? + +With serverless, you only pay for the compute resources you actually use. There are no upfront provisioning costs or paying for idle capacity. When your application traffic is low, the cost scales down, and when traffic spikes, the platform automatically scales up, ensuring you never overpay for unused resources. + +## How does scaling work in these serverless services? + +Scaling in Serverless Containers and Serverless Functions is handled automatically by the platform. When demand increases—more requests or events—the platform spins up additional instances to handle the load. When demand decreases, instances spin down. This ensures optimal performance without manual intervention. + +## How do I integrate my serverless solutions with other Scaleway services? + +Integration is straightforward. Serverless Functions and Containers can be triggered by events from Queues, SQS and SNS and can easily communicate with services like Managed databases or Serverless databases. Serverless Jobs can pull data from Object Storage or output processed results into a database. With managed connectors, APIs, and built-in integrations, linking to the broader Scaleway ecosystem is seamless. + ## How am I billed for Serverless Functions? ### Principle diff --git a/faq/serverless-jobs.mdx b/faq/serverless-jobs.mdx index 93d628c219..7cfd71c232 100644 --- a/faq/serverless-jobs.mdx +++ b/faq/serverless-jobs.mdx @@ -10,9 +10,21 @@ category: serverless productIcon: ServerlessJobsProductIcon --- -## What are Serverless Jobs? +## What is serverless computing and how does it differ from traditional cloud hosting? -Scaleway Serverless Jobs is a fully managed service that enables efficient execution of batch computing workloads. It automates management tasks, allowing users to run large-scale batch jobs with ease. +Serverless computing is a cloud execution model where the cloud provider dynamically manages the allocation of compute resources. Unlike traditional hosting models, you don’t need to provision, scale, or maintain servers. Instead, you focus solely on writing and deploying your code, and the infrastructure scales automatically to meet demand. + +## Why consider using Serverless Containers, Functions or Jobs for my projects? + +These services allow you to build highly scalable, event-driven, and pay-as-you-go solutions. Serverless Containers and Functions help you create applications and microservices without worrying about server management, while Serverless Jobs let you run large-scale, parallel batch processing tasks efficiently. This can lead to faster development cycles, reduced operational overhead, and cost savings. + +## What is Serverless Jobs, and when should I use it? + +Serverless Jobs allows you to run large-scale batch processing and computational workloads in a fully managed environment. If you have tasks like data processing, machine learning training jobs, simulations, or large-scale analytics that can be parallelized, Serverless Jobs helps you orchestrate and manage those workloads seamlessly. + +## How do I integrate my serverless solutions with other Scaleway services? + +Integration is straightforward. Serverless Functions and Containers can be triggered by events from Queues, SQS and SNS and can easily communicate with services like Managed databases or Serverless databases. Serverless Jobs can pull data from Object Storage or output processed results into a database. With managed connectors, APIs, and built-in integrations, linking to the broader Scaleway ecosystem is seamless. ## How am I billed for Serverless Jobs? From 2a00bd615a8e3c0ac53933039f0ee3095436c925 Mon Sep 17 00:00:00 2001 From: Thomas Tacquet Date: Fri, 27 Dec 2024 16:34:23 +0100 Subject: [PATCH 03/11] rolling update --- faq/serverless-containers.mdx | 15 +++++++++++++++ faq/serverless-functions.mdx | 15 +++++++++++++++ faq/serverless-jobs.mdx | 6 ++++++ serverless/containers/concepts.mdx | 11 +++++++++++ serverless/functions/concepts.mdx | 11 +++++++++++ 5 files changed, 58 insertions(+) diff --git a/faq/serverless-containers.mdx b/faq/serverless-containers.mdx index 8ded00d3f1..b7700a4202 100644 --- a/faq/serverless-containers.mdx +++ b/faq/serverless-containers.mdx @@ -26,6 +26,21 @@ Yes. Because Serverless Containers supports any containerized application, you c With serverless, you only pay for the compute resources you actually use. There are no upfront provisioning costs or paying for idle capacity. When your application traffic is low, the cost scales down, and when traffic spikes, the platform automatically scales up, ensuring you never overpay for unused resources. +## Does updates of Serverless Containers can cause downtime? + +No, when deploying a new version of your Serverless Container generates a **rolling update**. This means that a new version of the service is gradually +rolled out to your users without downtime. Here is how it works: + +* When a new version of your container is deployed, the platform automatically starts routing traffic to the new version incrementally, while still serving requests from the old version until the new one is fully deployed. +* Once the new version is successfully running, we gradually shifts all traffic to it, ensuring zero downtime. +* The old version is decommissioned once the new version is fully serving traffic. + +This process ensures a seamless update experience, minimizing disruption to users during deployments. If needed, you can also manage traffic splitting between versions during the update process, allowing you to test new versions with a subset of traffic before fully migrating to it. + +## Can I update Serverless Container ressources (vCPU and RAM) at any time? + +Yes, Serverless Containers ressources can be changed at any time without causing downtime, see previous question. + ## How does scaling work in these serverless services? Scaling in Serverless Containers and Serverless Functions is handled automatically by the platform. When demand increases—more requests or events—the platform spins up additional instances to handle the load. When demand decreases, instances spin down. This ensures optimal performance without manual intervention. diff --git a/faq/serverless-functions.mdx b/faq/serverless-functions.mdx index 700507b846..aaeae7336e 100644 --- a/faq/serverless-functions.mdx +++ b/faq/serverless-functions.mdx @@ -26,6 +26,21 @@ With serverless, you only pay for the compute resources you actually use. There Scaling in Serverless Containers and Serverless Functions is handled automatically by the platform. When demand increases—more requests or events—the platform spins up additional instances to handle the load. When demand decreases, instances spin down. This ensures optimal performance without manual intervention. +## Does updates of Serverless Function can cause downtime? + +No, when deploying a new version of your Serverless Function generates a **rolling update**. This means that a new version of the service is gradually +rolled out to your users without downtime. Here is how it works: + +* When a new version of your function is deployed, the platform automatically starts routing traffic to the new version incrementally, while still serving requests from the old version until the new one is fully deployed. +* Once the new version is successfully running, we gradually shifts all traffic to it, ensuring zero downtime. +* The old version is decommissioned once the new version is fully serving traffic. + +This process ensures a seamless update experience, minimizing disruption to users during deployments. If needed, you can also manage traffic splitting between versions during the update process, allowing you to test new versions with a subset of traffic before fully migrating to it. + +## Can I update Serverless Function ressources (vCPU and RAM) at any time? + +Yes, Serverless Functions ressources can be changed at any time without causing downtime, see previous question. + ## How do I integrate my serverless solutions with other Scaleway services? Integration is straightforward. Serverless Functions and Containers can be triggered by events from Queues, SQS and SNS and can easily communicate with services like Managed databases or Serverless databases. Serverless Jobs can pull data from Object Storage or output processed results into a database. With managed connectors, APIs, and built-in integrations, linking to the broader Scaleway ecosystem is seamless. diff --git a/faq/serverless-jobs.mdx b/faq/serverless-jobs.mdx index 7cfd71c232..f4fa3beb4b 100644 --- a/faq/serverless-jobs.mdx +++ b/faq/serverless-jobs.mdx @@ -26,6 +26,12 @@ Serverless Jobs allows you to run large-scale batch processing and computational Integration is straightforward. Serverless Functions and Containers can be triggered by events from Queues, SQS and SNS and can easily communicate with services like Managed databases or Serverless databases. Serverless Jobs can pull data from Object Storage or output processed results into a database. With managed connectors, APIs, and built-in integrations, linking to the broader Scaleway ecosystem is seamless. +## Can I update Serverless Jobs ressources (vCPU and RAM) at any time? + +Yes, ressources of your Job Definition can be updated at any time. + +Ongoing Job Runs will remain using the ressources definied at the time it started. + ## How am I billed for Serverless Jobs? ### Principles diff --git a/serverless/containers/concepts.mdx b/serverless/containers/concepts.mdx index 1ce9d6ab82..8a891c057f 100644 --- a/serverless/containers/concepts.mdx +++ b/serverless/containers/concepts.mdx @@ -185,6 +185,17 @@ A queue trigger is a mechanism that connects a container to a queue created with For each message that is sent to a queue, the trigger reads the message and invokes the associated container with the message as the input parameter. The container can then process the message and perform any required actions, such as updating a database or sending a notification. +## Rolling update + +When deploying a new version of a Serverless Container, a rolling update happens by default. This means that the new version of the service is gradually rolled out to your users without downtime. +Here is how it works: + +* When a new version of your container is deployed, the platform automatically starts routing traffic to the new version incrementally, while still serving requests from the old version until the new one is fully deployed. +* Once the new version is successfully running, we gradually shifts all traffic to it, ensuring zero downtime. +* The old version is decommissioned once the new version is fully serving traffic. + +This process ensures a seamless update experience, minimizing disruption to users during deployments. If needed, you can also manage traffic splitting between versions during the update process, allowing you to test new versions with a subset of traffic before fully migrating to it + ## Stateless application A stateless application is a computer program that does not save client data between sessions. Data generated in one session is not saved for use in the next session with that client. diff --git a/serverless/functions/concepts.mdx b/serverless/functions/concepts.mdx index 3aec9d83eb..7bcc72e983 100644 --- a/serverless/functions/concepts.mdx +++ b/serverless/functions/concepts.mdx @@ -109,6 +109,17 @@ A queue trigger is a mechanism that connects a function to a queue created with For each message that is sent to a queue, the trigger reads the message and invokes the associated function with the message as the input parameter. The function can then process the message and perform any required actions, such as updating a database or sending a notification. +## Rolling update + +hen deploying a new version of a Serverless Function, a rolling update happens by default. This means that the new version of the service is gradually rolled out to your users without downtime. +Here is how it works: + +* When a new version of your function is deployed, the platform automatically starts routing traffic to the new version incrementally, while still serving requests from the old version until the new one is fully deployed. +* Once the new version is successfully running, we gradually shifts all traffic to it, ensuring zero downtime. +* The old version is decommissioned once the new version is fully serving traffic. + +This process ensures a seamless update experience, minimizing disruption to users during deployments. If needed, you can also manage traffic splitting between versions during the update process, allowing you to test new versions with a subset of traffic before fully migrating to it. + ## Runtime The runtime is the execution environment of your function. Regarding Serverless Function, it consists of the languages in which your code is written. From 9644a54e547973f721e502038250c73b11263f35 Mon Sep 17 00:00:00 2001 From: Thomas Tacquet Date: Fri, 27 Dec 2024 16:56:29 +0100 Subject: [PATCH 04/11] more faq entries --- faq/serverless-containers.mdx | 26 +++++++++++++++- faq/serverless-functions.mdx | 24 +++++++++++++++ faq/serverless-jobs.mdx | 24 +++++++++++++++ serverless/containers/concepts.mdx | 4 +++ .../containers-limitations.mdx | 30 ++++++++++--------- .../functions-limitations.mdx | 12 ++++---- 6 files changed, 100 insertions(+), 20 deletions(-) diff --git a/faq/serverless-containers.mdx b/faq/serverless-containers.mdx index b7700a4202..df9e16a2fd 100644 --- a/faq/serverless-containers.mdx +++ b/faq/serverless-containers.mdx @@ -186,4 +186,28 @@ solutions like Scaleway Object Storage. ## Why does my container have an instance running after deployment, even with min-scale 0? Currently, a new container instance will always start after each deployment, even if there is no traffic and the minimum -scale is set to 0. This behavior is not configurable at this time. \ No newline at end of file +scale is set to 0. This behavior is not configurable at this time. + +## How can I store data in my Serverless ressource? + +Serverless ressources are by default [stateless](/serverless/containers/concepts/#stateless), local storage is ephemeral. + +In different use cases like saving results of analysis, exporting data etc... it can be important to save data. Serverless ressources can be connected to ressources from the Scaleway ecosystem. + +### Databases + +* **Serverless Databases**: Go full serverless and take the complexity out of PostgreSQL database operations. +* **Managed MySQL / PostgreSQL**: Ensure scalability of your infrastructure and storage with our new generation of Managed Databases designed to scale on-demand according to your needs. +* **Managed Database for Redis®**: Fully managed Redis®* in seconds. +* **Managed MongoDB®**: Get the best of MongoDB® and Scaleway in one database. + +### Storage + +* **Object storage**: Multi-AZ resilient object storage service ensuring high availability for your data. +* **Scaleway Glacier**: Our outstanding Cold Storage class to secure long-term object storage. Ideal for deep archived data. + + +Explore all Scaleway products on the console and select the right product for your use case. + +Some products are not listed but for example, on specific use cases Secret Manager can help you to store informations that requires versionning. + diff --git a/faq/serverless-functions.mdx b/faq/serverless-functions.mdx index aaeae7336e..492a9242f5 100644 --- a/faq/serverless-functions.mdx +++ b/faq/serverless-functions.mdx @@ -219,3 +219,27 @@ solutions like Scaleway Object Storage. Currently, a new function instance will always start after each deployment, even if there is no traffic and the minimum scale is set to 0. This behavior is not configurable at this time. + +## How can I store data in my Serverless ressource? + +Serverless ressources are by default [stateless](/serverless/functions/concepts/#stateless), local storage is ephemeral. + +In different use cases like saving results of analysis, exporting data etc... it can be important to save data. Serverless ressources can be connected to ressources from the Scaleway ecosystem. + +### Databases + +* **Serverless Databases**: Go full serverless and take the complexity out of PostgreSQL database operations. +* **Managed MySQL / PostgreSQL**: Ensure scalability of your infrastructure and storage with our new generation of Managed Databases designed to scale on-demand according to your needs. +* **Managed Database for Redis®**: Fully managed Redis®* in seconds. +* **Managed MongoDB®**: Get the best of MongoDB® and Scaleway in one database. + +### Storage + +* **Object storage**: Multi-AZ resilient object storage service ensuring high availability for your data. +* **Scaleway Glacier**: Our outstanding Cold Storage class to secure long-term object storage. Ideal for deep archived data. + + +Explore all Scaleway products on the console and select the right product for your use case. + +Some products are not listed but for example, on specific use cases Secret Manager can help you to store informations that requires versionning. + \ No newline at end of file diff --git a/faq/serverless-jobs.mdx b/faq/serverless-jobs.mdx index f4fa3beb4b..0f2663c607 100644 --- a/faq/serverless-jobs.mdx +++ b/faq/serverless-jobs.mdx @@ -142,3 +142,27 @@ To add network restrictions on your resource, consult the [list of prefixes used ## Can I securely use sensitive information with Serverless Jobs? Yes, you can use sensitive data such as API secret keys, passwords, TLS/SSL certificates, or tokens. Serverless Jobs seamlessly integrates with [Secret Manager](/identity-and-access-management/secret-manager/), which allows you to securely reference sensitive information within your jobs. Refer to the [dedicated documentation](/serverless/jobs/how-to/reference-secret-in-job/) for more information. + +## How can I store data in my Serverless ressource? + +Serverless ressources are by default [stateless](/serverless/functions/concepts/#stateless), local storage is ephemeral. + +In different use cases like saving results of analysis, exporting data etc... it can be important to save data. Serverless ressources can be connected to ressources from the Scaleway ecosystem. + +### Databases + +* **Serverless Databases**: Go full serverless and take the complexity out of PostgreSQL database operations. +* **Managed MySQL / PostgreSQL**: Ensure scalability of your infrastructure and storage with our new generation of Managed Databases designed to scale on-demand according to your needs. +* **Managed Database for Redis®**: Fully managed Redis®* in seconds. +* **Managed MongoDB®**: Get the best of MongoDB® and Scaleway in one database. + +### Storage + +* **Object storage**: Multi-AZ resilient object storage service ensuring high availability for your data. +* **Scaleway Glacier**: Our outstanding Cold Storage class to secure long-term object storage. Ideal for deep archived data. + + +Explore all Scaleway products on the console and select the right product for your use case. + +Some products are not listed but for example, on specific use cases Secret Manager can help you to store informations that requires versionning. + \ No newline at end of file diff --git a/serverless/containers/concepts.mdx b/serverless/containers/concepts.mdx index 8a891c057f..9c6ff61955 100644 --- a/serverless/containers/concepts.mdx +++ b/serverless/containers/concepts.mdx @@ -134,6 +134,10 @@ The port parameter specifies the network port that your container listens on for The value defined in the port parameter will then be passed to your container during the deployment inside the `PORT` environment variable. + +Only one HTTP port can be exposed per Serverless Container. + + ## Privacy policy A container's privacy policy defines whether a container may be invoked anonymously (**public**) or only via an authentication mechanism provided by the [Scaleway API](https://www.scaleway.com/en/developers/api/serverless-containers/#authentication) (**private**). diff --git a/serverless/containers/reference-content/containers-limitations.mdx b/serverless/containers/reference-content/containers-limitations.mdx index 343fb7100d..2068689671 100644 --- a/serverless/containers/reference-content/containers-limitations.mdx +++ b/serverless/containers/reference-content/containers-limitations.mdx @@ -52,20 +52,22 @@ During the execution of the container, if the limits are exceeded, a restart occ In order to ensure the proper functioning of the product, we restrict the use of certain ports and environment variables -* Blocked ports: - * **25**: Due to potential abuse (spam), no outbound traffic is allowed through this port, except from Scaleway Transactional Email SMTP servers. - * **465**: Due to potential abuse (spam), no outbound traffic is allowed through this port, except from Scaleway Transactional Email SMTP servers. -* Unavailable custom ports - Do not make your containers listen on these ports which are used by our service. - * 8008 - * 8012 - * 8013 - * 8022 - * 9090 - * 9091 -* Reserved environment variables: - * `PORT`: Value of the port defined in the Container settings, which the container has to listen on. You can use this environment variable inside your Container for easier deployments. - * `SCW_*`: Reserved for product configuration (for example: token validation) +### Blocked ports: +* **25**: Due to potential abuse (spam), no outbound traffic is allowed through this port, except from Scaleway Transactional Email SMTP servers. +* **465**: Due to potential abuse (spam), no outbound traffic is allowed through this port, except from Scaleway Transactional Email SMTP servers. + +### Unavailable custom ports +Do not make your containers listen on these ports which are used by our service. +* 8008 +* 8012 +* 8013 +* 8022 +* 9090 +* 9091 + +### Reserved environment variables +* `PORT`: Value of the port defined in the Container settings, which the container has to listen on. You can use this environment variable inside your Container for easier deployments. +* `SCW_*`: Reserved for product configuration (for example: token validation) ## Default values for CPU and memory limits diff --git a/serverless/functions/reference-content/functions-limitations.mdx b/serverless/functions/reference-content/functions-limitations.mdx index 61ee48c16c..04261b4fe5 100644 --- a/serverless/functions/reference-content/functions-limitations.mdx +++ b/serverless/functions/reference-content/functions-limitations.mdx @@ -50,11 +50,13 @@ If the limits are exceeded during the execution of the function, a restart occur To ensure the proper functioning of the product, we restrict the use of certain ports and environment variables. -* Blocked ports: - * **25**: Due to potential abuse (spam), no outbound traffic is allowed through this port, except from Scaleway Transactional Email SMTP servers. - * **465**: Due to potential abuse (spam), no outbound traffic is allowed through this port, except from Scaleway Transactional Email SMTP servers. -* Reserved environment variables: - * `SCW_*`: Reserved for product configuration (for example: token validation). +### Blocked ports + +* **25**: Due to potential abuse (spam), no outbound traffic is allowed through this port, except from Scaleway Transactional Email SMTP servers. +* **465**: Due to potential abuse (spam), no outbound traffic is allowed through this port, except from Scaleway Transactional Email SMTP servers. + +### Reserved environment variables: +* `SCW_*`: Reserved for product configuration (for example: token validation). ## Versioning and rollback From 2c21869461a05a264d38691f8b492ab55f96b4c2 Mon Sep 17 00:00:00 2001 From: Thomas Tacquet Date: Fri, 27 Dec 2024 17:20:21 +0100 Subject: [PATCH 05/11] opti blocked ports --- .../reference-content/containers-limitations.mdx | 9 ++++++--- .../reference-content/functions-limitations.mdx | 6 ++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/serverless/containers/reference-content/containers-limitations.mdx b/serverless/containers/reference-content/containers-limitations.mdx index 2068689671..80e46eb882 100644 --- a/serverless/containers/reference-content/containers-limitations.mdx +++ b/serverless/containers/reference-content/containers-limitations.mdx @@ -52,9 +52,12 @@ During the execution of the container, if the limits are exceeded, a restart occ In order to ensure the proper functioning of the product, we restrict the use of certain ports and environment variables -### Blocked ports: -* **25**: Due to potential abuse (spam), no outbound traffic is allowed through this port, except from Scaleway Transactional Email SMTP servers. -* **465**: Due to potential abuse (spam), no outbound traffic is allowed through this port, except from Scaleway Transactional Email SMTP servers. +### Blocked ports + +Due to potential abuse (spam), no outbound traffic is allowed through following ports, except from Scaleway Transactional Email SMTP servers. + +* **25** +* **465** ### Unavailable custom ports Do not make your containers listen on these ports which are used by our service. diff --git a/serverless/functions/reference-content/functions-limitations.mdx b/serverless/functions/reference-content/functions-limitations.mdx index 04261b4fe5..7c19e236d8 100644 --- a/serverless/functions/reference-content/functions-limitations.mdx +++ b/serverless/functions/reference-content/functions-limitations.mdx @@ -52,8 +52,10 @@ To ensure the proper functioning of the product, we restrict the use of certain ### Blocked ports -* **25**: Due to potential abuse (spam), no outbound traffic is allowed through this port, except from Scaleway Transactional Email SMTP servers. -* **465**: Due to potential abuse (spam), no outbound traffic is allowed through this port, except from Scaleway Transactional Email SMTP servers. +Due to potential abuse (spam), no outbound traffic is allowed through following ports, except from Scaleway Transactional Email SMTP servers. + +* **25** +* **465** ### Reserved environment variables: * `SCW_*`: Reserved for product configuration (for example: token validation). From dc10b9459f1f5919aa3c4b220653e02d56e9f9fa Mon Sep 17 00:00:00 2001 From: Thomas TACQUET Date: Mon, 30 Dec 2024 15:50:30 +0100 Subject: [PATCH 06/11] Apply suggestions from code review Co-authored-by: Jessica <113192637+jcirinosclwy@users.noreply.github.com> Co-authored-by: Rowena Jones <36301604+RoRoJ@users.noreply.github.com> --- faq/serverless-containers.mdx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/faq/serverless-containers.mdx b/faq/serverless-containers.mdx index df9e16a2fd..6f5519945b 100644 --- a/faq/serverless-containers.mdx +++ b/faq/serverless-containers.mdx @@ -10,13 +10,13 @@ category: serverless productIcon: ContainersProductIcon --- -## What is serverless computing and how does it differ from traditional cloud hosting? +## What is serverless computing, and how does it differ from traditional cloud hosting? -Serverless computing is a cloud execution model where the cloud provider dynamically manages the allocation of compute resources. Unlike traditional hosting models, you don’t need to provision, scale, or maintain servers. Instead, you focus solely on writing and deploying your code, and the infrastructure scales automatically to meet demand. +Serverless computing is a cloud execution model where the cloud provider dynamically manages the allocation of compute resources. Unlike traditional hosting models, you do not need to provision, scale, or maintain servers. Instead, you focus solely on writing and deploying your code, and the infrastructure scales automatically to meet demand. -## Why consider using Serverless Containers, Functions or Jobs for my projects? +## Why consider using Serverless Containers, Functions, or Jobs for my projects? -These services allow you to build highly scalable, event-driven, and pay-as-you-go solutions. Serverless Containers and Functions help you create applications and microservices without worrying about server management, while Serverless Jobs let you run large-scale, parallel batch processing tasks efficiently. This can lead to faster development cycles, reduced operational overhead, and cost savings. +These services allow you to build highly scalable, event-driven, and pay-as-you-go solutions. Serverless Containers and Functions help you create applications and microservices without worrying about server management, while Serverless Jobs lets you run large-scale, parallel batch-processing tasks efficiently. This can lead to faster development cycles, reduced operational overhead, and cost savings. ## Can I run any application on Serverless Containers? @@ -24,20 +24,20 @@ Yes. Because Serverless Containers supports any containerized application, you c ## What are the cost benefits of using serverless services like Serverless Containers? -With serverless, you only pay for the compute resources you actually use. There are no upfront provisioning costs or paying for idle capacity. When your application traffic is low, the cost scales down, and when traffic spikes, the platform automatically scales up, ensuring you never overpay for unused resources. +With serverless, you only pay for the computing resources you use. There are no upfront provisioning costs or paying for idle capacity. When your application traffic is low, the cost scales down, and when traffic spikes, the platform automatically scales up, ensuring you never overpay for unused resources. -## Does updates of Serverless Containers can cause downtime? +## Can updates of Serverless Containers cause downtime? -No, when deploying a new version of your Serverless Container generates a **rolling update**. This means that a new version of the service is gradually +No, deploying a new version of your Serverless Container generates a **rolling update**. This means that a new version of the service is gradually rolled out to your users without downtime. Here is how it works: * When a new version of your container is deployed, the platform automatically starts routing traffic to the new version incrementally, while still serving requests from the old version until the new one is fully deployed. -* Once the new version is successfully running, we gradually shifts all traffic to it, ensuring zero downtime. +* Once the new version is successfully running, we gradually shift all traffic to it, ensuring zero downtime. * The old version is decommissioned once the new version is fully serving traffic. -This process ensures a seamless update experience, minimizing disruption to users during deployments. If needed, you can also manage traffic splitting between versions during the update process, allowing you to test new versions with a subset of traffic before fully migrating to it. +This process ensures a seamless update experience, minimizing user disruption during deployments. If needed, you can also manage traffic splitting between versions during the update process, allowing you to test new versions with a subset of traffic before fully migrating to it. -## Can I update Serverless Container ressources (vCPU and RAM) at any time? +## Can I upgrade Serverless Container resources (vCPU and RAM) at any time? Yes, Serverless Containers ressources can be changed at any time without causing downtime, see previous question. From 670b8897c76024709635019f4ce6779c7c2b3a1d Mon Sep 17 00:00:00 2001 From: Thomas TACQUET Date: Mon, 30 Dec 2024 15:51:25 +0100 Subject: [PATCH 07/11] Apply suggestions from code review Co-authored-by: Rowena Jones <36301604+RoRoJ@users.noreply.github.com> Co-authored-by: Jessica <113192637+jcirinosclwy@users.noreply.github.com> --- faq/serverless-containers.mdx | 28 ++++++++++++++-------------- faq/serverless-functions.mdx | 18 +++++++++--------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/faq/serverless-containers.mdx b/faq/serverless-containers.mdx index 6f5519945b..d16078b58d 100644 --- a/faq/serverless-containers.mdx +++ b/faq/serverless-containers.mdx @@ -39,15 +39,15 @@ This process ensures a seamless update experience, minimizing user disruption du ## Can I upgrade Serverless Container resources (vCPU and RAM) at any time? -Yes, Serverless Containers ressources can be changed at any time without causing downtime, see previous question. +Yes, Serverless Containers resources can be changed at any time without causing downtime - see the previous question for full details. ## How does scaling work in these serverless services? -Scaling in Serverless Containers and Serverless Functions is handled automatically by the platform. When demand increases—more requests or events—the platform spins up additional instances to handle the load. When demand decreases, instances spin down. This ensures optimal performance without manual intervention. +Scaling in Serverless Containers and Serverless Functions is handled automatically by the platform. When demand increases - more requests or events - the platform spins up additional instances to handle the load. When demand decreases, instances spin down. This ensures optimal performance without manual intervention. ## How do I integrate my serverless solutions with other Scaleway services? -Integration is straightforward. Serverless Functions and Containers can be triggered by events from Queues, SQS and SNS and can easily communicate with services like Managed databases or Serverless databases. Serverless Jobs can pull data from Object Storage or output processed results into a database. With managed connectors, APIs, and built-in integrations, linking to the broader Scaleway ecosystem is seamless. +Integration is straightforward. Serverless Functions and Containers can be triggered by events from [Queues](/serverless/messaging/concepts/#queues) and [Topics and Events](/serverless/messaging/concepts/#topics-and-events), and can easily communicate with services like [Managed Databases](/managed-databases/) or [Serverless databases](/serverless/sql-databases/). [Serverless Jobs](/serverless/jobs/) can pull data from [Object Storage](/storage/object), or output processed results into a database. With managed connectors, APIs, and built-in integrations, linking to the broader Scaleway ecosystem is seamless. ## Can I migrate existing applications to Serverless Containers? @@ -188,26 +188,26 @@ solutions like Scaleway Object Storage. Currently, a new container instance will always start after each deployment, even if there is no traffic and the minimum scale is set to 0. This behavior is not configurable at this time. -## How can I store data in my Serverless ressource? +## How can I store data in my Serverless resource? -Serverless ressources are by default [stateless](/serverless/containers/concepts/#stateless), local storage is ephemeral. +Serverless resources are by default [stateless](/serverless/containers/concepts/#stateless), local storage is ephemeral. -In different use cases like saving results of analysis, exporting data etc... it can be important to save data. Serverless ressources can be connected to ressources from the Scaleway ecosystem. +For some use cases, such as saving analysis results, exporting data etc., it can be important to save data. Serverless resources can be connected to other resources from the Scaleway ecosystem for this purpose: ### Databases -* **Serverless Databases**: Go full serverless and take the complexity out of PostgreSQL database operations. -* **Managed MySQL / PostgreSQL**: Ensure scalability of your infrastructure and storage with our new generation of Managed Databases designed to scale on-demand according to your needs. -* **Managed Database for Redis®**: Fully managed Redis®* in seconds. -* **Managed MongoDB®**: Get the best of MongoDB® and Scaleway in one database. +* [Serverless Databases](/serverless/sql-databases/): Go full serverless and take the complexity out of PostgreSQL database operations. +* [Managed MySQL / PostgreSQL](/managed-databases/postgresql-and-mysql/): Ensure scalability of your infrastructure and storage with our new generation of Managed Databases designed to scale on-demand according to your needs. +* [Managed Database for Redis®](/managed-databases/redis/): Fully managed Redis®* in seconds. +* [Managed MongoDB®](/managed-databases/mongodb/): Get the best of MongoDB® and Scaleway in one database. ### Storage -* **Object storage**: Multi-AZ resilient object storage service ensuring high availability for your data. -* **Scaleway Glacier**: Our outstanding Cold Storage class to secure long-term object storage. Ideal for deep archived data. +* [Object Storage](/storage/object/): Multi-AZ resilient object storage service ensuring high availability for your data. +* [Scaleway Glacier](/storage/object/): Our outstanding Cold Storage class to secure long-term object storage. Ideal for deep archived data. -Explore all Scaleway products on the console and select the right product for your use case. +Explore all Scaleway products in the console and select the right product for your use case. -Some products are not listed but for example, on specific use cases Secret Manager can help you to store informations that requires versionning. +Further integrations are also possible even if not listed above, for example, [Secret Manager](/identity-and-access-management/secret-manager/) can help you to store information that requires versioning. diff --git a/faq/serverless-functions.mdx b/faq/serverless-functions.mdx index 492a9242f5..f8e6bed923 100644 --- a/faq/serverless-functions.mdx +++ b/faq/serverless-functions.mdx @@ -10,13 +10,13 @@ category: serverless productIcon: FunctionsProductIcon --- -## What is serverless computing and how does it differ from traditional cloud hosting? +## What is serverless computing, and how does it differ from traditional cloud hosting? Serverless computing is a cloud execution model where the cloud provider dynamically manages the allocation of compute resources. Unlike traditional hosting models, you don’t need to provision, scale, or maintain servers. Instead, you focus solely on writing and deploying your code, and the infrastructure scales automatically to meet demand. -## Why consider using Serverless Containers, Functions or Jobs for my projects? +## Why consider using Serverless Containers, Functions, or Jobs for my projects? -These services allow you to build highly scalable, event-driven, and pay-as-you-go solutions. Serverless Containers and Functions help you create applications and microservices without worrying about server management, while Serverless Jobs let you run large-scale, parallel batch processing tasks efficiently. This can lead to faster development cycles, reduced operational overhead, and cost savings. +These services allow you to build highly scalable, event-driven, and pay-as-you-go solutions. Serverless Containers and Functions help you create applications and microservices without worrying about server management, while Serverless Jobs lets you run large-scale, parallel batch-processing tasks efficiently. This can lead to faster development cycles, reduced operational overhead, and cost savings. ## What are the cost benefits of using serverless services like Serverless Containers and Serverless Functions? @@ -26,20 +26,20 @@ With serverless, you only pay for the compute resources you actually use. There Scaling in Serverless Containers and Serverless Functions is handled automatically by the platform. When demand increases—more requests or events—the platform spins up additional instances to handle the load. When demand decreases, instances spin down. This ensures optimal performance without manual intervention. -## Does updates of Serverless Function can cause downtime? +## Can updates of Serverless Function cause downtime? -No, when deploying a new version of your Serverless Function generates a **rolling update**. This means that a new version of the service is gradually +No, deploying a new version of your Serverless Function generates a **rolling update**. This means that a new version of the service is gradually rolled out to your users without downtime. Here is how it works: * When a new version of your function is deployed, the platform automatically starts routing traffic to the new version incrementally, while still serving requests from the old version until the new one is fully deployed. -* Once the new version is successfully running, we gradually shifts all traffic to it, ensuring zero downtime. +* Once the new version is successfully running, we gradually shift all traffic to it, ensuring zero downtime. * The old version is decommissioned once the new version is fully serving traffic. -This process ensures a seamless update experience, minimizing disruption to users during deployments. If needed, you can also manage traffic splitting between versions during the update process, allowing you to test new versions with a subset of traffic before fully migrating to it. +This process ensures a seamless update experience, minimizing disruption to users during deployments. If needed, you can also manage traffic splitting between versions during the update process, allowing you to test new versions with a subset of traffic before fully migrating to them. -## Can I update Serverless Function ressources (vCPU and RAM) at any time? +## Can I upgrade Serverless Function resources (vCPU and RAM) at any time? -Yes, Serverless Functions ressources can be changed at any time without causing downtime, see previous question. +Yes, Serverless Functions resources can be changed at any time without causing downtime, see the previous question for full details. ## How do I integrate my serverless solutions with other Scaleway services? From 4fd1aade3c46fb181a95401b0bcf181cf1d07790 Mon Sep 17 00:00:00 2001 From: Thomas TACQUET Date: Mon, 30 Dec 2024 15:52:21 +0100 Subject: [PATCH 08/11] Apply suggestions from code review Co-authored-by: Rowena Jones <36301604+RoRoJ@users.noreply.github.com> Co-authored-by: Jessica <113192637+jcirinosclwy@users.noreply.github.com> --- faq/serverless-functions.mdx | 10 +++++----- faq/serverless-jobs.mdx | 22 +++++++++++----------- serverless/containers/concepts.mdx | 12 ++++++------ 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/faq/serverless-functions.mdx b/faq/serverless-functions.mdx index f8e6bed923..73a633674c 100644 --- a/faq/serverless-functions.mdx +++ b/faq/serverless-functions.mdx @@ -220,11 +220,11 @@ solutions like Scaleway Object Storage. Currently, a new function instance will always start after each deployment, even if there is no traffic and the minimum scale is set to 0. This behavior is not configurable at this time. -## How can I store data in my Serverless ressource? +## How can I store data in my Serverless resource? -Serverless ressources are by default [stateless](/serverless/functions/concepts/#stateless), local storage is ephemeral. +Serverless resources are by default [stateless](/serverless/functions/concepts/#stateless), local storage is ephemeral. -In different use cases like saving results of analysis, exporting data etc... it can be important to save data. Serverless ressources can be connected to ressources from the Scaleway ecosystem. +For some use cases, such as saving analysis results, exporting data etc., it can be important to save data. Serverless resources can be connected to other resources from the Scaleway ecosystem for this purpose: ### Databases @@ -235,11 +235,11 @@ In different use cases like saving results of analysis, exporting data etc... it ### Storage -* **Object storage**: Multi-AZ resilient object storage service ensuring high availability for your data. +* **Object Storage**: Multi-AZ resilient object storage service ensuring high availability for your data. * **Scaleway Glacier**: Our outstanding Cold Storage class to secure long-term object storage. Ideal for deep archived data. Explore all Scaleway products on the console and select the right product for your use case. -Some products are not listed but for example, on specific use cases Secret Manager can help you to store informations that requires versionning. +Some products are not listed but for example, on specific use cases Secret Manager can help you to store informations that requires versioning. \ No newline at end of file diff --git a/faq/serverless-jobs.mdx b/faq/serverless-jobs.mdx index 0f2663c607..98b900cb88 100644 --- a/faq/serverless-jobs.mdx +++ b/faq/serverless-jobs.mdx @@ -10,13 +10,13 @@ category: serverless productIcon: ServerlessJobsProductIcon --- -## What is serverless computing and how does it differ from traditional cloud hosting? +## What is serverless computing, and how does it differ from traditional cloud hosting? Serverless computing is a cloud execution model where the cloud provider dynamically manages the allocation of compute resources. Unlike traditional hosting models, you don’t need to provision, scale, or maintain servers. Instead, you focus solely on writing and deploying your code, and the infrastructure scales automatically to meet demand. -## Why consider using Serverless Containers, Functions or Jobs for my projects? +## Why consider using Serverless Containers, Functions, or Jobs for my projects? -These services allow you to build highly scalable, event-driven, and pay-as-you-go solutions. Serverless Containers and Functions help you create applications and microservices without worrying about server management, while Serverless Jobs let you run large-scale, parallel batch processing tasks efficiently. This can lead to faster development cycles, reduced operational overhead, and cost savings. +These services allow you to build highly scalable, event-driven, and pay-as-you-go solutions. Serverless Containers and Functions help you create applications and microservices without worrying about server management, while Serverless Jobs lets you run large-scale, parallel batch-processing tasks efficiently. This can lead to faster development cycles, reduced operational overhead, and cost savings. ## What is Serverless Jobs, and when should I use it? @@ -26,11 +26,11 @@ Serverless Jobs allows you to run large-scale batch processing and computational Integration is straightforward. Serverless Functions and Containers can be triggered by events from Queues, SQS and SNS and can easily communicate with services like Managed databases or Serverless databases. Serverless Jobs can pull data from Object Storage or output processed results into a database. With managed connectors, APIs, and built-in integrations, linking to the broader Scaleway ecosystem is seamless. -## Can I update Serverless Jobs ressources (vCPU and RAM) at any time? +## Can I update Serverless Jobs resources (vCPU and RAM) at any time? -Yes, ressources of your Job Definition can be updated at any time. +Yes, resources of your Job Definition can be updated at any time. -Ongoing Job Runs will remain using the ressources definied at the time it started. +Ongoing Job Runs will remain using the resources definied at the time it started. ## How am I billed for Serverless Jobs? @@ -143,11 +143,11 @@ To add network restrictions on your resource, consult the [list of prefixes used Yes, you can use sensitive data such as API secret keys, passwords, TLS/SSL certificates, or tokens. Serverless Jobs seamlessly integrates with [Secret Manager](/identity-and-access-management/secret-manager/), which allows you to securely reference sensitive information within your jobs. Refer to the [dedicated documentation](/serverless/jobs/how-to/reference-secret-in-job/) for more information. -## How can I store data in my Serverless ressource? +## How can I store data in my Serverless resource? -Serverless ressources are by default [stateless](/serverless/functions/concepts/#stateless), local storage is ephemeral. +Serverless resources are by default [stateless](/serverless/functions/concepts/#stateless), local storage is ephemeral. -In different use cases like saving results of analysis, exporting data etc... it can be important to save data. Serverless ressources can be connected to ressources from the Scaleway ecosystem. +In different use cases, such as saving analysis results and exporting data, it can be important to save data. Serverless resources can be connected to resources from the Scaleway ecosystem. ### Databases @@ -158,11 +158,11 @@ In different use cases like saving results of analysis, exporting data etc... it ### Storage -* **Object storage**: Multi-AZ resilient object storage service ensuring high availability for your data. +* **Object Storage**: Multi-AZ resilient object storage service ensuring high availability for your data. * **Scaleway Glacier**: Our outstanding Cold Storage class to secure long-term object storage. Ideal for deep archived data. Explore all Scaleway products on the console and select the right product for your use case. -Some products are not listed but for example, on specific use cases Secret Manager can help you to store informations that requires versionning. +Some products are not listed but for example, on specific use cases Secret Manager can help you to store informations that requires versioning. \ No newline at end of file diff --git a/serverless/containers/concepts.mdx b/serverless/containers/concepts.mdx index 9c6ff61955..62a18d0d41 100644 --- a/serverless/containers/concepts.mdx +++ b/serverless/containers/concepts.mdx @@ -97,7 +97,7 @@ The Serverless infrastructure manages incoming request traffic. In scenarios lik ## Logging -Serverless offers a built-in logging system based on cockpit to follow the activity of your ressources: [monitoring Serverless Containers](/serverless/containers/how-to/monitor-container/). +Serverless Containers offers a built-in logging system based on Cockpit to track the activity of your resources: see [monitoring Serverless Containers](/serverless/containers/how-to/monitor-container/). ## Max scale @@ -105,7 +105,7 @@ This parameter sets the maximum number of container instances. You should adjust ## Metrics -Performances of your Serverless ressources are natively available: [monitoring Serverless Containers](/serverless/containers/how-to/monitor-container/). +Performance metrics for your Serverless resources are natively available: see [monitoring Serverless Containers](/serverless/containers/how-to/monitor-container/). ## Min scale @@ -174,9 +174,9 @@ Serverless.com (Serverless Framework) is a tool that allows you to deploy server ## Serverless Function -A Serverless Function are serverless, fully managed compute services that allow you to run small, stateless code snippets or functions in response to HTTP requests or events. +Serverless Functions are serverless, fully managed compute services that allow you to run small, stateless code snippets or functions in response to HTTP requests or events. -These functions automatically scale based on demand and are designed to be lightweight, event-driven, and easily deployable without worrying about infrastructure management. Functions is built on top of Serverless Containers, meaning you can run your functions packaged in containers and have them scale efficiently. +These functions automatically scale based on demand and are designed to be lightweight, event-driven, and easily deployable, eliminating the need to worry about infrastructure management. Functions is built on top of Serverless Containers, meaning you can run your functions packaged in containers and have them scale efficiently. ## Serverless Job @@ -191,11 +191,11 @@ The container can then process the message and perform any required actions, suc ## Rolling update -When deploying a new version of a Serverless Container, a rolling update happens by default. This means that the new version of the service is gradually rolled out to your users without downtime. +When deploying a new version of a Serverless Container, a rolling update is applied by default. This means that the new version of the service is gradually rolled out to your users without downtime. Here is how it works: * When a new version of your container is deployed, the platform automatically starts routing traffic to the new version incrementally, while still serving requests from the old version until the new one is fully deployed. -* Once the new version is successfully running, we gradually shifts all traffic to it, ensuring zero downtime. +* Once the new version is successfully running, we gradually shift all traffic to it, ensuring zero downtime. * The old version is decommissioned once the new version is fully serving traffic. This process ensures a seamless update experience, minimizing disruption to users during deployments. If needed, you can also manage traffic splitting between versions during the update process, allowing you to test new versions with a subset of traffic before fully migrating to it From ea87c6aa814b68faf79f21445162fa7e48638e0c Mon Sep 17 00:00:00 2001 From: Thomas TACQUET Date: Mon, 30 Dec 2024 15:53:25 +0100 Subject: [PATCH 09/11] Apply suggestions from code review Co-authored-by: Rowena Jones <36301604+RoRoJ@users.noreply.github.com> Co-authored-by: Jessica <113192637+jcirinosclwy@users.noreply.github.com> --- serverless/containers/concepts.mdx | 2 +- .../containers-limitations.mdx | 4 ++-- serverless/functions/concepts.mdx | 22 +++++++++---------- serverless/jobs/concepts.mdx | 18 +++++++-------- 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/serverless/containers/concepts.mdx b/serverless/containers/concepts.mdx index 62a18d0d41..b81c5f922c 100644 --- a/serverless/containers/concepts.mdx +++ b/serverless/containers/concepts.mdx @@ -219,7 +219,7 @@ Refers to a system or application that does not maintain any persistent state be This means that each request is treated as a new and isolated event, and there is no need for the system to remember previous states or data once a task is completed. Statelessness is commonly used in serverless architectures where each function execution is independent of others. -To store informations you can use [Scaleway Object Storage](/storage/object/), [Scaleway Managed Databases](/managed-databases/postgresql-and-mysql/), [Scaleway Serverless Databases](/serverless/sql-databases/). +To store data you can use [Scaleway Object Storage](/storage/object/), [Scaleway Managed Databases](/managed-databases/postgresql-and-mysql/), and [Scaleway Serverless Databases](/serverless/sql-databases/). ## Terraform diff --git a/serverless/containers/reference-content/containers-limitations.mdx b/serverless/containers/reference-content/containers-limitations.mdx index 80e46eb882..f1cececfa2 100644 --- a/serverless/containers/reference-content/containers-limitations.mdx +++ b/serverless/containers/reference-content/containers-limitations.mdx @@ -54,13 +54,13 @@ In order to ensure the proper functioning of the product, we restrict the use of ### Blocked ports -Due to potential abuse (spam), no outbound traffic is allowed through following ports, except from Scaleway Transactional Email SMTP servers. +Due to potential abuse (spam), no outbound traffic is allowed through the following ports, except from Scaleway Transactional Email SMTP servers. * **25** * **465** ### Unavailable custom ports -Do not make your containers listen on these ports which are used by our service. +Do not have your containers listen on these ports, as they are used by our service. * 8008 * 8012 * 8013 diff --git a/serverless/functions/concepts.mdx b/serverless/functions/concepts.mdx index 7bcc72e983..5583dad23b 100644 --- a/serverless/functions/concepts.mdx +++ b/serverless/functions/concepts.mdx @@ -14,7 +14,7 @@ categories: ## Build step -Before deploying a Serverless Functions it has to be built, this step occurs on deployment. +Before deploying Serverless Functions, they have to be built. This step occurs during deployment. Once the Function is built into an image, it will be pushed to [Container Registry](#container-registry) @@ -47,11 +47,11 @@ An endpoint is the URL generated to access your resource. It can be customized w ## Environment variables -Environment variables are key/value pairs injected in your container. They are useful to share information such as configurations with your container. Some names are reserved. [See details about reserved names](/serverless/functions/reference-content/functions-limitations/#configuration-restrictions). +Environment variables are key/value pairs injected in your container. They are useful for sharing information such as configurations with your container. Some names are reserved. [See details on reserved names](/serverless/functions/reference-content/functions-limitations/#configuration-restrictions). ## GB-s -Unit used to measure the resource consumption of a Function. It reflects the amount of memory consumed over time. +Unit used to measure the resource consumption of a function. It reflects the amount of memory consumed over time. ## JWT Token @@ -71,7 +71,7 @@ The Serverless infrastructure manages incoming request traffic. In scenarios lik ## Logging -Serverless offers a built-in logging system based on cockpit to follow the activity of your ressources: [monitoring Serverless Functions](/serverless/functions/how-to/monitor-function/). +Serverless offers a built-in logging system based on Scaleway Cockpit to track the activity of your resources: see [monitoring Serverless Functions](/serverless/functions/how-to/monitor-function/). ## Max scale @@ -79,7 +79,7 @@ This parameter sets the maximum number of function instances. You should adjust ## Metrics -Performances of your Serverless ressources are natively available: [monitoring Serverless Functions](/serverless/functions/how-to/monitor-function/)). +Performance metrics for your Serverless resources are natively available: see [monitoring Serverless Functions](/serverless/functions/how-to/monitor-function/)). ## Min scale @@ -111,14 +111,14 @@ The function can then process the message and perform any required actions, such ## Rolling update -hen deploying a new version of a Serverless Function, a rolling update happens by default. This means that the new version of the service is gradually rolled out to your users without downtime. +When deploying a new version of a Serverless Function, a rolling update is applied by default. This means that the new version of the service is gradually rolled out to your users without downtime. Here is how it works: * When a new version of your function is deployed, the platform automatically starts routing traffic to the new version incrementally, while still serving requests from the old version until the new one is fully deployed. -* Once the new version is successfully running, we gradually shifts all traffic to it, ensuring zero downtime. +* Once the new version is successfully running, we gradually shift all traffic to it, ensuring zero downtime. * The old version is decommissioned once the new version is fully serving traffic. -This process ensures a seamless update experience, minimizing disruption to users during deployments. If needed, you can also manage traffic splitting between versions during the update process, allowing you to test new versions with a subset of traffic before fully migrating to it. +This process ensures a seamless update experience, minimizing user disruption during deployments. If needed, you can also manage traffic splitting between versions during the update process, allowing you to test new versions with a subset of traffic before fully migrating to them. ## Runtime @@ -152,9 +152,9 @@ Serverless.com (Serverless Framework) is a tool that enables the deployment of s ## Serverless Function -A Serverless Function are serverless, fully managed compute services that allow you to run small, stateless code snippets or functions in response to HTTP requests or events. +Serverless Functions are serverless, fully managed compute services that allow you to run small, stateless code snippets or functions in response to HTTP requests or events. -These functions automatically scale based on demand and are designed to be lightweight, event-driven, and easily deployable without worrying about infrastructure management. Functions is built on top of Serverless Containers, meaning you can run your functions packaged in containers and have them scale efficiently. +These functions automatically scale based on demand and are designed to be lightweight, event-driven, and easily deployable, eliminating the need to worry about infrastructure management. Functions is built on top of Serverless Containers, meaning you can run your functions packaged in containers and have them scale efficiently. ## Serverless Job @@ -166,7 +166,7 @@ Refers to a system or application that does not maintain any persistent state be This means that each request is treated as a new and isolated event, and there is no need for the system to remember previous states or data once a task is completed. Statelessness is commonly used in serverless architectures where each function execution is independent of others. -To store informations you can use [Scaleway Object Storage](/storage/object/), [Scaleway Managed Databases](/managed-databases/postgresql-and-mysql/), [Scaleway Serverless Databases](/serverless/sql-databases/). +To store data you can use [Scaleway Object Storage](/storage/object/), [Scaleway Managed Databases](/managed-databases/postgresql-and-mysql/), and [Scaleway Serverless Databases](/serverless/sql-databases/). ## Status diff --git a/serverless/jobs/concepts.mdx b/serverless/jobs/concepts.mdx index eed947c450..e6352edae2 100644 --- a/serverless/jobs/concepts.mdx +++ b/serverless/jobs/concepts.mdx @@ -14,7 +14,7 @@ categories: ## Container Registry -Container Registry is the place where your images are stored before being deployed, we recommend using Scaleway Container Registry for optimal integration. [Migration guide](/serverless/containers/api-cli/migrate-external-image-to-scaleway-registry/). +Container Registry is the place where your images are stored before being deployed. We recommend using Scaleway Container Registry for optimal integration. See the [migration guide](/serverless/containers/api-cli/migrate-external-image-to-scaleway-registry/) for full details. ## Environment variables @@ -46,7 +46,7 @@ A job run is the execution of a job definition. It can be in a running, succeede ## Logging -Serverless offers a built-in logging system based on cockpit to follow the activity of your ressources: [monitoring Serverless Jobs](/serverless/jobs/how-to/monitor-job/). +Serverless offers a built-in logging system based on Scaleway Cockpit to track the activity of your resources: see [monitoring Serverless Jobs](/serverless/jobs/how-to/monitor-job/). ## Maximum duration @@ -54,7 +54,7 @@ The maximum duration option allows you to define the maximum execution time befo ## Metrics -Performances of your Serverless ressources are natively available: [monitoring Serverless Jobs](/serverless/jobs/how-to/monitor-job/). +Performance metrics for your Serverless resources are natively available: see [monitoring Serverless Jobs](/serverless/jobs/how-to/monitor-job/). ## Schedule (cron) @@ -70,11 +70,11 @@ This optional field allows you to specify a custom command executed upon startin ## Status -A Serverless Job Run can have the following statuses: -* **Succeeded**: your Serverless Job Run finished in a good state. -* **Queued**: your Serverless Job Run is waiting for ressources to run. -* **Error**: your Serverless Job Run finished with an error or timeout. [Check our troubleshooting documentation](/serverless/jobs/troubleshooting/job-in-error-state/) to solve the issue. -* **Canceled**: your Serverless Job Run has been canceled by the user. +A Serverless Job run can have the following statuses: +* **Succeeded**: your Serverless Job run finished in a successful state. +* **Queued**: your Serverless Job run is waiting for resources to run. +* **Error**: your Serverless Job run finished with an error or timeout. [Check our troubleshooting documentation](/serverless/jobs/troubleshooting/job-in-error-state/) to solve the issue. +* **Canceled**: your Serverless Job run has been canceled by the user. ## Stateless @@ -82,7 +82,7 @@ Refers to a system or application that does not maintain any persistent state be This means that each request is treated as a new and isolated event, and there is no need for the system to remember previous states or data once a task is completed. Statelessness is commonly used in serverless architectures where each function execution is independent of others. -To store informations you can use [Scaleway Object Storage](/storage/object/), [Scaleway Managed Databases](/managed-databases/postgresql-and-mysql/), [Scaleway Serverless Databases](/serverless/sql-databases/). +To store data you can use [Scaleway Object Storage](/storage/object/), [Scaleway Managed Databases](/managed-databases/postgresql-and-mysql/), and [Scaleway Serverless Databases](/serverless/sql-databases/). ## vCPU-s From e2178728f22de01b80a2a1de0fb7b1012ed03fb8 Mon Sep 17 00:00:00 2001 From: Thomas Tacquet Date: Mon, 30 Dec 2024 16:13:08 +0100 Subject: [PATCH 10/11] apply comments --- faq/serverless-functions.mdx | 24 ++++++++++++------------ faq/serverless-jobs.mdx | 17 ++++++++--------- serverless/containers/concepts.mdx | 4 ++-- serverless/functions/concepts.mdx | 2 +- 4 files changed, 23 insertions(+), 24 deletions(-) diff --git a/faq/serverless-functions.mdx b/faq/serverless-functions.mdx index 73a633674c..4136970e0e 100644 --- a/faq/serverless-functions.mdx +++ b/faq/serverless-functions.mdx @@ -12,7 +12,7 @@ productIcon: FunctionsProductIcon ## What is serverless computing, and how does it differ from traditional cloud hosting? -Serverless computing is a cloud execution model where the cloud provider dynamically manages the allocation of compute resources. Unlike traditional hosting models, you don’t need to provision, scale, or maintain servers. Instead, you focus solely on writing and deploying your code, and the infrastructure scales automatically to meet demand. +Serverless computing is a cloud execution model where the cloud provider dynamically manages the allocation of compute resources. Unlike traditional hosting models, you do not need to provision, scale, or maintain servers. Instead, you focus solely on writing and deploying your code, and the infrastructure scales automatically to meet demand. ## Why consider using Serverless Containers, Functions, or Jobs for my projects? @@ -20,11 +20,11 @@ These services allow you to build highly scalable, event-driven, and pay-as-you- ## What are the cost benefits of using serverless services like Serverless Containers and Serverless Functions? -With serverless, you only pay for the compute resources you actually use. There are no upfront provisioning costs or paying for idle capacity. When your application traffic is low, the cost scales down, and when traffic spikes, the platform automatically scales up, ensuring you never overpay for unused resources. +With serverless, you only pay for the computing resources you use. There are no upfront provisioning costs or paying for idle capacity. When your application traffic is low, the cost scales down, and when traffic spikes, the platform automatically scales up, ensuring you never overpay for unused resources. ## How does scaling work in these serverless services? -Scaling in Serverless Containers and Serverless Functions is handled automatically by the platform. When demand increases—more requests or events—the platform spins up additional instances to handle the load. When demand decreases, instances spin down. This ensures optimal performance without manual intervention. +Scaling in Serverless Containers and Serverless Functions is handled automatically by the platform. When demand increases - more requests or events - the platform spins up additional instances to handle the load. When demand decreases, instances spin down. This ensures optimal performance without manual intervention. ## Can updates of Serverless Function cause downtime? @@ -35,7 +35,7 @@ rolled out to your users without downtime. Here is how it works: * Once the new version is successfully running, we gradually shift all traffic to it, ensuring zero downtime. * The old version is decommissioned once the new version is fully serving traffic. -This process ensures a seamless update experience, minimizing disruption to users during deployments. If needed, you can also manage traffic splitting between versions during the update process, allowing you to test new versions with a subset of traffic before fully migrating to them. +This process ensures a seamless update experience, minimizing user disruption during deployments. If needed, you can also manage traffic splitting between versions during the update process, allowing you to test new versions with a subset of traffic before fully migrating to them. ## Can I upgrade Serverless Function resources (vCPU and RAM) at any time? @@ -43,7 +43,7 @@ Yes, Serverless Functions resources can be changed at any time without causing d ## How do I integrate my serverless solutions with other Scaleway services? -Integration is straightforward. Serverless Functions and Containers can be triggered by events from Queues, SQS and SNS and can easily communicate with services like Managed databases or Serverless databases. Serverless Jobs can pull data from Object Storage or output processed results into a database. With managed connectors, APIs, and built-in integrations, linking to the broader Scaleway ecosystem is seamless. +Integration is straightforward. Serverless Functions and Containers can be triggered by events from [Queues](/serverless/messaging/concepts/#queues) and [Topics and Events](/serverless/messaging/concepts/#topics-and-events), and can easily communicate with services like [Managed Databases](/managed-databases/) or [Serverless databases](/serverless/sql-databases/). [Serverless Jobs](/serverless/jobs/) can pull data from [Object Storage](/storage/object), or output processed results into a database. With managed connectors, APIs, and built-in integrations, linking to the broader Scaleway ecosystem is seamless. ## How am I billed for Serverless Functions? @@ -228,18 +228,18 @@ For some use cases, such as saving analysis results, exporting data etc., it can ### Databases -* **Serverless Databases**: Go full serverless and take the complexity out of PostgreSQL database operations. -* **Managed MySQL / PostgreSQL**: Ensure scalability of your infrastructure and storage with our new generation of Managed Databases designed to scale on-demand according to your needs. -* **Managed Database for Redis®**: Fully managed Redis®* in seconds. -* **Managed MongoDB®**: Get the best of MongoDB® and Scaleway in one database. +* [Serverless Databases](/serverless/sql-databases/): Go full serverless and take the complexity out of PostgreSQL database operations. +* [Managed MySQL / PostgreSQL](/managed-databases/postgresql-and-mysql/): Ensure scalability of your infrastructure and storage with our new generation of Managed Databases designed to scale on-demand according to your needs. +* [Managed Database for Redis®](/managed-databases/redis/): Fully managed Redis®* in seconds. +* [Managed MongoDB®](/managed-databases/mongodb/): Get the best of MongoDB® and Scaleway in one database. ### Storage -* **Object Storage**: Multi-AZ resilient object storage service ensuring high availability for your data. -* **Scaleway Glacier**: Our outstanding Cold Storage class to secure long-term object storage. Ideal for deep archived data. +* [Object Storage](/storage/object/): Multi-AZ resilient object storage service ensuring high availability for your data. +* [Scaleway Glacier](/storage/object/): Our outstanding Cold Storage class to secure long-term object storage. Ideal for deep archived data. -Explore all Scaleway products on the console and select the right product for your use case. +Explore all Scaleway products in the console and select the right product for your use case. Some products are not listed but for example, on specific use cases Secret Manager can help you to store informations that requires versioning. \ No newline at end of file diff --git a/faq/serverless-jobs.mdx b/faq/serverless-jobs.mdx index 98b900cb88..b063b3cd69 100644 --- a/faq/serverless-jobs.mdx +++ b/faq/serverless-jobs.mdx @@ -12,7 +12,7 @@ productIcon: ServerlessJobsProductIcon ## What is serverless computing, and how does it differ from traditional cloud hosting? -Serverless computing is a cloud execution model where the cloud provider dynamically manages the allocation of compute resources. Unlike traditional hosting models, you don’t need to provision, scale, or maintain servers. Instead, you focus solely on writing and deploying your code, and the infrastructure scales automatically to meet demand. +Serverless computing is a cloud execution model where the cloud provider dynamically manages the allocation of compute resources. Unlike traditional hosting models, you do not need to provision, scale, or maintain servers. Instead, you focus solely on writing and deploying your code, and the infrastructure scales automatically to meet demand. ## Why consider using Serverless Containers, Functions, or Jobs for my projects? @@ -24,7 +24,7 @@ Serverless Jobs allows you to run large-scale batch processing and computational ## How do I integrate my serverless solutions with other Scaleway services? -Integration is straightforward. Serverless Functions and Containers can be triggered by events from Queues, SQS and SNS and can easily communicate with services like Managed databases or Serverless databases. Serverless Jobs can pull data from Object Storage or output processed results into a database. With managed connectors, APIs, and built-in integrations, linking to the broader Scaleway ecosystem is seamless. +Integration is straightforward. Serverless Functions and Containers can be triggered by events from [Queues](/serverless/messaging/concepts/#queues) and [Topics and Events](/serverless/messaging/concepts/#topics-and-events), and can easily communicate with services like [Managed Databases](/managed-databases/) or [Serverless databases](/serverless/sql-databases/). [Serverless Jobs](/serverless/jobs/) can pull data from [Object Storage](/storage/object), or output processed results into a database. With managed connectors, APIs, and built-in integrations, linking to the broader Scaleway ecosystem is seamless. ## Can I update Serverless Jobs resources (vCPU and RAM) at any time? @@ -151,18 +151,17 @@ In different use cases, such as saving analysis results and exporting data, it c ### Databases -* **Serverless Databases**: Go full serverless and take the complexity out of PostgreSQL database operations. -* **Managed MySQL / PostgreSQL**: Ensure scalability of your infrastructure and storage with our new generation of Managed Databases designed to scale on-demand according to your needs. -* **Managed Database for Redis®**: Fully managed Redis®* in seconds. -* **Managed MongoDB®**: Get the best of MongoDB® and Scaleway in one database. +* [Serverless Databases](/serverless/sql-databases/): Go full serverless and take the complexity out of PostgreSQL database operations. +* [Managed MySQL / PostgreSQL](/managed-databases/postgresql-and-mysql/): Ensure scalability of your infrastructure and storage with our new generation of Managed Databases designed to scale on-demand according to your needs. +* [Managed MongoDB®](/managed-databases/mongodb/): Get the best of MongoDB® and Scaleway in one database. ### Storage -* **Object Storage**: Multi-AZ resilient object storage service ensuring high availability for your data. -* **Scaleway Glacier**: Our outstanding Cold Storage class to secure long-term object storage. Ideal for deep archived data. +* [Object Storage](/storage/object/): Multi-AZ resilient object storage service ensuring high availability for your data. +* [Scaleway Glacier](/storage/object/): Our outstanding Cold Storage class to secure long-term object storage. Ideal for deep archived data. -Explore all Scaleway products on the console and select the right product for your use case. +Explore all Scaleway products in the console and select the right product for your use case. Some products are not listed but for example, on specific use cases Secret Manager can help you to store informations that requires versioning. \ No newline at end of file diff --git a/serverless/containers/concepts.mdx b/serverless/containers/concepts.mdx index b81c5f922c..8f836aa527 100644 --- a/serverless/containers/concepts.mdx +++ b/serverless/containers/concepts.mdx @@ -39,7 +39,7 @@ A container image is a file that includes all the requirements and instructions ## Container Registry -Container Registry is the place where your images are stored before being deployed, we recommend using Scaleway Container Registry for optimal integration. [Migration guide](/serverless/containers/api-cli/migrate-external-image-to-scaleway-registry/). +Container Registry is the place where your images are stored before being deployed. We recommend using Scaleway Container Registry for optimal integration. See the [migration guide](/serverless/containers/api-cli/migrate-external-image-to-scaleway-registry/) for full details. ## CRON trigger @@ -198,7 +198,7 @@ Here is how it works: * Once the new version is successfully running, we gradually shift all traffic to it, ensuring zero downtime. * The old version is decommissioned once the new version is fully serving traffic. -This process ensures a seamless update experience, minimizing disruption to users during deployments. If needed, you can also manage traffic splitting between versions during the update process, allowing you to test new versions with a subset of traffic before fully migrating to it +This process ensures a seamless update experience, minimizing user disruption during deployments. If needed, you can also manage traffic splitting between versions during the update process, allowing you to test new versions with a subset of traffic before fully migrating to it ## Stateless application diff --git a/serverless/functions/concepts.mdx b/serverless/functions/concepts.mdx index 5583dad23b..bf77ce4cdc 100644 --- a/serverless/functions/concepts.mdx +++ b/serverless/functions/concepts.mdx @@ -51,7 +51,7 @@ Environment variables are key/value pairs injected in your container. They are u ## GB-s -Unit used to measure the resource consumption of a function. It reflects the amount of memory consumed over time. +Unit used to measure the resource consumption of a Serverless Function. It reflects the amount of memory consumed over time. ## JWT Token From 9518c306a79d84f404f059aaa31d3bc9048437db Mon Sep 17 00:00:00 2001 From: Thomas TACQUET Date: Tue, 31 Dec 2024 09:47:24 +0100 Subject: [PATCH 11/11] Update faq/serverless-jobs.mdx Co-authored-by: Rowena Jones <36301604+RoRoJ@users.noreply.github.com> --- faq/serverless-jobs.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/faq/serverless-jobs.mdx b/faq/serverless-jobs.mdx index b063b3cd69..c902940bee 100644 --- a/faq/serverless-jobs.mdx +++ b/faq/serverless-jobs.mdx @@ -147,7 +147,7 @@ Yes, you can use sensitive data such as API secret keys, passwords, TLS/SSL cert Serverless resources are by default [stateless](/serverless/functions/concepts/#stateless), local storage is ephemeral. -In different use cases, such as saving analysis results and exporting data, it can be important to save data. Serverless resources can be connected to resources from the Scaleway ecosystem. +For some use cases, such as saving analysis results, exporting data etc., it can be important to save data. Serverless resources can be connected to other resources from the Scaleway ecosystem for this purpose: ### Databases