About FrostFS

FrostFS is a free and opensource software-defined object storage platfom. It exposes a bespoke gRPC API and provides protocol gateways for S3 and HTTP (FUSE and sFTP gateways are also planned). Application developers may connect through gateways or use native FrostFS protocol via first-party SDKs for Go, Java, C# and Python.

FrostFS deploys to a network of nodes which can be distributed planet-wide. All FrostFS components are designed to operate in untrusted and unstable networks (exposed to Internet). Integration with Neo blockchain provides battle tested mechanisms for trusted governing, time keeping and consensus building. Private FrostFS deployments are also possible (using Neo privnet).

FrostFS stores data in objects — arbitrarily large binary blobs and their assosiated metadata — which are typically assumed to be read or written as a whole. FrostFS objects are immutable and content-addressable: object identificators (OIDs) are calculated based on object’s data and metadata, for example: 78sohnudVMnPsczXqsTUcvezosan2YDNVZwDE8Kq5YwU. Objects are stored in containers which encapsulate the selected placement policy and some additional metadata. FrostFS containers are also content-addressable (by CIDs) and are immutable in a sense that placement policy and container metadata may not be changed after container creation.

FrostFS ensures storage reliability on multiple levels:

  • Data replication and erasure coding provide tolerance for equipment failures. Users have full control over data placement policies and may configure a specific failure domain for each container.
  • Network isolation and split-brain situations are considered a fact of life in FrostFS design. Operations will continue as close to normal as possible both during and after such events, no network-wide rebalance storms will be triggered. Split-brain and time drift reconciliation happens automatically in a safe and deterministic fashion.

FrostFS is truly distributed, there is no centralized state or database. Losing any node means losing only the data it contained (typically recoverable via replication and/or erasure coding). Adding new nodes is a non-event, FrostFS allows to grow total storage capacity without any downsides.

FrostFS is developed in the open at git.frostfs.info. FrostFS components are opensource: most are released under GNU GPL 3.0 with the rest under Apache 2.0.