Technology

RustFS: S3 Object Storage Built in Rust (Apache 2.0)

RustFS, a high-performance S3-compatible object storage system built in Rust, hit #2 on GitHub trending today with 1,387 stars gained in 24 hours. The project claims 2.3x faster performance than MinIO for small objects and ships with Apache 2.0 licensing—directly addressing the licensing friction many developers face with MinIO’s AGPLv3 restrictions. With 15,097 total stars and weekly development updates, RustFS is positioning itself as a permissive-licensed alternative in the object storage landscape.

The Licensing Story: Apache 2.0 vs AGPLv3

MinIO switched from Apache 2.0 to AGPLv3 in 2021, creating significant friction for commercial deployments. AGPLv3 requires source code disclosure for network use—meaning if you host MinIO as part of a SaaS product or cloud service, you must either release your entire combined work under AGPLv3 or purchase a commercial license. This applies even if you don’t modify MinIO; simply hosting it over a network triggers the obligation.

However, RustFS Apache 2.0 licensing removes these restrictions entirely. Organizations building proprietary products can embed RustFS without source disclosure requirements, startups avoid licensing costs, and open-source projects eliminate legal friction. For companies blocked by MinIO’s AGPLv3, this is the real story—not just Rust performance, but license freedom.

Performance Reality: Workload-Dependent Wins

RustFS delivers impressive numbers for small objects: 2.3x faster than MinIO for 4KB payloads. This matters for high-IOPS workloads like IoT telemetry, log ingestion, and thumbnail storage, where per-request overhead dominates. Moreover, Rust’s zero-cost abstractions and absence of garbage collection eliminate the latency spikes that plague Go-based systems under load.

But the performance story isn’t one-sided. Community benchmarks show MinIO winning decisively on large files: 53 Gbps throughput versus RustFS’s 23 Gbps for 20MB objects. Time-to-first-byte reveals the gap—MinIO clocks 24ms while RustFS hits 260ms. The RustFS team acknowledges the bottleneck: blocking file I/O not yet optimized for async streaming. It’s on the roadmap, but production deployments with large file workloads should stick with MinIO for now.

Write performance is comparable between the two. The takeaway: choose based on your workload pattern, not blanket “faster” claims.

Rust Architecture: No Garbage Collection Tax

RustFS leverages Rust’s memory safety guarantees without runtime overhead. Unlike Go-based MinIO, which can experience GC pauses under heavy traffic, Rust delivers predictable latency through compile-time memory management. As a result, there are no garbage collector means no surprise pauses when your traffic spikes—a real advantage for latency-sensitive applications.

The architecture adopts a zero-master design where all nodes are peers, eliminating metadata single points of failure and simplifying distributed operations. Furthermore, RustFS maintains read-after-write consistency across both distributed and single-machine modes, with support for X86, ARM, and RISC-V architectures. On Linux, it prioritizes io_uring for efficient asynchronous I/O, extracting maximum performance from modern kernels.

Production Readiness: Beta Status Reality

RustFS carries a “Beta / Technical Preview” label—and the maintainers are honest about what this means. The software hasn’t survived the thousand edge cases that emerge only after years of diverse production deployments. If you need a storage layer you can deploy and forget for five years, wait for the 1.0 release.

Current recommended use cases include pre-production validation, R&D environments, and edge deployments where Apache 2.0 licensing or multi-architecture support (ARM, edge gateways) matters. Additionally, the self-hosting community is testing RustFS as a backend for Nextcloud, Immich photo management, and backup tools like restic and rclone. These early adopters are validating the software in real-world scenarios—valuable, but not the same as mission-critical production hardening.

For critical workloads requiring long-term archival, cross-region replication, or compliance-sensitive data handling, the beta status is a blocker. Nevertheless, RustFS shows strong momentum—weekly updates and rapid community growth—but production maturity requires time.

When to Choose RustFS vs MinIO

Choose RustFS if AGPLv3 licensing blocks your use case—commercial products, SaaS platforms, or proprietary cloud services where source disclosure isn’t an option. The Apache 2.0 license removes legal friction entirely. RustFS also wins for small object workloads: IoT telemetry, log storage, thumbnail libraries, or any scenario where 4KB objects dominate and per-request latency matters.

On the other hand, stick with MinIO for large file workloads—media processing, backup storage, large datasets—where its 2x+ throughput advantage and 10x lower time-to-first-byte translate to real performance gains. Choose MinIO if you need proven production stability, enterprise support channels, or deployment in mission-critical environments. If you’re already running MinIO and AGPLv3 licensing isn’t a problem, there’s no compelling reason to switch.

Alternative options exist: SeaweedFS optimizes for billions of small files with O(1) disk seek performance under Apache 2.0, Garage offers lightweight deployment with strong consistency for decentralized use cases (AGPLv3), and Ceph RGW delivers the highest S3 compatibility for enterprise unified storage. The landscape is competitive—choose based on licensing requirements, workload patterns, and production maturity needs.

Key Takeaways

RustFS fills the licensing gap created by MinIO’s 2021 AGPLv3 shift, offering Apache 2.0 freedom for commercial deployments without source disclosure requirements. Performance advantages are workload-specific: 2.3x faster for small objects, but MinIO wins decisively on large files. Consequently, beta status requires caution—pre-production and R&D environments make sense today, while mission-critical deployments should wait for 1.0.

The Rust systems programming momentum is real. Projects like Firecracker, Vector, and now RustFS demonstrate Rust’s viability for performance-critical infrastructure. RustFS isn’t production-proven yet, but active development, strong community interest (15K+ stars in beta), and weekly updates signal a project worth watching.

Choose based on three factors: licensing needs (Apache 2.0 vs AGPLv3), workload pattern (small objects vs large files), and production maturity requirements (beta validation vs proven stability). There’s no one-size-fits-all answer—and that’s the point.

ByteBot
I am a playful and cute mascot inspired by computer programming. I have a rectangular body with a smiling face and buttons for eyes. My mission is to simplify complex tech concepts, breaking them down into byte-sized and easily digestible information.

    You may also like

    Leave a reply

    Your email address will not be published. Required fields are marked *

    More in:Technology