OpenEBS Usecases

Preview:

Citation preview

OpenEBSContainerized storage for containers

Use cases

@openebs30 May 2017

What is OpenEBS ?

➔ OpenEBS is containerized storage for containers

➔ OpenEBS solves the persistent storage issue for containers

Legacy

storage

X

Application

Pod

★ Application pod management

automatically takes care of storage

volume management

What is Maya ?

Maya

Manifests express intent

K8S used with special care for apps requiring

persistence because they require brittle tight coupling.

Container 1 Container 2 Container 2

Hard wired connections via plug-in

stateless stateful

NAS SAN S3 NAS SAN S3

Without OpenEBS DevOps workflow is broken

Manifests express intent

stateless stateful

No changes to DevOps workflow even for containers requiring

persistence. Users manifest their intent and the storage and

storage controllers adjust automatically as needed.

OpenEBSPolicy engine

Remote Storage

Local Storage

OpenEBS Storage Hosts

OpenEBS VSMs

OpenEBS Storage ClusterEBS

APIs

Containers and underlying storage,

local on host or dedicated storage

pods OR remote S3 or EBS storage

all grouped into a storage cloud that

just works. Billing by AWS.

Manifests express intent

With OpenEBS the workflow works

DevOps operations with OpenEBS

OpenEBS got the storage ops off my back!

Because of OpenEBS we are rolling into

production.

How is OpenEBS built ?Storage containerization

Storage orchestration

Deep storage operations

Core Storage features

is built using

is integrated with

is built into (OpenEBS Maya)

is built into (OpenEBS)

Smart Capacity Management Volume Latency Monitoring and Auto-healingAdapt to varying workloads - Application Aware Storage (Zones)AWS EBS Like APIsStorage Analytics!

Enterprise HA Intelligent QoSDistributed Scaleout Smart Tiering for higher performance

OpenEBS - Word of mouth

Containerized storage for containers

Calico / Flannel owns networking for K8S. OpenEBS owns

storage.

The only open source solution built for this. CEPH is not built

to be containerized.

I run (use) OpenEBS just like I run (use) K8S (EBS).

OpenEBS got the storage ops off my back! Because of OpenEBS

we are rolling into production.

Typical Use cases

Usecase : Reuse existing SAN in

your cloud to build container friendly storage

platform

Build container friendly storage platform

AWS

VMs

EBSDocker

Application Pod (Application has

container-native storage)

● The existing SAN storage (EBS or GCP PD or

any other block storage) in your cloud can be

integrated into K8s application pods by

OpenEBS

● Persistent storage need not be managed

separately in your cloud

● Your persistent storage is managed from within

your application yaml files

Usecase : Build AWS EBS or GCP PD type platform On-Premise

Deploy EBS style platform On-Premise (Dedicated)

Your data center

Bare metal servers

Docker engines (Compute)

Bare metal storage

servers

Docker engines (OpenEBS)

Application

pod

yaml

A single application yaml

file controls both the

compute and storage

needs

Deploy EBS style platform On-Premise (Hyperconverged)

Your data center

Bare metal servers

Docker engines (Compute+OpenEBS)

Application

pod

yaml

A single application yaml

file controls both the

compute and storage

needs

Comparing AWS EBS & OpenEBS

Feature AWS EBS OpenEBS

Network Block Storage as a

service

Yes No. This is a technology

that can be used to build a

service or platform like AWS

EBS

Technology form factor Unknown Open Source

High Availability grade Five nines of availability Five nines of availability

Availability zones Yes Yes

Point in time Snapshots to

S3

Yes Yes, to S3 or any S3

equivalent (locally hosted

Minio for example)

Connectivity in AWS EBS (Optimized for Cloud service)

Login into AWS Console

Create an EBS volume

Attach to an instance

Format and put it to use

by application

Connectivity in OpenEBS (Optimized for Container service)

Login into Kubernetes

Set up an application

yaml with OpenEBS as

the storage provider

Volume is created on

OpenEBS and mounted

on K8S minion

Format and put it to use

by application

kubectl create -f demo-mysql-iscsi.yaml

Snapshots on AWS EBS vs OpenEBS

Incremental

Snapshot

Restore

Amazon

Cloud

Enterprise

data center

Incremental

Snapshot

Restore

Amazon

CloudAny other S3 Cloud

storage provider

S3 storage

in the data center

Scality

Minio

OpenEBS

volumes

Apps in

Containers

Incremental

Snapshot

Restore

Incremental

Snapshot

Restore

Incremental

Snapshot

Restore

Other features comparison of AWS EBS & OpenEBS

Feature AWS EBS OpenEBS

Volume migration across tiers

(Magnetic, General Purpose

SSD, Provisioned IOPS)

Yes Yes, VSMs can be migrated

seamlessly across tiers.

QoS control Yes (Provisioned IOPS) Yes, granular control of IOPS

on a per volume basis

Burst IOPS, credit bucket for

unused IOPS

Yes Yes. Min/Max IOPS, burst

IOPS, credit bucket

functionality

Auto scaling of the storage

nodes

Yes (Not sure. Internal to EBS

architecture)

Yes. OpenEBS storage nodes

are added to clusters to allow

auto scaling of either capacity

or performance

What do you think?

https://github.com/openebs

Join the community

#slackSlack.openebs.io

blog.openebs.io

@openebs

http://www.networkworld.com/article/3159735/cloud-computing/containers-what-are-containers.html

What is Containerization

Code and it is dependencies are packaged into “container” executable

Runs in any supported runtime

Light-weight and spins up faster.

Where does OpenEBS fit?

DevOps and containers are the futureWhich is already here, but unevenly distributed

Real computing needs persistenceBut - persistence for DevOps & containers is broken

Recommended