Jun 19, 2024
4 min read

Volumes Technical Preview: Blazing-fast NVMe SSD for Your Data

Ready? Day three of Koyeb launch week is on!

When you deploy your apps on Koyeb, your data is on ephemeral disks. While this works great for stateless applications, this is challenging for stateful workloads like databases. Just in time to save the day, we are launching the technical preview of Volumes!

You can now use Volumes to persist data between deployments, restarts, and even when services are paused.

We're gradually onboarding users to ensure the best experience for everyone. To access Volumes, join the preview.

What are Volumes?

Backed by blazing-fast NVMe SSD, Volumes are a key building block to support a wide range of new workloads on the platform including distributed databases, object storage, or any full-stack applications requiring long-term storage.

Volumes are running on the same physical machine as your services. This ensures low latency and high throughput for your applications. Koyeb Volumes are available in all regions and for all Instance types, including GPUs.

Volumes are local and as such they might fail as they are bound to a single machine. You need to rely on a distributed software to maintain high-availability and prevent data loss. Keep in mind that there is no redundancy here and fault-tolerance is on you.

During the technical preview, Volumes are free of charge.

Volumes Use Cases

Lots of applications need persistent data. Here are some of the applications that you will now be able to run in production on Koyeb thanks to Volumes:

  • Queue systems like RabbitMQ, Kafka, NATS, or Temporal
  • Databases like MySQL, PostgreSQL, Clickhouse, SQLite, Redis, or MongoDB
  • Vector databases like Weaviate or Milvus
  • Search and analytics engines like Elasticsearch, Quickwit, or Meilisearch
  • Storage like MinIO, Ceph, or S3 compatible storage.

And many more! During the next weeks, we will add more applications to our deploy catalog to help you get started in seconds with stateful services.

Of course, you can always deploy your own applications and services using Volumes. We can't wait to see what you will build!

Day 3 Launch Week #01

The Volumes technical preview is one part of five days of amazing releases

Check out the news

Next up, here is a quick demo of how to create your first Volume and attach it to a Service running on Koyeb using the CLI.

Getting Started with Volumes

Volumes provide additional, persistent, storage capacity for your services and come in addition to your instances provided ephemeral disk.

Each Volume you create is:

  • region-aware, meaning that for now, they need to be attached to services running in the same region.
  • formatted on a single partition partition with an ext4 filesystem
  • automatically encrypted at rest using AES256

To provision a new Volume, we introduced the volume command in the Koyeb CLI. To create a new Volume named hello-volumes with a size of 10 GB in Frankfurt, execute the following command:

koyeb volume create hello-volumes --size 10 --region fra

Once the Volume is created, we can attach it to any service, new or existing.

Attaching a Volume to a new service

To create a new service and attach the Volume previously created, we will use the app init command. For instance,to deploy and run a MySQL service with data persistence, run the following command:

koyeb app init mysql \
  --docker mysql \
  --region fra \
  --volumes hello-volumes:/var/lib/mysql \
  --env MYSQL_ROOT_PASSWORD={{ secrets.mysql_root_password }} \
  --port 3306:tcp

Here, the --volume option attaches and mounts the hello-volumes volume at the path /var/lib/mysql which is used by MySQL to store its data.

Attaching a volume to an existing service

To attach and mount a volume to an existing service, use the koyeb service update command. For instance, to attach and mount the hello-volumes volume at the path /mnt/data of a service named my-service, execute the following command:

koyeb service update my-app/my-service --volumes hello-volumes:/mnt/data

Pretty easy, right? Volumes provide a foundational primitive to build and run stateful applications on Koyeb with minimal effort.

What’s Next?

We're excited to see what you will build with Koyeb Volumes and we're looking forward to your feedback to help us shape the product.

New to Koyeb? To get started with Koyeb, you can sign up today and start deploying your first Service today.

Wishing you and your apps blazing-fast deployments! 🚀


Keep up with all the latest updates by joining our vibrant and friendly serverless community or follow us on X at @gokoyeb.


Deploy AI apps to production in minutes

Koyeb is a developer-friendly serverless platform to deploy apps globally. No-ops, servers, or infrastructure management.
All systems operational
© Koyeb