# Create an instance

Deploy an instance from SurrealDB Studio: choose a plan, instance type, region, version, name, starting data, and storage.

Deploy an instance from [SurrealDB Studio](https://app.surrealdb.com) in seven steps.

Deployment takes a few minutes. You can change everything afterwards except the instance name and the region.

## Before you begin

You need:

- An account. See [Accounts and sign-in](/docs/manage/organisations/sign-in.md).
- An organisation to hold the instance. See [Organisations](/docs/manage/organisations.md).

## 1. Select a plan

1. Open the organisation that will hold the instance.
2. Go to **Instances**.
3. Select **Deploy new instance**.

The first step of the flow asks for a plan.

| Plan | Topology | How it scales |
| --- | --- | --- |
| **Start** | A single node | Vertically only |
| **Scale** | A fault-tolerant cluster of three nodes or more | Vertically and horizontally |

Each card lists the capacity ceilings and the starting price for that plan.

![Step one of the deploy flow in SurrealDB Studio, titled Select a plan, showing two cards side by side: Start, designed for applications that require vertical scalability, with a single node, up to 512 GB storage, 16 vCPU, and 64 GB memory; and Scale, designed for applications that require fault tolerance and horizontal scalability, with multiple nodes, up to 1 PB cluster storage, 64 vCPU per node, and 256 GB memory per node.](~/assets/img/surrealdb/manage/instance-select-plan.webp)

The plan fixes the topology of the instance. To move a workload from Start to Scale, deploy a Scale instance, then [restore a backup](/docs/manage/instances/backups.md) or [import an export](/docs/manage/instances/import-and-export.md) into it. Choose **Scale** if the workload must survive the loss of a node. See [High availability](/docs/manage/instances/high-availability.md).

Select **Configure instance** on the plan you want.

## 2. Choose an instance type

Instance types set the vCPU, the memory, and the baseline storage for each node. Three families are available.

| Family | Behaviour | Suited to |
| --- | --- | --- |
| **Free** | A fixed, no-cost instance with a small storage allowance | Trying SurrealDB out |
| **Burstable** | Full CPU in short bursts, throttled under sustained load | Testing, starter projects, and low-traffic applications |
| **General purpose** | Sustained CPU and memory with no throttling | Production traffic and workloads at scale |

Select **View more configurations** to expand the shortlist to every size available on the plan.

![Step two of the deploy flow in SurrealDB Studio, titled Configure your single-node instance, showing three instance type cards: Burstable small with 0.5 core and 1 GB memory, General purpose medium with 1 core and 4 GB memory, and General purpose xlarge with 4 cores and 16 GB memory. Below the cards is an Instance details form with the name api-production, the region AWS Europe (Ireland), and the version SurrealDB 3.2.4.](~/assets/img/surrealdb/manage/instance-configure.webp)

## 3. Enter the instance details

Complete the three fields in the **Instance details** form.

**Name** identifies the instance in the organisation and in every connection string. You cannot change it later, so use a name that stays meaningful: `api-production`, `api-staging`, or `analytics-eu`.

**Region** determines the latency to your clients and where the data resides. You cannot change it later either. Deploy into the same region as your application stack where you can. Instances are currently available in:

- AWS US East (N. Virginia)
- AWS US West (Oregon)
- AWS Europe (Ireland)

The region selector shows what is available to your organisation, and that list is the authoritative one. [AWS PrivateLink](/docs/manage/instances/private-connectivity.md) is offered in a subset of regions.

**Version** sets the SurrealDB release the instance runs. Take the latest stable release unless you have a reason not to. You can upgrade an older release later from **Settings → Version**. See [Versions and upgrades](/docs/manage/instances/versions-and-upgrades.md).

## 4. Choose the starting data

A new instance can start empty or with data already in place.

| Option | Result |
| --- | --- |
| **Empty** | An instance with no namespaces or databases |
| **Demo dataset** | A sample dataset and example queries to explore |
| **Upload from file** | Data loaded from a file you supply |
| **Restore from backup** | A copy of an existing instance, taken from one of its [backup snapshots](/docs/manage/instances/backups.md) |

**Restore from backup** is how a restore works. The snapshot becomes a new instance and never overwrites the original. The backup must come from the same region, and the storage size must be at least as large as the source.

## 5. Set the storage capacity

Storage is provisioned per instance, and the available range depends on the plan and the instance type.

You can increase storage later but never decrease it. Start close to what you need rather than over-provisioning. See [Scaling](/docs/manage/instances/scaling.md).

## 6. Review and deploy

1. Select **Continue to checkout** to show the order for review.
2. Enter payment details if the organisation does not have them yet. See [Billing](/docs/manage/organisations/billing.md).
3. Confirm the order.

The instance is provisioned within a few minutes.

## 7. Verify the instance

1. Go to **Instances** in the organisation.
2. Confirm the new instance appears in the list.
3. Open the instance and check that the [dashboard](/docs/manage/instances/monitoring.md) reports the version, region, and instance type you chose.
4. [Connect to the instance](/docs/manage/instances/connect.md) and run a query.

If the instance started empty, it has no namespace or database yet. Create both before you run a query. See [Connect via SurrealDB Studio](/docs/manage/instances/connect/via-studio.md).

## Deploying from the command line

`surrealctl instance create` performs the same deploy, which is what you want in CI or in a provisioning script. See [surrealctl instances](/docs/manage/surrealctl/instances.md).

## Next steps

- **[Connect to an instance](/docs/manage/instances/connect.md):** SurrealDB Studio, the CLI, SDKs, and HTTP.
- **[Configure an instance](/docs/manage/instances/configure.md):** capabilities, compute, and storage.
- **[Monitoring](/docs/manage/instances/monitoring.md):** confirm the instance is healthy.
