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 clients.
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 environment.
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.