---
title: Methods to deploy Serverless Containers
description: Step-by-step guide to deploying a container on Scaleway.
dates:
  validation: 2025-10-23
  posted: 2023-03-10
---

Serverless Containers can be deployed and managed using various tools. This page aims to help you find the right tool for your use case.

<Message type="tip">
  You can find examples using all the deployment methods shown here in our
  [Serverless Examples
  repository](https://github.com/scaleway/serverless-examples).
</Message>

## Comparison of deployment tools

| Tool                     | Type                 | Best For                                         | Learning Curve | Link                                                                                                                     |
| ------------------------ | -------------------- | ------------------------------------------------ | -------------- | ------------------------------------------------------------------------------------------------------------------------ |
| **Terraform**            | IaC (Infrastructure) | Production infrastructure & complex environments | High           | [Terraform/OpenTofu provider](https://registry.terraform.io/providers/scaleway/scaleway/latest/docs/resources/container) |
| **Scaleway CLI**         | Command line         | Automation scripts & quick debugging             | Low            | [Scaleway CLI](https://github.com/scaleway/scaleway-cli)                                                                 |
| **Scaleway SDKs**        | Code-based           | Programmatic control within applications         | High           | [Scaleway SDKs](https://www.scaleway.com/en/docs/scaleway-sdk/)                                                          |
| **Scaleway Console**     | UI / Web             | Learning, POCs, monitoring, manual fixes         | None           | [Scaleway Console](https://console.scaleway.com/)                                                                        |
| **API (cURL/REST)**      | Raw Request          | Edge cases where CLI/SDK isn't available         | High           | [Scaleway HTTP API](https://www.scaleway.com/en/developers/api/)                                                         |
| **Serverless Framework** | IaC (Application)    | Quick API development & function-centric apps    | Medium         | [Serverless Framework](https://github.com/scaleway/serverless-scaleway-functions)                                        |

## 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.sh` script 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:

- [Go SDK](https://github.com/scaleway/scaleway-sdk-go)
- [JS SDK](https://github.com/scaleway/scaleway-sdk-js)
- [Python SDK](https://github.com/scaleway/scaleway-sdk-python)

- **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.
