# Instances

Source: https://docs.quake.ai/docs/compute/concepts/instances
Markdown: https://docs.quake.ai/docs/compute/concepts/instances.md

---

# Instances

Instances are virtual machines (VMs) that run on Quake AI. They give you isolated compute (CPU, memory, disk, and network), so you deploy applications and services inside projects without sharing an OS with other tenants. You manage them through the Console, CLI, or API.

Documentation and APIs sometimes still say **servers** for historical reasons; on Quake AI the service-accurate term is **instances**.

## What an instance represents

In the data center, a physical machine runs a hypervisor and hosts many guests. Each instance is one of those guests: it looks like a standalone computer to the operating system inside it, with virtual devices backed by real hardware somewhere in the cloud.

That abstraction is the foundation of cloud computing. Instances provide the CPU cycles, RAM, and I/O your workloads need, while the platform handles placement, migration boundaries, and integration with networking and storage.

## How instance hardware maps to the cloud

Physical servers use processors, RAM, disks, and NICs. On Quake AI you do not pick a motherboard; you choose a **flavor** that defines vCPU, memory, and root disk characteristics, and an **image** that defines the software stack. The analogy still helps: more vCPU and RAM behave like a more flexible machine; SSD-backed storage behaves like faster local disks; network attachment points connect you to project networks the same way NICs connect a machine to a LAN.

## Protocols instances typically run

Instances run the same network protocols as any machine on a TCP/IP network. Common examples include HTTP and HTTPS for web traffic, SSH (and sometimes RDP) for administration, DNS for name resolution, SMTP for mail, and FTP or object APIs for file movement. You choose which protocols matter by what you install and which ports you expose through security groups, floating IPs, reverse proxies, and external edge services.

## Common roles for instances

Instances host websites and APIs, run mail and collaboration software, hold databases and caches, provide shared file services, and underpin virtualization and container platforms. In Quake AI they also participate in the shared services model: storage volumes attach for durable data, networking connects them to routers and floating IPs, and identity-linked key pairs control administrative access.

## Platform features around instances

The Compute service ([OpenStack Nova](https://docs.openstack.org/nova/latest/)) runs guests on hypervisors such as KVM. **Flavors** define resource shape. **Images** supply the OS and initial software. **Networking** attaches instances to project networks. **Security groups** filter traffic at the port level. **Key pairs** enable SSH and similar access without password login. **Volumes** add persistent disks beyond ephemeral root storage. **Projects** (tenants) isolate ownership and quotas. Other services integrate so storage, identity, and network behavior stay consistent from boot to access.

## Lifecycle and behavior

Creating an instance ties together an image, a flavor, network attachments, and optional security groups, key pairs, and user data. The scheduler places the instance on a compute node with enough capacity and respecting any affinity rules you set. The hypervisor boots the guest from the image; network ports receive addresses from your subnets.

After boot you start, stop, reboot, resize, or delete instances as needed. Snapshots capture disk state into an image for backup or cloning. Volumes attach or detach for data that should survive instance deletion. Floating IPs associate when you need a stable public entry point. You typically access instances via SSH with a private key; security groups enforce which remote traffic reaches the instance.

The platform dedicates flavor-defined resources to each instance, which limits noisy-neighbor effects through scheduling and isolation.

<Figure caption="Instance lifecycle: states and transitions available through the Console, CLI, or API">

```mermaid
stateDiagram-v2
    accTitle: Compute instance lifecycle
    accDescr: State transitions for a Quake AI compute instance from creation through active use to deletion

    direction LR

    [*] --> Building
    Building --> Active
    Building --> Error

    Active --> Paused
    Paused --> Active

    Active --> Stopped
    Stopped --> Active

    Active --> Shelved
    Shelved --> Active

    Active --> Deleted
    Stopped --> Deleted
    Shelved --> Deleted
    Error --> Deleted
```

</Figure>

## How flavors, images, and networks interact

Each instance combines several choices. The **flavor** sets the resource envelope (vCPU, memory, root disk size). The **image** (or snapshot, or bootable volume) determines what operating system and software stack boots inside that envelope. The **network** attachment decides which subnets the instance can reach: private networks for internal traffic, with routers and floating IPs layered on for external access when needed.

**Security groups** filter traffic at the port level, so the combination of network attachment and group rules defines the instance's reachable surface. **User data** (cloud-init scripts) automates first-boot configuration: package installs, service setup, and SSH key injection without manual steps after launch.

## Further reading

**On this platform:**

- [Create an instance](/docs/compute/how-to/create-instance): step-by-step instance creation via Console, CLI, and API
- [Flavors](/docs/compute/concepts/flavors): vCPU, memory, and disk configurations for instances
- [Images](/docs/compute/concepts/images): operating system templates for instance provisioning
- [Key pairs](/docs/compute/concepts/key-pairs): SSH key authentication for instance access
- [Volumes](/docs/block/concepts/volumes): persistent block storage that attaches to instances
- [Instances console](/reference/compute/console/instances): Console reference for instance management

**External resources:**

- [OpenStack Nova documentation](https://docs.openstack.org/nova/latest/): upstream Compute service architecture and admin reference
- [cloud-init documentation](https://cloudinit.readthedocs.io/en/latest/): first-boot configuration and user data formats for cloud instances
