
Mountpoint for Amazon S3 connects AWS S3 buckets to Linux filesystems. While intended to bridge the gap between object storage and filesystems (and Kubernetes using a CSI driver), it has several downsides that cause problems for developers: limited POSIX compatibility, limited directory handling and file editing, and inconsistent file-writing behavior.
This article summarizes the alternatives to Mountpoint, including open-source solutions with better POSIX compatibility, and Object Mount, which provides near-native POSIX compatibility and outperforms Mountpoint by up to 7× in Linux and serverless environments.
Mountpoint for Amazon S3 compatibility: it’s not very good
When choosing the storage component that will serve as the foundation for your HPC, ML, media, and other high-throughput workflows, you’ll want to focus on three key factors: compatibility, performance, and reliability. Unfortunately, Mountpoint for Amazon S3 falls short on two out of three.
Poor compatibility: Mountpoint doesn’t support all POSIX operations (it’s extremely limited), as shown in our FFmpeg benchmarks where it failed to complete even common FFmpeg tasks.
Adequate performance: Mountpoint performs similarly to other FUSE-based filesystem adapters and may be acceptable for some production scenarios—but it’s far from the best.
Poor reliability: Lack of support for common POSIX operations and limited compatibility beyond AWS S3 mean that file operations and workflows that should succeed often fail.
Mountpoint is more “S3” than “mount.” Its limitations force you to make significant alterations to existing code—or tailor new solutions to its quirks—often to the point where you may as well just use the S3 API directly.
While Mountpoint makes sense for certain AWS-centric use cases, developers building HPC applications typically look for alternatives that are more flexible and compatible with multiple cloud and on-premises object storage systems.
Mountpoint-S3 alternatives: s3fs, Goofys, s3ql, and Object Mount
s3fs-fuse, Goofys, s3ql, and other commercial offerings provide varying levels of POSIX support and compatibility with multiple cloud and on-premises object storage providers. However, the performance of these FUSE-based solutions is poor—and as shown in our FFmpeg benchmarks, some still fail to complete a standard FFmpeg workload due to POSIX issues.

s3fs, Goofys, s3ql, and other commercial products all solve at least one of the problems developers face when implementing object storage, but not all of them
Object Mount is a Mountpoint for Amazon S3 alternative that outperforms s3fs, Goofys, and other FUSE-based object storage filesystem layers. It delivers better performance than S3’s own tools—and better cost and performance than AWS EFS, EBS, and FSx for Lustre.

The performance advantages of cunoFS over Mountpoint for Amazon S3 using cp command to copy 5x 32GiB files to/from ramdisk (smaller time means faster)
Object Mount supports Kubernetes CSI and serverless
Object Mount offers the best POSIX compatibility among object storage filesystem layers, with near-native behavior. It resolves all of the compatibility and performance issues discussed above across on-premises, hosted, containerized, and serverless environments.
While Mountpoint and Goofys provide CSI (Kubernetes Container Storage Interface) drivers, their core limitations still remain. Object Mount includes its own CSI driver for Kubernetes, allowing you to use AWS S3, Google Cloud, and Azure storage seamlessly within your Kubernetes clusters.
Advantages of using Object Mount over Mountpoint for Amazon S3
Object Mount directly addresses the biggest problems developers, sysadmins, and DevOps engineers face when working with object storage through AWS Mountpoint.
Here are some of the compatibility issues we’ve seen when developers run their code with Mountpoint—all of which are solved by switching to Object Mount:
- Mountpoint never allows overwriting a file. You must delete the file first if it exists. Even the –allow-overwrite flag doesn’t let you do something as simple as appending to a file using the >> operator.
- Directories don’t exist in Mountpoint. Clearing the cache discards empty directories. Files in Mountpoint can have paths, but there are no standalone directories—so empty ones disappear when data is written to S3.
- Mountpoint doesn’t support random access writes. This is a dealbreaker for many workloads. Applications like FFmpeg require random access writes to support their full range of file formats, including common ones like MP4.
- Mountpoint doesn’t support rename. You can’t use the mv command to rename files or directories in a bucket. This breaks tools like rsync, which rename temporary uploads once transfers are complete, leading to a frustrating development experience.
While Mountpoint for AWS S3 is faster than most FUSE-based alternatives, it’s still up to 7× slower than Object Mount—and it failed our recursive copy benchmark. Object Mount also keeps your files intact: unlike some alternatives, it doesn’t scramble or split them, ensuring data remains fully accessible in your object storage.
Object Mount is a Mountpoint alternative for Kubernetes and Docker that also works for Windows and Mac
Object Mount was originally developed to deliver high-throughput, POSIX-compatible filesystem access to object storage for high-performance workloads in the genomics industry. It has since evolved into a full Mountpoint alternative that can mount AWS S3, Google Cloud, and Azure Blob Storage as a filesystem in virtually any Linux environment.
Object Mount can also run locally or in the cloud on macOS and Windows using Docker or WSL.
How to connect to S3 as a filesystem in minutes
Setting up Object Mount is simple: all you need is an AWS S3 bucket and a few minutes.
- Create an AWS S3 bucket (or use an existing one—Object Mount works with all your data already in S3!) and an IAM user with read and write permissions.
- Set up Object Mount according to the instructions for your environment or operating system.
- Once Object Mount is installed and connected to an S3 bucket, enable Direct Interception mode using the objectmount command. This loads Object Mount in your shell, letting you access files in your S3 buckets from your POSIX environment using S3-style paths and perform commands that would otherwise fail on Mountpoint:

With Object Mount enabled, you can run all your existing applications and scripts as usual, supplying S3 URIs instead of filesystem paths. Unlike Mountpoint for Amazon S3, everything just works—allowing you to work directly with files in S3 as if they were stored locally.
If you’d like to use Object Mount in scripts or automated environments, add it to your shell profile or enable automatic interception in containerized environments.
If you’re deploying to Kubernetes with CSI, you can integrate Object Mount by following our CSI documentation.
To learn more about using Object Mount for your workflow—or to discuss performance benchmarks, deployment options, or pricing—contact our sales team.