What is Atmos?
Atmos is a scale-out object storage platform with a RESTful API. It speaks HTTP natively and was designed for unstructured content such as PDFs, Word documents, and images that don't fit well into the rows and records of a database table. Atmos handles the difficult task of replicating and protecting data using policies that can be triggered based on the key/value pairs associated with a given object.
Traditionally, storage systems were designed in a scale up architecture that, under varying scenarios, “could not go down” because of the potential for total system failure. Atmos was designed with the pragmatic sense that nodes, disks, and other infrastructure “will go down,” but because of the distributed architecture involved, processing is shifted to other resources in the cluster allowing Atmos to handle failure better.
Why should I use Atmos with my web or mobile application?
Atmos makes it easy to scale the storage layer behind a web or mobile app. At small scale with a nominal amount of data NFS and CIFS mounts may be perfectly suitable storage platforms to use. But at scale NFS and CIFS can be difficult and costly to manage from an administration standpoint.
Sharding is a common strategy that web application developers utilize to partition data across a number of NFS mounts behind the web servers. This may work well for small mounts of data, but becomes untenable at scale.
Twenty web servers and twenty NFS mounts require administrators to manage 400 total NFS connections because each server needs access to each NFS mount point.
NFS doesn’t always go down gracefully when failure occurs depending on the version of NFS and the configuration. When using the Atmos RESTful web services interface with web applications systems administrators need not manage NFS mounts from web servers nor will failure of a given node or disk result in total failure of the application stack.
Atmos for geographic distribution
Atmos was designed to work across disparate geographies. As such, one of the primary values of Atmos is that it efficiently replicates objects to other Atmos instances synchronously or asynchronously based on a policy triggered. Custom user metadata and system metadata can be used to activate the appropriate policy.
Replicating objects to disparate locations can allow users in those local areas to be served content from optimally positioned Atmos instances preventing unecessary access over potentially slow network links.