Core Concepts
The ideas presented here are intended to familiarise you with our approach to object storage. If you’re already familiar, feel free to skip to the next section Installation Prerequisites.
Characteristics of object storage
Object storage excels at high-throughput use-cases - usually in a “write-once-read-many” model. cunoFS, by itself, excels at unlocking the possible highest performance from object storage in many scenarios.
However, object storage technology significantly differs from conventional block and file storage solutions that POSIX applications typically expect. On object storage, file editing is typically slow and requires the file to be rewritten even for slight modifications. For this, cunoFS has some specific optimisations.
Direct use of object storage
cunoFS is intended to enable the usage of object storage as “hot storage” or as “first-class” storage. Whilst it is possible to use cunoFS to stage data from object storage locally, then run the task, and then upload the result back to object storage - cunoFS’ performance and POSIX-compliance mean that you can now just run the task directly on object storage.
Due to the “write-once-read-many” model of object storage, it does not always allow efficient partial modification in remote files or appending of new content. For many cases, our prediction engines, partial writes, client-side write-caching and other optimizations are enough to keep things running with great performance. For truly random, repeated writes our solution is cunoFS Fusion: combining the best of high-speed attached storage and object storage. Be the first to find out about it by signing up to our mailing list on our website or by emailing us directly at info@cuno.io.
Interception
When running in interception mode, cunoFS will insert itself between your applications and the operating system. It will dynamically redirect relevant filesystem calls made by the application through the API of your object storage solution. As a result, our mapping between file system concepts and object storage gives any application instant access to objects as files.
What cunoFS does
Provides any POSIX-compliant application high-speed access to object storage.
Allows you to use filesystem operations to list, copy, move, add, remove, and modify files stored on object storage.
Supports rich POSIX metadata including: users, groups, permissions, symbolic/hard links, and POSIX ACL
Preserves POSIX consistency guarantees equivalent to NFS. (cunoFS Fusion can provide even stronger consistency guarantees if needed)
What cunoFS does not do
Change the representation of files on object storage. No lock-in: file data is stored in a single object, and is not modified. This means data can be accessed directly on the object storage, bypassing cunoFS.
Affect the way that processes interact with non-cloud data.
Provide consistency guarantees for objects accessed directly on the object store rather than through cunoFS.