Apps and managed add-ons

6 min readUpdated April 2026

A StackBlaze app is a single deployable unit built from your repo or a container image. One app can run three kinds of process: a web process with a public HTTPS URL, background workers, and scheduled cron jobs, each scaled independently.

Anything stateful, a database, cache, or queue, is a managed add-on you attach to the app rather than a process it runs. The diagram below shows how an app and its add-ons connect over the project’s private network.

Service topology

queueTCP:5432
Web Service
public HTTPS

Deployment + Ingress

Worker
private

Deployment only

Cron Job
0 2 * * *

CronJob → Job → Pod

Database
managed add-on

private network

Comparison

Web Service

Deployment + Service + Ingress

Public URLYes, HTTPS endpoint
KubernetesDeployment + Service + Ingress
ReplicasConfigurable (default 1)
AutoscalingHPA available
Use whenYou need to serve HTTP traffic

Worker

Deployment (no Ingress)

Public URLNo
KubernetesDeployment only
ReplicasConfigurable
AutoscalingHPA or KEDA
Use whenProcessing queues or background jobs

Cron Job

CronJob

Public URLNo
KubernetesCronJob → Job → Pod
ScheduleStandard cron expression
ConcurrencyForbid / Allow / Replace
Use whenScheduled periodic tasks

Managed add-on

Dedicated managed instance

Public URLNo, private network only
Provisioned asDedicated managed instance
StoragePersistent volume
BackupsScheduled & on-demand snapshots
Use whenYou need a database, cache, or queue

Working with service types

01

One app bundles web, workers, and cron

A single app is built once from your repo or image, then runs whatever processes you enable: a web process that serves HTTP, background workers, and scheduled cron jobs. You set replica counts per process, so scaling the web tier and the worker tier are independent.

02

Attach managed add-ons for anything stateful

Databases, caches, and queues are not app processes, they are managed add-ons you attach to your app. Each one runs as its own dedicated instance with persistent storage, and its connection string is injected into your app as an environment variable.

03

Connect over the private network

Everything in a project shares a private network. Your app reaches another app or an add-on by its internal service name, no public URL, no load balancer, no egress. Attached add-ons expose their host and credentials to your app automatically.

04

Promote across pipeline phases

Apps live in a pipeline made up of phases such as staging and production. Deploy to staging, verify, then promote the same build to production, so what you tested is exactly what ships.