Amoeba FAQ

Choose a product

Safety, downtime, expanding, agent and costs.

Updated 27 October 2026

About Amoeba

What is Amoeba?

  • Amoeba is block storage cost optimization for VMs on Azure and AWS.
  • It moves a VM’s data disks onto one btrfs pool sized to your data, with room to grow. It grows the pool before it fills, and shrinks it one disk at a time when your data goes down and stays down. So you pay for close to what you use.
  • More on the product page: Block storage cost optimization on Azure and AWS.

Which disks does Amoeba work on?

  • The data disks of running Windows and Linux VMs: Azure managed disks, and Amazon EBS volumes on EC2 instances. Amoeba never touches the OS disk or root volume.
  • On Linux, the kernel must be recent and support btrfs. Every service that keeps a data mount open must run under systemd. The VM needs a few free disk slots for the pool.
  • On AWS, the instance must be managed by AWS Systems Manager and be a Nitro type.

What does onboarding a VM change?

  • Amoeba installs its agent through Azure Run Command or AWS Systems Manager. It builds the pool beside your disks and copies your data while your services run.
  • Then it switches each mount to the pool at the same path, with a short restart of the services that use it.
  • Once the switch is checked, Amoeba snapshots each source disk and deletes the disk. It keeps each snapshot for a few days, then deletes it too.

Do my applications need changes?

  • No. Each data mount keeps its path, so applications read and write where they did before.
  • Every process that keeps a data mount open must run as a systemd service, so the agent can stop and start it at the switch.

How much can Amoeba save?

  • We estimate 50–60% off block storage cost. It is an estimated range, not a promise.
  • The free block storage cost assessment works out your own figure from your Azure VMs and EC2 instances, at list price.

How do I get Amoeba?

  • Amoeba is in early access. Book a demo for early access, or run the free assessment first.

Safety and data

Can a shrink lose data?

  • A disk leaves the pool only after its data has moved to the other disks and the filesystem no longer uses it.
  • Before it starts, Amoeba checks the other disks have room for the data and can serve the VM’s disk load.
  • A pool that reports disk errors is never shrunk.
  • The emptied disk holds no data, so it is deleted at once, with no snapshot.

What happens if the switch onto the pool fails?

  • The agent tries to put the original mounts back and start your services again. The source disks are never written during the switch.
  • To come: what happens to writes made on the pool if a late check fails after the services restarted
  • Amoeba then tries the switch again, so your services can restart more than once.
  • If the outcome can’t be known, the move pauses instead.

What happens to my original disks?

  • A move only goes forward. Once the switch is checked, Amoeba detaches each source disk and takes a snapshot of it.
  • It deletes a source disk only after that disk’s own snapshot is complete.
  • It keeps each safety snapshot for a few days, then deletes it too.

Which resources does Amoeba delete?

  • A pool disk it emptied in a shrink.
  • A source disk after the switch is checked, once its snapshot is complete.
  • A disk an expand created and gave up on.
  • A safety snapshot, a few days after its source disk is deleted.

Downtime and performance

Is there downtime?

  • At the switch onto the pool: the systemd services that use the VM’s data mounts stop, the mounts move, and the services start again.
  • The switch runs by itself as soon as the copy has caught up. You don’t pick its time.
  • After that, the pool expands and shrinks while your services run, without unmounting.

Does the copy slow down my VM?

  • The copy runs inside the VM, and Amoeba sets its speed from your VM’s own disk load.
  • When the disks are busy, the copy slows down or waits. This needs cgroup v2 on the VM. Without it, the copy doesn’t slow down for your load.
  • To come: measured effect of the copy on disk latency

What disk performance does the pool get?

  • On Premium SSD v2 and gp3, each pool disk gets at least the baseline performance its cloud includes. It gets more when the VM’s own load needs it.
  • On Premium SSD, each disk carries the performance of its size, and Amoeba picks sizes that carry the load.
  • Amoeba doesn’t shrink a pool when the disks that stay couldn’t serve the VM’s disk load.

Expanding when data grows

How fast does Amoeba expand when data grows suddenly?

  • Amoeba grows the pool before it fills, and sooner when data arrives fast.
  • The agent reports the pool’s use regularly, and Amoeba weighs an expand on every report.
  • An expand adds room while the pool stays mounted, so your services keep running.
  • To come: typical time from the trigger to the added capacity

Does “Manual” stop Amoeba from expanding?

  • No. “When Zoorik shrinks” governs shrinks only. Expands run on their own, whatever the setting.

The agent

