Skip to main content

Services

Services represent the running processes for your application. A project can have multiple services, each handling a different responsibility.

Service Types

TypeDescriptionHas PortScheduled
Web ServiceHandles HTTP requestsYesNo
Background WorkerProcesses async jobsNoNo
Cron JobRuns on a scheduleNoYes

Most web applications will have at least a web service with a port, and optionally a worker service for background processing.

Creating a Service

  1. Navigate to Project > Services
  2. Click + New Service
  3. Choose the service type and configure:
SettingDescription
NameUnique name within the project (lowercase, numbers, hyphens)
CommandThe command to run (e.g., bundle exec rails s, celery worker)
ReplicasNumber of pod instances to run
Container PortPort the application listens on (web services only)
Health Check URLEndpoint for health monitoring (web services only)

Resource Constraints

Each service can have CPU, memory, and GPU limits configured. Navigate to the service and click Resource Constraints to set:

  • CPU Request / Limit - Minimum and maximum CPU in millicores
  • Memory Request / Limit - Minimum and maximum memory
  • GPU Request - Number of GPU devices

Setting resource constraints helps Kubernetes schedule pods efficiently and prevents any single service from consuming excessive cluster resources.

Service Status

StatusDescription
PendingService has been created but not yet deployed
HealthyAll pods are running and passing health checks
UnhealthyOne or more pods are failing health checks
UpdatedConfiguration has changed, awaiting redeployment