Note
To run as a Serverless Job, your applications must be containerized, which offers you a lot of choice when configuring your runtime environments.
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 15 minutes per request | Up to 15 minutes 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 | No VPC support at the moment | No VPC support at the moment | No VPC support at the moment |
Secret manager integration | Only via local secrets | Only via local secrets | Yes |
Customisable ephemeral storage | Yes | Yes | Yes |
Scaling from and to zero | Yes | Yes | Not applicable |
Serverless Jobs are designed for batch computing workloads, particularly large-scale and asynchronous tasks, like data processing, image rendering, or complex computations.
Choose Scaleway Serverless Jobs:
To run as a Serverless Job, your applications must be containerized, which offers you a lot of choice when configuring your runtime environments.
Choose Scaleway Serverless Functions:
Serverless Functions can only be written in languages available as runtimes.
Choose Scaleway Serverless Containers:
To run as a Serverless Container, your application must be containerized, giving you a lot of flexibility to configure your runtime environments.
Your opinion helps us make a better documentation.