Methods to deploy Serverless Containers
Serverless Containers can be deployed and managed using various tools. This page aims to help you find the right tool for your use case.
Comparison of deployment tools
| Tool | Type | Best For | Learning Curve | Link |
|---|---|---|---|---|
| Terraform | IaC (Infrastructure) | Production infrastructure & complex environments | High | Terraform/OpenTofu provider |
| Scaleway CLI | Command line | Automation scripts & quick debugging | Low | Scaleway CLI |
| Scaleway SDKs | Code-based | Programmatic control within applications | High | Scaleway SDKs |
| Scaleway Console | UI / Web | Learning, POCs, monitoring, manual fixes | None | Scaleway Console |
| API (cURL/REST) | Raw Request | Edge cases where CLI/SDK isn't available | High | Scaleway HTTP API |
| Serverless Framework | IaC (Application) | Quick API development & function-centric apps | Medium | Serverless Framework |
Breakdown
Terraform
Terraform is a declarative tool focused on infrastructure lifecycle.
- Pros: State management (knows exactly what is deployed); handles dependencies perfectly (example: "don't deploy the container until the database is ready").
- Cons: Can be verbose. Deploying a simple container requires writing ~50 lines of HCL compared to one CLI command.
- When to use: Use this for production-grade projects where you need a repeatable, auditable infrastructure.
Serverless Framework
Unlike Terraform, this is application-centric. It abstracts away some parts of the base configuration into a simple serverless.yml file.
- Pros: Fast to deploy Serverless only projects with integrated build features, useful especially for Serverless Functions.
- Cons: Update cycle is lower on Serverless Framework compared to other tools (auto generated), so new features can take some time to be deployed.
- When to use: Ideal for Serverless Functions, microservices, REST APIs, and small event-driven architectures.
Scaleway CLI
It is a wrapper around the Scaleway API that allows you to trigger deployments from your terminal.
- Pros: Perfect for CI/CD pipelines (GitHub Actions, GitLab CI), automation, quick changes and updates from the command line, easy to integrate.
- Cons: No "state." If you run a CLI command twice, it might fail or create a duplicate resource because it doesn't track what already exists like Terraform does.
- When to use: Use for one-off tasks or inside a
deploy.shscript for very small projects.
Scaleway SDKs
The SDK allows your application code to manage your resources. For example, a Go application that programmatically spins up a new Serverless Container based on user input.
The available SDKs are:
-
Pros: Total programmatic control.
-
Cons: Can be complex as a deployment method because you are essentially writing your own deployment from scratch.
-
When to use: Use when your application logic requires dynamic resource creation.
Scaleway console
The clean and easy web-based interface provided by Scaleway.
- Pros: Great for "exploring" new services and seeing what settings are available, monitor your resources, do quick changes, explore features and documentation directly.
- Cons: If you change a setting in the console and forget to update your code, your environment is now out of sync. It can be complex to replicate multiple times the same resource.
- When to use: For discovery, learning, prototyping, monitoring, smaller projects.
Tip
Many teams use a hybrid approach. They use Terraform to provision the "static" infrastructure, the CLI to deploy new application code, and Scaleway Console to monitor your different Containers.