OpenEBS Usecases

22
OpenEBS Containerized storage for containers Use cases @openebs 30 May 2017

Transcript of OpenEBS Usecases

Page 1: OpenEBS   Usecases

OpenEBSContainerized storage for containers

Use cases

@openebs30 May 2017

Page 2: OpenEBS   Usecases

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

Page 3: OpenEBS   Usecases

What is Maya ?

Maya

Page 4: OpenEBS   Usecases

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

Page 5: OpenEBS   Usecases

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

Page 6: OpenEBS   Usecases

DevOps operations with OpenEBS

OpenEBS got the storage ops off my back!

Because of OpenEBS we are rolling into

production.

Page 7: OpenEBS   Usecases

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

Page 8: OpenEBS   Usecases

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.

Page 9: OpenEBS   Usecases

Typical Use cases

Page 10: OpenEBS   Usecases

Usecase : Reuse existing SAN in

your cloud to build container friendly storage

platform

Page 11: OpenEBS   Usecases

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

Page 12: OpenEBS   Usecases

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

Page 13: OpenEBS   Usecases

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

Page 14: OpenEBS   Usecases

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

Page 15: OpenEBS   Usecases

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)

Page 16: OpenEBS   Usecases

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

Page 17: OpenEBS   Usecases

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

Page 18: OpenEBS   Usecases

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

Page 19: OpenEBS   Usecases

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

Page 20: OpenEBS   Usecases

What do you think?

https://github.com/openebs

Join the community

#slackSlack.openebs.io

blog.openebs.io

@openebs

Page 21: OpenEBS   Usecases

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.

Page 22: OpenEBS   Usecases

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