containerized storage for containers - snia storage for containers. ... what if storage for...

32
September 2017 @OpenEBS Evan Powell - @epowell101 Containerized Storage for Containers

Upload: ngolien

Post on 30-Apr-2018

225 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 1

September 2017@OpenEBSEvan Powell - @epowell101

Containerized Storage for Containers

Page 2: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 2

Who?

v

Team of storage and DevOps engineers with a 5 year track record of delivering containerized storage (built

on jails) to NTT, eSilicon, TCS and other service providers.

CloudByte – our SDS brand.

Page 3: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 3

Who?

Evan Powell, CEODirector of Ops & BD who started

founding companies back in 2000 and is still at it. Also an investor and advisor

and friend to enterprise focused entrepreneurs.

Started as CloudByte / Open EBS CEO 7/1/17

v

Team of storage and DevOps engineers with a 5 year track record of delivering containerized storage (built

on jails) to NTT, eSilicon, TCS and other service providers.

CloudByte – our SDS brand.

Page 4: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 4

OpenEBS stars on GitHub (vanity)

Page 5: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 5

What if storage for container native applications was itself

container native?

Page 6: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 6

Architecture: Kubernetes

K8S Master

MinionPOD

Container

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

MinionPOD

Container

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

MinionPOD

Container

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

etcdAPIs

CntrlSchld

Minions run on physical nodes

PODs group containers, share an IP address, and each include a Kubelet agent

K8S Master services include: etcd, APIs, the scheduler, the control manager & others

Page 7: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 7

Architecture: Kubernetes + OpenEBS

K8S Master

MinionPOD

Container

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

MinionPOD

Container

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

MinionPOD

Container

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

etcdAPIs

CntrlSchld

OpenEBSAPIs Schld

Data Containers run in PODs on physical machines

Data Containers group physical disks local or remote, manage replicas, provide QoS control & more

OpenEBS brain runs on the Master; delivers services such as: APIs, a storage scheduler, analytics…

Page 8: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 8

DAS increasingly preferred to NAS/SAN

DASBenefits:

SimpleTies application to storagePredictable for capacity planningApp deals with resiliencyCan be faster

Concerns:Under-utilized hardware○ 10% or less utilization

Wastes data centerDifficult to manageLacks storage featuresCannot be repurposed - made for one workloadDoes not support mobility of workloads via containersCross cloud impossible

“We have ~100k nodes of Cassandra alone, and use DAS because it is easier even if it burns energy and capEx.”

Other example DAS users moving to Kubernetes:

Page 9: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 9

DAS increasingly preferred to NAS/SAN

DASBenefits:

SimpleTies application to storagePredictable for capacity planningApp deals with resiliencyCan be faster

Concerns:Under-utilized hardware○ 10% or less utilization

Wastes data centerDifficult to manageLacks storage featuresCannot be repurposed - made for one workloadDoes not support mobility of workloads via containersCross cloud impossible

Other example DAS users moving to Kubernetes:

“We have ~100k nodes of Cassandra alone, and use DAS because it is easier even if it burns energy and capEx.”

Page 10: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 10

DAS and Distributed

DASBenefits:

SimpleTies application to storagePredictable for capacity planningApp deals with resiliencyCan be faster

Concerns:Under-utilized hardware○ 10% or less utilization

Wastes data centerDifficult to manageLacks storage featuresCannot be repurposed - made for one workloadDoes not support mobility of workloads via containersCross cloud impossible

DistributedBenefits:

Centralized managementGreater density and efficiencyStorage features such as:○ Data protection○ Snapshots for versioning

Concerns:Additional complexityEnormous blast radiusExpensiveRequires storage engineeringChallenged by container dynamismNo per microservice storage policyI/O blender impairs performanceLocks customers into vendorCross cloud impossible

Page 11: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 11

DAS and Distributed

DASBenefits:

SimpleTies application to storagePredictable for capacity planningApp deals with resiliencyCan be faster

Concerns:Under-utilized hardware○ 10% or less utilization

Wastes data centerDifficult to manageLacks storage featuresCannot be repurposed - made for one workloadDoes not support mobility of workloads via containersCross cloud impossible

DistributedBenefits:

Centralized managementGreater density and efficiencyStorage features such as:○ Data protection○ Snapshots for versioning

Concerns:Additional complexityEnormous blast radiusExpensiveRequires storage engineeringChallenged by container dynamismNo per microservice storage policyI/O blender impairs performanceLocks customers into vendorCross cloud impossible

Page 12: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 12

DAS

Under-utilized hardware

Hard to manage

Lacks all storage features

Hard to support workload mobility

Page 13: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 13

YASSS: yet another scale out storage system

Page 14: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 14

YASSS: yet another scale out storage system

Huge blast radius

Page 15: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 15

!YASSS

Yet Another Scale Out Storage

System

Page 16: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 16

!YASSS

Yet Another Scale Out Storage

System

Page 17: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 17

Container Attached Storage = DAS++

DASBenefits:

SimpleTies application to storagePredictable for capacity planningApp deals with resiliencyCan be faster

Concerns:Under-utilized hardware○ 10% or less utilization

Wastes data centerDifficult to manageLacks storage featuresCannot be repurposed - made for one workloadDoes not support mobility of workloads via containersCross cloud impossible

OpenEBS = “CAS”✓ Simple✓ No new skills required✓ Per microservice storage policy✓ Data protection & snapshots✓ Reduces cloud vendor lock-in ✓ Eliminates storage vendor lock-in✓ Highest possible efficiency ✓ Large & growing OSS community✓ Natively cross cloud

