What is StorageOs and How StorageOs works?

What is StorageOs?

StorageOS is a cloud native storage for Kubernetes solution. It can be used for provisioning PVs and when deployed:

  • Aggregates storage across all nodes in a cluster into a pool.
  • Allows volumes to be provisioned from the pool and for containers to mount those volumes from anywhere in the cluster.
  • Transparently redirects reads and writes to the appropriate volume, so the container is unaware of whether it is accessing local storage or remote storage.
  • Thin provisions volumes to avoid consuming disk space unnecessarily.

StorageOS integrates transparently with Kubernetes. Users can provide standard PVC definitions and – StorageOS will dynamically provision them. Using StorageOS makes it possible to handle data through – Kubernetes, and get the same declarative, application-centric interface to manage storage resources that Kubernetes provides for compute. Using a software-defined storage layer deployed as a container, like StorageOS, ensures that storage platform is portable and platform agnostic – allowing the same declarative configuration to be used on-premises as well as in the cloud.

StorageOS is a software-defined, cloud native storage solution for containers. To run applications which require persist storage within containers, we require a layer which can provide persistent disk storage to those containers, independent of the lifecycle of the containers themselves.

You store your data where you want – in the cloud, on-premises or hybrid. StorageOS abstract your data, provide a storage pool and the scalability, resiliency, performance and availability your stateful application requires.

You gain persistent storage deployed with the same declarative syntax you use for Kubernetes. A low container footprint, you can use StorageOS to support your cloud native workflows.

StorageOS V2 is built from the knowledge and experience of running stateful production workloads in the fast changing container world.

Advantage of StorageOs?

Feature of StorageOs?

Performance

Deterministic performance
Predictable low latency for databases and other stateful applications.

Data locality
Application workloads are automatically placed on nodes that have a local copy of the application data. This improves application performance by reducing latency.

In-memory caching
Speed up access to volumes even if volumes are located on a remote node.

Quality of service
Prioritize data traffic and address the “noisy neighbours” problem.

Reliability & Scalability

StorageOS Delta Sync
Reduces the time to recovery allowing rapid cluster convergence by only replicating the missed data to the node.

Synchronous replication for high availability
Quickly recover applications and databases. Volumes are accessible across the entire cluster providing high availability, durability, and consistency of application data.

Disaggregated consensus
Each volume independently manages placement and recovery – reducing blast radius and increasing reliability in today’s complex, noisy environments.

Cloud native control plane
Performs volume provisioning and cluster operations in milliseconds, enabling complex workloads in large clusters.

Security

Encryption
Ensure your data is safe at rest, and on the wire, with our powerful industry standard AES encryption. Keys are unique per volume and stored as Kubernetes secrets.

Secure by default
StorageOS enables security at every layer of the stack with automated certificate management, secure endpoints and encryption of data between nodes.

Access controls
Support multi-tenancy – full integration with Kubernetes namespaces and Role Based Access Control.

Volumes

Dynamic provisioning
Dynamically provision self-service storage using Kubernetes CSI, StorageClasses and Persistent Volumes Claims. Declarative configuration makes life simple for engineers.

Volume management
Flexible volume configuration. All features can be applied granularly per volume.

Thin provisioning
Only use the disk space you need in a storage pool.

Data compression
Transparent inline data compression to reduce the amount of storage used in a backing store as well as reducing the network bandwidth requirements for replication.

Block checksums
Each block is protected by a checksum which automatically detects any corruption of data in the underlying storage media.

Storage pooling
Pool storage from multiple nodes into a cluster-wide storage pool with a global volume namespace.

Observability

Logging
Log streams for observability and Prometheus for instrumentation.

Prometheus metrics
View IOPS and bandwidth data for each volume – understand and monitor the IO load in your cluster.

Manageability

CLI
Open source CLI to manage cluster-wide configuration.

GUI
Visualize the storage environment with the StorageOS GUI for ease of use.

RESTful API
HTTP API used for managing volumes and StorageOS services.

Deployment

Installs anywhere
On-premises, bare metal, VMs, or in the cloud.

Integration/Supported platforms
Native integration with containers, Kubernetes and CSI. Certified for Openshift and Rancher, and integrates with AWS EKS, Google GKE and Azure AKS.

Ease of use

Simple to install
The StorageOS operator makes it easy to install (with a few easy clicks)

Simple operation model
Simply provision volumes and connect them to applications – storage has never been so easy!

Why StorageOS?

StorageOS Platform Architecture or How StorageOS Works?

StorageOS-Platform-Architecture-Overview-Final-1

Reference

  • https://storageos.com/storageos-works-kubernetes
  • https://storageos.com/why-storageos
  • https://github.com/storageos
Rajesh Kumar
Follow me
Latest posts by Rajesh Kumar (see all)