Skip to content

Storage types

In the broad sense, we have three types of storage:

  • Block Storage
  • Instance included Storage
  • Object Storage

These options cover different kinds of needs, and are accessed in somewhat different ways, and have their own set of tradeoffs.

Block storage

These are storage volumes that are located outside the hypervisor running the server. They are exposed to the server as its own block device, and the block device can be extended while the server is running.

Instance included Storage

Certain instances support having its boot image located directly on the hypervisor which is running the instance. There are mainly two reasons for this:

  • The server storage is not depending on any common centralized storage solution.
  • The IO latency is lower than with persistent volumes, and IO is generally faster.
  • It is possible to build a group of servers that are hosted on different hypervisors, and are themselves located in different failure-domains.

Limitations

The instance included storage can only be scaled up if the server itself is scaled up. It can NOT be scaled down again. Any change require a server reboot, and it may also require downtime if the change require the server to be moved to a different hypervisor - this can take several minutes.

Potential data loss

Data stored on instance included storage will be unavailable in the event of hardware failure on the hypervisor, and does not include backup or replication. When chosing server instances with included storage, you also accept to re-create the server and its data in the event of hardware failure.

Object storage

This is a storage solution that is accessed using the S3 API.