When designing a new application for the cloud, it can be confusing to decide which storage solution to use. Archil is designed to be a replacement for network block storage devices, such as EBS or Hyperdisk. The following table summarizes the key differences between Archil and other common storage solutions.
FeatureArchilBlock Storage (EBS)Native FUSEBlock FUSELustre

Block storage (e.g. EBS or Hyperdisk)

Block storage, such as EBS or Hyperdisk, are designed to provide high-performance, low-latency storage for your applications. While they provide full POSIX compatibility, they require manual capacity provisioning in advance, which can be challenging to predict accurately. They also cannot be shared between multiple servers and do not synchronize with object storage like S3. This means each server needs its own storage volume and must independently download data from S3, leading to redundant data transfers and higher costs. When you need to scale up your storage, you have to manually provision additional capacity and pay for the full provisioned amount regardless of actual usage.

Native FUSE adapters (e.g. S3FS and Mountpoint)

Existing FUSE adapters, such as S3FS and Mountpoint for Amazon S3, are not designed to support full POSIX semantics. For example, Mountpoint for Amazon S3 does not support file locks, random writes, renames, or symbolic links. In order to use these tools, you need to instrument your file applications to understand whether or not they use these unsupported operations, which can be difficult and error-prone. In addition, these tools do not provide shared caching for reference data sets to multiple clients, so large clusters may need to re-download the same data from S3 repeatedly. In comparison, Archil is designed to support all standard POSIX file operations, which means that it’s out-of-the-box compatible with all file applications.

Block FUSE adapters (e.g. JuiceFS and ObjectiveFS)

Other disk adapters for S3, such as JuiceFS or ObjectiveFS, require that you store data in your S3 bucket in a proprietary block format. This means that you cannot use your existing data sets in S3 with these tools, and these buckets aren’t compatible with any existing S3 workflows that you use. Archil stores data in S3 in its native format, so you can simultaneously use and share the data from both a disk and S3. You can also use Archil to connect to existing data sets in S3.

Shared file storage (e.g. Alluxio and FSx for Lustre)

Some solutions, like Alluxio or FSx for Lustre, require that you either deploy and manage your own infrastructure or that you provision capacity. It’s often difficult to predict the specific storage needs of an application, especially if the application can have unexpected or bursty needs. Archil is a fully managed, serverless solution that automatically scales with your application. You don’t need to provision capacity or deploy infrastructure, and you’re only billed for what you use.