What happens if the agent stops reporting?

  • If the agent stops reporting for a few minutes, it reads “Disconnected”. Amoeba then reinstalls it through Azure Run Command or AWS Systems Manager, never during a move step or a pool operation.
  • Commands wait until it reconnects. The pool stays mounted, but it can’t expand or shrink in the meantime.
  • “Reinstall” in Settings installs it again.

What does the agent send to Zoorik?

  • In its regular reports: each mount’s size and use, the disks behind it, disk activity, and the pool’s error counters.
  • Host facts: the kernel version, whether btrfs is available, and the encryption state.
  • During the move: copy progress, and how busy the disks are.

How is the agent installed and updated?

  • Through Azure Run Command or AWS Systems Manager, when you onboard the VM.
  • It runs as the systemd service amoeba-agent.service, as root.
  • Amoeba updates it to each new release by itself. A version that fails its health check rolls back.

Platforms and disk types

Which Linux distributions does Amoeba support?

  • Any Linux with systemd and a recent kernel that supports btrfs.
  • It also needs rsync, btrfs-progs and psmisc. The installer doesn’t add them.
  • Amoeba doesn’t read the OS name. The running kernel alone decides.
  • Amoeba loads a btrfs module that isn’t loaded yet. If the kernel has no btrfs, the move pauses.

Does Amoeba work on Windows VMs?

  • To come: Windows support: versions, filesystems, and how the pool works on Windows

Does Amoeba work on AWS?

  • Yes. Amoeba pools the non-root EBS data volumes of running EC2 instances onto gp3 volumes in the instance’s Availability Zone.
  • You connect an account with its 12-digit ID and a script in AWS CloudShell that creates the IAM role ZoorikStorageOperator. The role trusts Zoorik only with your organisation’s external ID.
  • The agent installs through AWS Systems Manager. Instances must be running, managed by Systems Manager, and a Nitro type.

Which disk types does the pool use?

  • On Azure: Premium SSD v2 where the VM’s region and zone offer it.
  • Where the VM’s region or zone doesn’t offer Premium SSD v2, the pool uses Premium SSD.
  • Each VM gets one pool, on one disk type.
  • Data on Standard HDD, Standard SSD or Ultra Disk moves to Premium SSD v2 or Premium SSD. From Standard HDD or Standard SSD, that can cost more. Zone-redundant (ZRS) disks map to a locally redundant pool.
  • On AWS, the pool uses gp3 volumes in the instance’s Availability Zone.

Costs and savings

How is the saving worked out?

  • Before the pool: what the planned pool would cost, against the disks you have now.
  • After the move: what the source disks cost a month, against what the pool costs.
  • At Azure’s list price for the region, with a 730-hour month.
  • On AWS, at the AWS Price List API’s list price. AWS charges for EBS per GB-month.

Do I pay for both sets of disks during the move?

  • Yes, but only while the move runs. The source disks are deleted once the switch is checked.
  • Then you pay for the safety snapshots for the few days they’re kept.
  • The console’s disk spend counts both sets while the move runs.

What does Amoeba cost?

  • The assessment is free. If you pay for Amoeba, your order sets the price, how often you pay and the payment terms.
  • Your cloud provider charges you directly for the disks and snapshots Amoeba creates or keeps.

Getting started

How do I see what my VMs could save?

  • Run the free block storage assessment in your terminal or Cloud Shell, on Azure or AWS. It writes one PDF report with each VM’s estimated saving at list price.
  • It sends nothing to Zoorik, and asks once before it reads inside your VMs.

Can I start with one VM?

  • Yes. Amoeba acts only on the VMs you onboard, and leaves every other VM alone.
  • Set “When Zoorik shrinks” to “Manual” to start each shrink yourself.

What does Amoeba need in my Azure subscription?

  • The custom role “Zoorik Storage Operator”, assigned to Zoorik’s app on each subscription.
  • It can read every resource, update VMs, run commands on them, and create and delete disks and snapshots.
  • You set it up by running the connect script with your own Azure sign-in.

What does Amoeba need on AWS?

  • The IAM role ZoorikStorageOperator, created by a script you run in AWS CloudShell. It trusts Zoorik’s AWS account only with your organisation’s external ID.
  • It can read EC2 and Systems Manager; create, modify, attach, detach and delete volumes; create and delete snapshots; and run commands through Systems Manager.
  • Instances must be running, managed by Systems Manager and a Nitro type, with at least one EBS data volume.

Find your own number

One line in your cloud console. One PDF report with your estimated saving at list price.

Estimate your saving

Talk to the builders

Thirty minutes with the people who build Amoeba.

Book a demo (opens in a new tab)

Or write to founders@zoorik.com