I’ve followed Scality for a long time, through many previous presentations at Tech Field Days (see the further reading below) and at UK events too. I also recently presented at Scality SDS Day in London talking about the future of Software Defined Storage. So what is object storage and what do Scality do?
Object storage is a relative newcomer in the storage world, with origins traceable back to content addressable storage around 15+ years ago. In a nutshell, rather than store data as files or on block devices, an object store holds content (objects) without any real concern for the format of the data. So-called “binary objects” could still be files or more complex data like media or video.
The difference with Object is in the way the data is treated. File systems put data in a hierarchy and assign metadata that describes when the file was last accessed, written and who has permission to do so. You can edit a file in place. Controls exist to prevent multiple updates to the same file.
Object is a little different. There’s typically no hierarchy, with objects stored in a flat namespace. Objects are stored/retrieved using web-based or REST protocols, so content can be accessed across the Internet. Probably most important is that content is usually immutable. This means once it’s created, it remains unchanged until deleted or completely updated (which is essentially a delete/create action in itself).
Object stores are therefore much more appropriate for retaining large quantities of data. They have features that manage the access and data protection requirements of storing data at scale. For example, they have scale-out architectures and more scalable data protection like erasure coding. Whilst capacity is scalable, object stores aren’t usually designed to be high-performance like all-flash arrays. The “time to first byte” is usually much slower, but after that data should be streamed at a constant performance rate, which is a more useful measure.
How does this apply to Scality? The Scality platform is an SDS solution called RING. The software is installed on 6 or more hardware (or virtual machine) servers (with storage) that together form a resilient object store. Capacity and performance can be increased by adding nodes into the cluster of servers.
The name RING refers to the logical arrangement of nodes in a cluster. Each node owns a part of the object namespace, which can be drawn to look like an interconnected ring of servers. Locating or storing an object in a distributed cluster like RING is optimised using a number of algorithms that quickly locate the owning node of any piece of data.
Developing a scalable architecture is great, but one of the negatives with object stores has been the need to code applications to read and write HTTP calls rather than use (say) file access. Undoubtedly this has been a hindrance to object store adoption, so most vendors offer access to data through a range of protocols, including file. Data can be accessed concurrently by multiple protocols. This means (for example) an existing application could write data as a file to the object store, while a newly developed application does post-processing on the content as objects.
Scality supports a wide range of different protocols and most recently released Zenko, an open-source project that acts as an object store “gateway”. The company also released a cut down open source server called S3 Server, although that has been deprecated in favour of Zenko Cloudserver.
The Architect’s View
Obviously, there’s a lot more to Scality than I’ve listed here. You can check out some of the links I’ve added at the end of this post, which will provide additional background. In terms of what we’re likely to see, I expect Scality will talk Zenko, multi-cloud and perhaps features of RING7, which was released in June 2017. For more background on Object Storage in general, check out my Nine Critical Features for Object Stores and the first follow up posts (links below).
- Scality’s SDS London 2017 (Scality website, retrieved 2 November 2017)
- Zenko on GitHub (GitHub website, retrieved 2 November 2017)
- Scality Presents at Storage Field Day 11 (TFD Website, retrieved 2 November 2017)
- A3 Communications Technology Live October 2016 Paris: Scality (YouTube, retrieved 2 November 2017)
- Scality Introduces Zenko – A Multi-Cloud Data Controller
- Object Storage Essential Capabilities #1 – Scalability
- Object Storage Essential Capabilities #2 – Data Protection
Comments are always welcome; please read our Comments Policy. If you have any related links of interest, please feel free to add them as a comment for consideration.
Copyright (c) 2009-2017 – Post #C765 – Chris M Evans, first published on https://blog.architecting.it, do not reproduce without permission.