Services

Compute

Last updated January 2026

Containers

Container visualization
AWS ECSGCP Cloud RunAzure Container Apps

A container is a packaged version of your app that includes everything it needs to run. Think of it like shipping your entire laptop setup to the cloud, not just the code. This means your app runs the same way in the cloud as it does on your machine.

When to use containers

Containers are the default choice for most applications. Use them when you have a web app, an API, or anything that needs to stay running and respond to requests. They are also the right pick for background jobs that run continuously, like processing a queue.

If you have a Dockerfile or docker-compose.yml, you are already set up for containers.


Serverless

Serverless visualization
AWS LambdaGCP Cloud FunctionsAzure Functions
Supports scheduled cron jobs. Event-driven triggers coming soon.

Serverless functions are small pieces of code that run only when something triggers them. Instead of a server that is always on, the cloud spins up your function when a request comes in, runs it, and shuts it down. You only pay for the time your code is actually executing.

When to use serverless

Use a serverless function when you have a task that needs to run on a schedule. For example: fetching data from an external API every hour, generating a daily report, or cleaning up expired sessions. If your workload mostly sits idle between runs, serverless is significantly cheaper than keeping a container running 24/7.

The tradeoff is that serverless functions have a cold start delay (a brief pause the first time they run after being idle) and are not suited for long-running tasks.

What should I use locally?

Write a function that does what you need and run it manually during development. When you want to deploy, make sure to structure it as an AWS Lambda handler:

def handler(event, context):
    # your code here
    return {"statusCode": 200}

Spawned will detect and provision it with schedule configuration on deploy.


Kubernetes

Kubernetes visualization
AWS EKSGCP GKEAzure AKS
Generated from your project, deployed to a cluster you connect.

Kubernetes is an orchestration platform for running many containers together. When you choose Kubernetes for a project, Spawned generates the full set of manifests for it (Deployments, Services, Ingress, and more) from the same components you would use on any other platform. You describe your app once, and Spawned compiles it to Kubernetes for you.

When to use Kubernetes

Choose Kubernetes when you want your workloads on a cluster: to standardize how your team runs services, to stay on infrastructure you control, or to run alongside existing Kubernetes resources. For projects that don’t specifically need a cluster, plain containers are simpler and do everything you need.

Connecting your cluster

Spawned uses a pull-based GitOps workflow. It writes your generated manifests to a Git repository that your cluster syncs from with ArgoCD or Flux, so you never share cluster credentials and Spawned never needs direct access. See Kubernetes for setup.

What should I use locally?

Build your app the same way you would for containers. You don’t write Kubernetes manifests yourself. Spawned generates them from your project.

    Compute