DistributedBenefits:

Centralized managementGreater density and efficiencyStorage features such as:○ Data protection○ Snapshots for versioning

Concerns:Additional complexityEnormous blast radiusExpensiveRequires storage engineeringChallenged by container dynamismNo per microservice storage policyI/O blender impairs performanceLocks customers into vendorCross cloud impossible

CAS

DAS

Distributed

Page 18: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 18

Container Attached Storage

No special skills needed!

Page 19: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 19

Why per micro-service granularity important?Today’s scale out storage systems are almost infinitely configurable. Matching their configurations to static workloads is difficult. In a world of dynamic, ever evolving workloads due to micro-services and multi-cloud deployments, it is not a tractable problem for humans.

Let’s say you want to benchmark for your workload:

Source: Alex Aizman’s blog: https://storagetarget.com/author/alexaizman/

Page 20: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 20

Today’s scale out storage systems are almost infinitely configurable. Matching their configurations to static workloads is difficult. In a world of dynamic, ever evolving workloads due to micro services and multi-cloud deployments, it is not a tractable problem for humans.

Let’s say you want to benchmark for your workload:

Duration of run

6,700 years

Source: Alex Aizman’s blog: https://storagetarget.com/author/alexaizman/

Why per micro-service granularity important?

Page 21: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 21

Normal behaviorPOD

Container

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

Data Center 1 Maya

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

Data Center 2

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

EBS

AWS

EBS EBS EBS

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

GPD

GCE

GPD GPD GPD

1. CI/CD pipeline deploys:

2. OpenEBS reads intent FROM K8S For example:

- 2 sync copies- 50 / 50 cloud- 2 Data centers

Page 22: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 22

Normal behaviorPOD

Container

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

Data Center 1 Maya

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

Data Center 2

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

EBS

AWS

EBS EBS EBS

1. CI/CD pipeline deploys:

2. OpenEBS reads intent FROM K8S For example:

- 2 sync copies- 50 / 50 cloud- 2 Data centers

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

GPD

GCE

GPD GPD GPD

Page 23: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 23

Normal behaviorPOD

Container

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

Data Center 1 Maya

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

Data Center 2

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

EBS

AWS

EBS EBS EBS

1. CI/CD pipeline deploys:

2. OpenEBS reads intent FROM K8S For example:

- 2 sync copies- 50 / 50 cloud- 2 Data centers

3. writes STORED locally:- working set in NVM- rebalancing in background

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

GPD

GCE

GPD GPD GPD

Page 24: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 24

Normal behavior: differentiationPOD

Container

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

Data Center 1 Maya

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

Data Center 2

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

EBS

AWS

EBS EBS EBS

1. Transparency:- works across clouds, & CAS,

seamlessly

2. FAST:- Much faster than DAS or network

attached- Could be 100 or even 1000x faster

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

GPD

GCE

GPD GPD GPD

Page 25: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 25

Normal behavior: differentiationPOD

Container

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

Data Center 1 Maya

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

Data Center 2

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

EBS

AWS

EBS EBS EBS

1. Transparency:- works across clouds, & CAS,

seamlessly

2. FAST:- Much faster than DAS or network

attached- Could be 100 or even 1000x faster

3. Happier Cassandra:- When Cassandra nodes fail,

rebalancing, which degrades performance, typically NOT needed POD

Container

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

PODContainer

Container

ContainerKubelet

GPD

GCE

GPD GPD GPD

4. Happier CFO:- Far greater utilization- No more cloud lock-in

Page 26: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 26

Storage Orchestration - K8s Vs OpenEBSFunctionality K8s OpenEBS

Volume Life-cycle - provisioning, attaching/detach, de-provisioning ✓

Monitoring the volume data ✓

Scheduling the volume provisioning intelligently ✓

Smart space management ✓

Availability of volume ✓

Application aware backup/snapshots ✓

QoS guarantee (latency guarantee) ✓

Smart movement of the volumes across racks and regions ✓

Cataloging of storage requirements for different applications ✓

Page 27: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 27

Storage just fades away as a concern

Page 28: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 28

Benefits of Cloud Native approach OpenEBS always available multi-cloud block services are delivered via containerized

microservices

Granularity: Each pod has its own block protocol stack, tiering engine, QoS engine and more. SLAs per POD.

Performance & efficiency: access patterns maintained per-volume. Hot-data on NVMe-Flash or on 3DX-Memory. Cold-data on slower disks / SAN/ Cloud-Storage/S3.

Scalability: Metadata based on “size of the volume” & not on “number of volumes”. Can reduce metadata traversal 100x.

Blast radius: Eliminates risk of scale out storage system corruption.

And much, much more such as cost savings due to resource efficiency, innate multitenancy, and cross cloud portability

The Conway’s Law benefits might be the most important - innovation unlocked

✓✓✓✓

Page 29: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 29

Parting thoughts

Pod 1 VS

Cloud Native

Page 30: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 30

Parting shots

Pod 1

OR

Pod 1VS

Cloud Native Cloud Washing

Page 31: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 31

Get started with OpenEBS

K8s master K8s minions

kubectl apply -f openebs-operator.yaml

kubectl apply -f openebs-config.yaml

Page 32: Containerized Storage for Containers - SNIA Storage for Containers. ... What if storage for container ... planning App deals with resiliency Can be faster

2017 Storage Developer Conference. © CloudByte Inc.. All Rights Reserved. 32

Q&A

Please tell us we are crazy.Find out HOW it works!

Meet some folks who want storage to be fixed once and for all.

Slack.openebs.ioblog.openebs.io

Github.com/openEBS@openebs