# Flavors

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

---

# Flavors

Flavors define the resource shape of an instance: vCPU count, memory, root disk size, and optional ephemeral or swap storage. The Compute service ([OpenStack Nova](https://docs.openstack.org/nova/latest/)) exposes flavors as named resource profiles. You choose a **flavor** when you create or resize an instance, and the platform allocates those resources on the compute node that hosts it.

## What a flavor specifies

Each flavor is a named combination of five resource dimensions. **vCPUs** set the number of virtual CPU cores available to the instance. **RAM** determines how much memory the operating system and applications can use. The **root disk** provides the primary storage where the OS and system files live. Some flavors include an **ephemeral disk**: temporary local storage that disappears when the instance is deleted, useful for scratch data or caches. A **swap disk** may also be present as overflow virtual memory when physical RAM is fully utilized.

Flavors are predefined by cloud administrators. You cannot create custom flavors, but the existing set covers many workloads.

## Flavor categories on Quake AI

<Figure size="md" caption="Flavor categories: each tunes the vCPU-to-RAM ratio for a different class of workload">

```d2
grid-rows: 2
grid-columns: 2
grid-gap: 30

gp: General Purpose\nbalanced vCPU : RAM\nweb, dev, small DB
co: Compute Optimized\nhigh vCPU : RAM\nbatch, CI, CPU-bound
mo: Memory Optimized\nlow vCPU : high RAM\ncache, analytics, large DB
sr: Shared Resources\nshared vCPUs\nstaging, personal, test
```

</Figure>

Quake AI organizes flavors into four categories:

- **General Purpose**: balanced vCPU-to-memory ratio for web servers, small databases, and development environments.
- **Compute Optimized**: higher vCPU count relative to memory for batch processing, CI/CD runners, and CPU-bound applications.
- **Memory Optimized**: more RAM per vCPU for in-memory caches, analytics engines, and large databases.
- **Shared Resources**: shared vCPUs for lightweight workloads, testing, and personal projects.

<FlavorComparison />

See [List of flavors](/reference/compute/console/flavors#list-of-flavors) for the full specification table.

## How to choose

Start with the workload's requirements. A web application serving moderate traffic fits General Purpose. A build server compiling large projects benefits from Compute Optimized. A Redis cache or data warehouse query engine needs Memory Optimized. A personal blog or staging environment can run on Shared Resources at the lowest cost.

If you outgrow a flavor, you can resize the instance to a larger one, though resizing requires a brief restart. Choosing slightly above your baseline avoids frequent resizes while keeping costs in line with your plan tier. See [How to resize a Quake AI VM to a dedicated-CPU plan](/docs/compute/how-to/resize-to-dedicated-plan) for the shared-to-dedicated walkthrough.

## Further reading

**On this platform:**

- [Instances](/docs/compute/concepts/instances): how flavors define the resource shape of each VM
- [Flavors console](/reference/compute/console/flavors): specification table for available flavors
- [Flavors CLI reference](/reference/compute/flavors-cli): `openstack flavor` commands
- [Flavors API reference](/reference/compute/flavors-api): API endpoints for listing and inspecting flavors

**External resources:**

- [OpenStack Nova flavors documentation](https://docs.openstack.org/nova/latest/admin/flavors.html): upstream reference for flavor definitions and extra specs
