OpenStorage is an API abstraction layer providing support for multiple public APIs, including the OpenStorage SDK, CSI, and the Docker Volume API. Developers using OpenStorage for their storage systems can expect it to work seamlessly with any of the supported public APIs. These implementations provide users with the ability to run statefule services in Linux containers on multiple hosts.
OpenStorage makes it simple for developers to write a single implementation which supports many methods of control:
Not only does OpenStorage allow storage developers to integrated their storage system with container orchestrations systems,
but also enables applications developers to use the OpenStorage SDK to manage and expose the latest storage features to their
Supported Control APIs
Container Storage Interface
is the standard way for a container orchestrator such as Kubernetes or
Mesosphere to communicate with a storage provider. OSD provides a CSI
implementation to provision storage volumes to a container on behalf of
any third party OSD driver and ensures the volumes are available in a
multi host environment.
OSD integrates with Docker Volumes
and provisions storage to a container on behalf of any third party OSD
driver and ensures the volumes are available in a multi host
CSI and Docker Volumes API provide a very generic storage control model, but with the OpenStorage SDK,
applications can take control and utilize the latest features of a
storage system. For example, with the OpenStorage SDK, applications can
control their volumes backups, schedules, etc.