Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 18 additions & 18 deletions macros/serverless/difference-jobs-functions-containers.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,23 @@ macro: difference-jobs-functions-containers

### Comparison table

| **Criteria** | **Serverless Functions** | **Serverless Containers** | **Serverless Jobs** |
|------------------------------------|---------------------------------------------------------------------|---------------------------------------------------------------------|---------------------------------------------------------|
| **Use case** | Event-driven functions responding to events or HTTP requests | Stateless HTTP containers handling web services or APIs | Processing tasks that run to completion |
| **Scaling** | Automatically scales based on incoming events | Automatically scales based on incoming events | Manually specified number of job executions |
| **Maximum execution time** | Up to one hour per request | Up to one hour per request | 24 hours |
| **Concurrency** | Single request per instance | Configurable concurrency per instance | Not applicable |
| **Pricing model** | Pay based on execution time and invocations | Pay based on vCPU and memory usage | Pay based on vCPU and memory usage |
| **Triggers** | HTTP requests, scheduled (CRONs), messaging events (NATS, SQS, SNS) | HTTP requests, scheduled (CRONs), messaging events (NATS, SQS, SNS) | Manual invocation or scheduled |
| **Language support** | Node, PHP, Python, Go, Rust | Any language/runtime within a container | Any language/runtime within a container |
| **Infrastructure management** | Fully managed, handles provisioning and scaling automatically | Fully managed, handles provisioning and scaling automatically | Fully managed, abstracts away infrastructure management |
| **Cold-starts** | There may be startup latency on new instances | There may be startup latency on new instances | Not applicable (jobs starts when scheduled or invoked) |
| **Supports custom containers** | No, deploy code in supported languages only | Yes, deploy any containerized application | Yes, deploy any containerized application |
| **Long-running processes** | Not suitable for long running tasks | Not suitable for long running tasks | Ideal for long running processes |
| **Networking** | Supports VPC integration | Supports VPC integration | No VPC support at the moment |
| **Secret manager integration** | Only via local secrets | Only via local secrets | Yes |
| **Customizable ephemeral storage** | Yes | Yes | Yes |
| **Scaling from and to zero** | Yes | Yes | Not applicable |
| **Criteria** | **Serverless Functions** | **Serverless Containers** | **Serverless Jobs** |
|----------------------------------------|---------------------------------------------------------------------|---------------------------------------------------------------------|---------------------------------------------------------|
| **Use case** | Event-driven functions responding to events or HTTP requests | Stateless HTTP containers handling web services or APIs | Processing tasks that run to completion |
| **Scaling** | Automatically scales based on incoming events | Automatically scales based on incoming events | Manually specified number of job executions |
| **Maximum execution time** | Up to one hour per request | Up to one hour per request | 24 hours |
| **Concurrency** | Single request per instance | Configurable concurrency per instance | Not applicable |
| **Pricing model** | Pay based on execution time and invocations | Pay based on vCPU and memory usage | Pay based on vCPU and memory usage |
| **Triggers** | HTTP requests, scheduled (CRONs), messaging events (NATS, SQS, SNS) | HTTP requests, scheduled (CRONs), messaging events (NATS, SQS, SNS) | Manual invocation or scheduled |
| **Language support** | Node, PHP, Python, Go, Rust | Any language/runtime within a container | Any language/runtime within a container |
| **Infrastructure management** | Fully managed, handles provisioning and scaling automatically | Fully managed, handles provisioning and scaling automatically | Fully managed, abstracts away infrastructure management |
| **Cold-starts** | There may be startup latency on new instances | There may be startup latency on new instances | Not applicable (jobs starts when scheduled or invoked) |
| **Supports custom containers** | No, deploy code in supported languages only | Yes, deploy any containerized application | Yes, deploy any containerized application |
| **Long background tasks** | Not optimal for long running tasks | Not optimal for long running tasks | Ideal for long running background processes |
| **Networking** | Supports VPC integration | Supports VPC integration | No VPC support at the moment |
| **Secret manager integration** | Only via local secrets | Only via local secrets | Yes |
| **Customizable ephemeral storage** | Yes | Yes | Yes |
| **Scaling from and to zero** | Yes | Yes | Not applicable |

## Details

Expand Down Expand Up @@ -72,4 +72,4 @@ Choose Scaleway [Serverless Containers](/serverless-containers/quickstart/):

<Message type="note">
To run as a Serverless Container, your application must be containerized, giving you a lot of flexibility to configure your runtime environments.
</Message>
</Message>