# Hardware requirements

### Snow Owl with a co-located Elasticsearch cluster

For installations where Snow Owl and Elasticsearch are co-located, we recommend the following hardware specifications:

| Snow Owl & co-located ES | Cloud            | Dedicated        |
| ------------------------ | ---------------- | ---------------- |
| vCPU                     | 8                | 8                |
| Memory                   | 32 GB            | 32 GB            |
| I/O performance          | >= 5000 IOPS SSD | >= 5000 IOPS SSD |
| Disk space               | 200 GB           | 200 GB           |

### Snow Owl with a managed Elasticsearch cluster

For installations where Snow Owl connects to a managed Elasticsearch cluster at [elastic.co](https://www.elastic.co/elasticsearch/service) we recommend the following hardware specifications:

| Snow Owl        | Cloud                                                     | Dedicated                                       |
| --------------- | --------------------------------------------------------- | ----------------------------------------------- |
| vCPU            | 8 (compute optimized)                                     | 8                                               |
| Memory          | 16 GB                                                     | 16 GB                                           |
| I/O performance | <p>OS: balanced disk</p><p>TS file storage: local SSD</p> | <p>OS: HDD / SSD</p><p>TS file storage: SSD</p> |
| Disk space      | <p>OS: 20 GB </p><p>TS file storage: 100 GB</p>           | <p>OS: 20 GB </p><p>TS file storage: 100 GB</p> |

| Elasticsearch @ elastic.co |                       |
| -------------------------- | --------------------- |
| vCPU                       | 8 (compute optimized) |
| Memory                     | 4 GB                  |
| I/O performance            | handled by elastic.co |
| Disk space                 | 180 GB                |

{% hint style="info" %}
In case Snow Owl is planned to be used with resource-intensive workloads (large code system upgrades, frequent classification of terminologies, bulk authoring) an 8 vCPU / 4 GB Elasticsearch cluster might not be sufficient. Consider increasing the size of the hosted Elasticsearch instance gradually, so that finding the sweet spot will be straightforward.
{% endhint %}

### Cloud VMs

Here are a few examples of which Virtual Machine types could be used for hosting the Terminology Server at the three most popular Cloud providers (including but not limited to):

| Cloud Provider | VM type                                                                                        |
| -------------- | ---------------------------------------------------------------------------------------------- |
| GCP            | [c2d-highcpu-8](https://cloud.google.com/compute/docs/compute-optimized-machines#c2d-high-cpu) |
| AWS            | [c5d-2xlarge](https://aws.amazon.com/ec2/instance-types/c5/)                                   |
| Azure          | [F8s v2](https://docs.microsoft.com/en-us/azure/virtual-machines/fsv2-series)                  |
