Skip to content

Commit ceed3da

Browse files
SamyOubouazizbene2k1jcirinosclwy
authored andcommitted
docs(srv): advanced options + autoscaling reworks MTA-5598 (scaleway#4462)
* docs(srv): advanced options + autoscaling reworks MTA-5598 * docs(srv): update * docs(srv): update * docs(srv): update * docs(srv): update * docs(srv): update * docs(srv): update * docs(srv): update * docs(srv): update * docs(srv): update * docs(srv): update * Update pages/serverless-containers/concepts.mdx Co-authored-by: Benedikt Rollik <[email protected]> * Update pages/serverless-containers/concepts.mdx Co-authored-by: Benedikt Rollik <[email protected]> * Update pages/serverless-containers/concepts.mdx Co-authored-by: Jessica <[email protected]> * Update pages/serverless-containers/concepts.mdx Co-authored-by: Jessica <[email protected]> --------- Co-authored-by: Benedikt Rollik <[email protected]> Co-authored-by: Jessica <[email protected]>
1 parent 18cd5df commit ceed3da

File tree

5 files changed

+206
-56
lines changed

5 files changed

+206
-56
lines changed

pages/serverless-containers/concepts.mdx

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ Autoscaling parameters are [min-scale](/serverless-containers/concepts/#min-scal
2222
* **CPU usage:** to scale based on CPU percentage, suitable for intensive CPU workloads.
2323
* **RAM usage** to scale based on RAM percentage, suitable for memory intensive workloads.
2424

25+
Refer to the [dedicated documentation](/serverless-containers/reference-content/containers-autoscaling/) for more information on autoscaling.
26+
2527
## Cold start
2628

2729
Cold start is the time a Container takes to handle a request when it is called for the first time.
@@ -87,11 +89,17 @@ Unit used to measure the resource consumption of a container. It reflects the am
8789

8890
gRPC is supported on Serverless Containers, as long as you have enabled http2 (`h2c`) protocol.
8991

90-
## Healthcheck
92+
## Health check
9193

92-
To determine the status of a container, the default healthcheck automatically checks if basic requirements are met, to define the status as `ready`.
94+
To determine the status of a container, the default health check automatically checks if basic requirements are met, to define the status as `ready`. You can customize the following elements to better fit your use case:
95+
- The **probe type** defines the type of check to perform to define if your container is ready:
96+
- The **TCP** probe will check if the TCP connection of your Serverless Container is opened on the specified port
97+
- The **HTTP** probe allows you to define a custom path to your Serverless Container to get the readiness status. It can be useful to check if all requirements are met, such as the connection to the database, etc.
98+
- The **failure threshold** corresponds to the maximum number of checks that can fail before declaring the Serverless Container in error. Defaults to 30.
99+
- The **interval** corresponds to the duration in seconds between every check. Defaults to 10 seconds.
100+
- The **path** (HTTP probe type only) corresponds to the endpoint to call you Serverless Container (example: `/health`).
93101

94-
You can define custom healthcheck rules with a [specific endpoint via the Scaleway API](https://www.scaleway.com/en/developers/api/serverless-containers/#path-containers-create-a-new-container).
102+
You can define custom health check rules via the [Scaleway console](/serverless-containers/how-to/manage-a-container/) or set a [specific endpoint via the Scaleway API](https://www.scaleway.com/en/developers/api/serverless-containers/#path-containers-create-a-new-container).
95103

96104
## Instance
97105

pages/serverless-containers/how-to/deploy-container.mdx

Lines changed: 78 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ content:
77
paragraph: Deploy containers from the Scaleway Container Registry or from external public registries.
88
tags: deploy container create scaleway-registry docker image external registry public
99
dates:
10-
validation: 2024-11-05
10+
validation: 2025-02-25
1111
posted: 2021-05-26
1212
categories:
1313
- serverless
@@ -40,16 +40,44 @@ You can deploy a container from the [Scaleway Container Registry](/container-reg
4040
<Message type="note">
4141
Available memory depends on allocated vCPU, and the maximum ephemeral storage value depends on allocated memory.
4242
</Message>
43-
- Set your [scaling](/serverless-containers/concepts/#scaling) preferences, or leave them at default values. The Scaleway platform automatically scales the number of available instances of your container to match the incoming load, depending on the settings you define here.
44-
- Click **Advanced options** to define any [environment variables](/serverless-containers/concepts/#environment-variables) you want to inject into your container. For each environment variable, click **+Add variable** and enter the key/value pair.
45-
- Add [secrets](/serverless-containers/concepts/#secrets) for your container. Secrets are environment variables that are injected into your container, but the values are not retained or displayed by Scaleway after initial validation.
46-
<Message type="note">
47-
Encode your environment variables and secrets to `base64` if they are too large, and contain carriage returns.
48-
</Message>
49-
- Set the desired [privacy policy](/serverless-containers/concepts/#privacy-policy) for your container. This defines whether container invocation may be done anonymously (**public**) or only via an authentication mechanism provided by the [Scaleway API](https://www.scaleway.com/en/developers/api/serverless-containers/#authentication) (**private**).
50-
- Set a custom [timeout](/serverless-containers/concepts/#timeout) for your container.
51-
- Verify the **estimated cost**.
52-
5. Click **Deploy container** to finish.
43+
5. Set your [autoscaling](/serverless-containers/concepts/#autoscaling) preferences:
44+
- **Request concurrency**: your container automatically scales up/down within the minimum and maximum values entered based on the number of concurrent requests received on each active instance of your container.
45+
- **CPU percentage**: your container automatically scales up/down within the minimum and maximum values entered based on the CPU load.
46+
- **RAM percentage**: your container automatically scales up/down within the minimum and maximum values entered based on the RAM used.
47+
6. In the **Advanced options** section, set the following:
48+
<Tabs>
49+
<TabsTab label="Data">
50+
- Declare [environment variables](/serverless-containers/concepts/#environment-variables) you want to inject into your container. For each environment variable, click **+Add variable** and enter the key/value pair.
51+
- Declare [secrets](/serverless-containers/concepts/#secrets) for your container. Secrets are environment variables that are injected into your container, but the values are not retained or displayed by Scaleway after initial validation.
52+
<Message type="note">
53+
Encode your environment variables and secrets to `base64` if they are too large, and contain carriage returns.
54+
</Message>
55+
</TabsTab>
56+
<TabsTab label="Security">
57+
- Set the desired [privacy policy](/serverless-containers/concepts/#privacy-policy) for your container. This defines whether container invocation may be done anonymously (**public**) or only via an authentication mechanism provided by the [Scaleway API](https://www.scaleway.com/en/developers/api/serverless-containers/#authentication) (**private**).
58+
- Tick the box under **HTTPS connections only** to prevent your container from being called from insecure HTTP connections.
59+
</TabsTab>
60+
<TabsTab label="Requests">
61+
- Set a custom [timeout](/serverless-containers/concepts/#timeout) for the duration of the requests received by your container.
62+
- Tick the box under [HTTP protocol](/serverless-containers/concepts/#protocol) to listen to HTTP/2 requests if it is required by your application. Otherwise, we recommend you use HTTP/1.
63+
</TabsTab>
64+
<TabsTab label="Performances">
65+
- Select a [sandbox](/serverless-containers/concepts/#sandbox) version:
66+
- Sandbox v2 for shorter cold starts (recommended).
67+
- Sandbox v1 if you require full compatibility with the Linux system call interface (legacy).
68+
</TabsTab>
69+
<TabsTab label="Health checks">
70+
- Update the [health check](/serverless-containers/concepts/#health-check) behavior according to your needs:
71+
- **Probe type**: TCP, or HTTP
72+
- **Health checks intervals**: 5s - 120s (default: 30s)
73+
- **Failure threshold**: 3 - 50 (default: 10)
74+
</TabsTab>
75+
<TabsTab label="Storage">
76+
- Modify the [ephemeral storage](/serverless-containers/concepts/#ephemeral-storage) according to your needs.
77+
</TabsTab>
78+
</Tabs>
79+
7. Verify the **estimated cost**.
80+
8. Click **Deploy container** to finish.
5381

5482
## Deploy from an external container registry
5583

@@ -73,15 +101,43 @@ Private external container registries are currently not supported.
73101
- Choose a **name** for your container and, optionally, a **description**. The name must only contain alphanumeric characters and dashes.
74102
- Choose the **resources** to be allocated to your container at runtime. These define the performance characteristics of your container.
75103
<Message type="note">
76-
Available memory depends on allocated vCPU, and maximum ephemeral storage value depends on allocated memory.
77-
</Message>
78-
- Set your [scaling](/serverless-containers/concepts/#scaling) preferences, or leave them at default values. The Scaleway platform automatically scales the number of available instances of your container to match the incoming load, depending on the settings you define here.
79-
- Click **Advanced options** to define any [environment variables](/serverless-containers/concepts/#environment-variables) you want to inject into your container. For each environment variable, click **+Add variable** and enter the key/value pair.
80-
- Add [secrets](/serverless-containers/concepts/#secrets) for your container. Secrets are environment variables that are injected into your container, but the values are not retained or displayed by Scaleway after initial validation.
81-
<Message type="note">
82-
Encode your environment variables and secrets to `base64` if they are too large, and contain carriage returns.
104+
Available memory depends on allocated vCPU, and the maximum ephemeral storage value depends on allocated memory.
83105
</Message>
84-
- Set the desired [privacy policy](/serverless-containers/concepts/#privacy-policy) for your container. This defines whether container invocation may be done anonymously (**public**) or only via an authentication mechanism provided by the [Scaleway API](https://www.scaleway.com/en/developers/api/serverless-containers/#authentication) (**private**).
85-
- Set a custom [timeout](/serverless-containers/concepts/#timeout) for your container.
86-
- Verify the **estimated cost**.
87-
5. Click **Deploy container** to finish.
106+
5. Set your [autoscaling](/serverless-containers/concepts/#autoscaling) preferences:
107+
- **Request concurrency**: your container automatically scales up/down within the minimum and maximum values entered based on the number of concurrent requests received on each active instance of your container.
108+
- **CPU percentage**: your container automatically scales up/down within the minimum and maximum values entered based on the CPU load.
109+
- **RAM percentage**: your container automatically scales up/down within the minimum and maximum values entered based on the RAM used.
110+
6. In the **Advanced options** section, set the following:
111+
<Tabs>
112+
<TabsTab label="Data">
113+
- Declare [environment variables](/serverless-containers/concepts/#environment-variables) you want to inject into your container. For each environment variable, click **+Add variable** and enter the key/value pair.
114+
- Declare [secrets](/serverless-containers/concepts/#secrets) for your container. Secrets are environment variables that are injected into your container, but the values are not retained or displayed by Scaleway after initial validation.
115+
<Message type="note">
116+
Encode your environment variables and secrets to `base64` if they are too large, and contain carriage returns.
117+
</Message>
118+
</TabsTab>
119+
<TabsTab label="Security">
120+
- Set the desired [privacy policy](/serverless-containers/concepts/#privacy-policy) for your container. This defines whether container invocation may be done anonymously (**public**) or only via an authentication mechanism provided by the [Scaleway API](https://www.scaleway.com/en/developers/api/serverless-containers/#authentication) (**private**).
121+
- Tick the box under **HTTPS connections only** to prevent your container from being called from insecure HTTP connections.
122+
</TabsTab>
123+
<TabsTab label="Requests">
124+
- Set a custom [timeout](/serverless-containers/concepts/#timeout) for the duration of the requests received by your container.
125+
- Tick the box under [HTTP protocol](/serverless-containers/concepts/#protocol) to listen to HTTP/2 requests if it is required by your application. Otherwise, we recommend you use HTTP/1.
126+
</TabsTab>
127+
<TabsTab label="Performances">
128+
- Select a [sandbox](/serverless-containers/concepts/#sandbox) version:
129+
- Sandbox v2 for shorter cold starts (recommended).
130+
- Sandbox v1 if you require full compatibility with the Linux system call interface (legacy).
131+
</TabsTab>
132+
<TabsTab label="Health checks">
133+
- Update the [health check](/serverless-containers/concepts/#health-check) behavior according to your needs:
134+
- **Probe type**: TCP, or HTTP
135+
- **Health checks intervals**: 5s - 120s (default: 30s)
136+
- **Failure threshold**: 3 - 50 (default: 10)
137+
</TabsTab>
138+
<TabsTab label="Storage">
139+
- Modify the [ephemeral storage](/serverless-containers/concepts/#ephemeral-storage) according to your needs.
140+
</TabsTab>
141+
</Tabs>
142+
7. Verify the **estimated cost**.
143+
8. Click **Deploy container** to finish.

0 commit comments

Comments
 (0)