The Kinetic Open Storage platform represents an opportunity to substantially address the inefficiencies of traditional datacenters whose legacy architectures are not well-adapted to highly distributed and capacity-optimized workloads of exploding unstructured data and applications.
Current datacenters are characterized by multiple layers of software and hardware stacked together in order to enable a data path between two poorly compatible systems: An object-oriented application layer and a hardware layer (spanning HDDs, SSDs, and tape) based on block-storage. The transit path from application to storage requires multiple layers of manipulation from databases, down through POSIX interfaces, file systems, volume managers and drivers. Information passes over Ethernet, through Fiber Channel, into RAID controllers, SAS expanders and SATA host bus adapters.
Beyond the obvious inefficiency of having to move through multiple layers, this model relies on a dated assumption about the operation of local storage devices: in the 1970s storage was organized close to, and based on, the physical attributes of a device. This has all changed, but the software stack has not evolved.
The majority of today’s mass scale object applications do not need either file semantics (e.g. change the middle of a file, append to the end of a file, refer to a file by a name in a tree of names) or a file system to determine and maintain the best strategy for space management on a device. Modern applications need only object semantics (e.g. write the whole thing, read the whole thing, delete the whole thing, refer to it by a handle chosen by the client and cluster manager), and should not need to worry about where data resides on a given device.
In order to manage this complexity, an entire ecosystem of storage server technology providers (both hardware and software) has risen up purely to abstract it from both the device and the application layers. Not only is this inefficient, it also introduces additional barriers between the two realms that can impede surfacing of storage features and functionality.
What if we could start over and re-structure the stack from the bottom up? What would it look like if object-oriented applications could speak directly to, and in the language of the storage device? It would look like the Kinetic Open Storage platform.
Kinetic is:
- A new class of key/value Ethernet drives + an open API and series of libraries
- Designed to provide the simplest semantic abstraction and enable the broadest set of applications through an easy-to-use, minimalist API
- The right platform to maximize innovation and value both within and above the storage device
Together, these pieces enable applications to target storage devices directly and take best advantage of storage features. Drives talk in keys and values, as opposed to blocks. They do ‘get’, ‘put’, and ‘deletes’. They allow applications to distribute objects and manage clusters, while letting the drive efficiently manage functionality such as:
- Managing key (object) ordering
- Quality of service
- Policy-based ‘drive-to-drive’ data migration
- Handling of partial device failures and other management
- Data at rest security