Traditional application deployment is straightforward: install software on a server, configure it, run it. That model works until you need to scale to multiple instances, deploy updates without downtime, recover from failures automatically, or reproduce an environment exactly. Cloud-native computing is the set of practices that solve those problems by treating infrastructure as programmable, applications as portable, and deployment as automated.
Cloud-native computing describes applications built as containers, managed by orchestrators, scaled horizontally, and updated through automated pipelines. Many applications run on cloud VMs without that architecture; cloud-native is the design choice, not the hosting location.
A container packages an application with its dependencies (libraries, runtime, configuration) into a single portable unit. Unlike a full VM, containers share the host kernel, so they start in seconds and use a fraction of the resources. The image you build on your laptop runs identically on a test server, a CI pipeline, and a production cluster.
On Quake AI, you run containers in two ways:
Docker on instances: install Docker or containerd on a Compute instance and run containers directly. You manage the host, networking, and orchestration yourself. Good for simple workloads, development environments, and single-host services.
Kubernetes clusters: use the Kubernetes service to provision a full cluster with automated networking, load balancing, and persistent storage. Good for production workloads that need scaling, health management, and rolling updates.
Running a few containers on one host is simple. Running dozens across multiple hosts (with health checks, rolling updates, network routing, and storage) requires an orchestrator. Kubernetes is the industry standard: it schedules containers across worker nodes, restarts failed ones, scales replicas based on load, and manages service discovery.
The Quake AI Kubernetes service automates cluster provisioning: you define a template, and the platform creates master nodes, worker nodes, networking, and stable control-plane endpoints. You manage the workloads; the platform manages the infrastructure setup.
Cloud-native teams do not click through consoles to set up infrastructure. They write declarative configuration files that describe the desired state (instances, networks, volumes, security groups) and use tools to apply them. When the configuration changes, the tool calculates the difference and applies only what is needed.
On Quake AI, you use OpenTofu (or Terraform) with the OpenStack provider, or Heat stacks for native OpenStack orchestration. Both support version control, peer review, and automated deployment; the same workflow you use for application code.
Continuous integration builds and tests code on each commit. Continuous deployment pushes validated builds to production automatically. Together, they replace manual deployment processes with automated pipelines that are faster, more reliable, and auditable.
A typical cloud-native pipeline on Quake AI:
Developer pushes code → CI system builds a container image
CI runs tests against the image
Validated image is pushed to a container registry
CD system updates the Kubernetes deployment, which triggers a rolling update across the cluster
Click to zoom
Cloud-native CI/CD pipeline: a git push triggers build, test, registry push, and a rolling update on the Kubernetes cluster.
The rolling update replaces pods one at a time, so the service stays available throughout the deployment. If the new version fails health checks, the update halts automatically.
Legacy applications, databases, GPU workloads, Windows
Operational complexity
Kubernetes learning curve
Familiar Linux administration
Neither approach is universally better. Many production architectures use both: Kubernetes for stateless application tiers and dedicated VMs for stateful services like databases or specialized workloads that do not containerize well.
The platform does not provide a managed container registry, managed CI/CD, or managed databases. You self-host these on instances or use external services. This is typical for infrastructure-focused cloud platforms and gives you flexibility in tooling choices.
If you are new to cloud-native patterns on Quake AI:
Start with containers on a single instance. Deploy a Docker host, run your application in a container, and understand the container lifecycle before adding orchestration complexity.
Graduate to Kubernetes when you need multi-host orchestration. When your workload requires scaling, rolling updates, or service discovery, create a Kubernetes cluster through the platform.
Codify your infrastructure. Write your cluster configuration, network setup, and security groups as OpenTofu or Heat templates. Commit them to version control alongside your application code.
Automate deployment. Set up a CI/CD pipeline that builds container images, runs tests, and deploys to your cluster on each commit.