Skip to main content

Primitives

Jobs, Services, and VMs are the three Workload types. Kubernetes Deployments provide reusable applications that accept Jobs, and Buckets provide storage that persists independently of compute. Choose the resources that match your workload's lifecycle and access needs.

PrimitiveChoose it whenLifetimePrimary access
JobWork should run to completionUntil a terminal outcomeStatus; logs and exec for VM-backed Jobs
ServiceAn HTTP workload should stay onlineUntil upgrade or terminationStable public URL
VMYou need direct, interactive controlUntil terminationSSH to the container or host
Kubernetes DeploymentJobs should share a persistent applicationUntil deletionTargeted Jobs and Deployment status
BucketData must outlive its computeUntil the bucket is deletedMounted files in supported workloads

Jobs are the default for finite work such as training, evaluation, and batch inference. Services manage long-running HTTP workloads and give them a stable public URL. VMs provide an interactive shell and direct host control without a managed HTTP endpoint. Buckets complement supported Jobs and Services with durable object storage; they are not a compute environment.

Jobs run on dedicated VMs or target Kubernetes Deployments on shared node pool capacity. A targeted Job runs inside the Deployment's existing application container; the application remains available after that Job ends. Services run on VMs or on node pools. Workload remains the shared record for Jobs, Services, and VMs; each Deployment has its own record and lifecycle.