red hat storage day la - persistent storage for linux containers

28
Persistent Storage for Linux Containers Louis Gordon Senior Storage Solutions Architect, Red Hat

Upload: redhatstorage

Post on 11-Jan-2017

125 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Persistent Storage for Linux Containers Louis Gordon Senior Storage Solutions Architect, Red Hat

Page 2: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Linux Containers in brief

A Software packaging concept that typically includes an application and all of its runtime dependencies

• Higher Quality Software

Releases

• Shorter Test Cycles

• Easier Application

Management

HOST OS

SERVER

CONTAINER

LIBS

APP

CONTAINER

LIBS

APP

Benefits

Page 3: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Greater Portability, Automation, and Integration

Code Registry

Push image

Code & Build Test Deploy

Pull image

Page 4: Red Hat Storage Day LA - Persistent Storage for Linux Containers

The Red Hat Stack – From PaaS to Storage

DevOps Tools and User Experience

Language Runtimes and Middleware

Databases and Other Services

Container Orchestration and Management

Container API

Storage

Container Host

Page 5: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Typical workloads for Containers

Base: 194 IT operations and development decision-makers at enterprises in APAC, EMEA, and North America Source: A commissioned study conducted by Forrester Consulting on behalf of Red Hat, January 2015

“For which workloads or application use cases have you used/do you anticipate to use containers?”

Scalable, Cost Effective, Distributed Storage for Containers

Page 6: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Why Containers require persistent Storage?

• Web & presentation layers should be stateless ... but ...

• That’s probably < 5% of all application instances in a DC

• Most other infrastructure applications / services require persistence for

storing application and configuration data

• Building a different infrastructure for stateful vs. stateless apps ?

• Modern IT requires Standardization (e.g. Cloud Computing)

• Software-defined DC is a hybrid cloud enabler

Page 7: Red Hat Storage Day LA - Persistent Storage for Linux Containers

The requirements for Container Storage?

• Scalable – Scale out capacity & performance

• Resilient – Likely there will be important data

• Flexible – Allow different application access profiles

• Software-defined – To allow flexible deployment models

• Open – For customer choice and lowest TCO

RED HATSTORAGE➔

Page 8: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Current Options for Persistent Storage

Shared Filesystems: • NFS • GlusterFS

Block Storage: • Ceph RBD • iSCSI or FC • GCE Persistent Disk • AWS Elastic Block Store

Page 9: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Storage Options ComparisonNFS-Filer GlusterFS Ceph

RBDiSCSI / FC GCE PD AWS EBS

Scalability - + ++ - ++ ++

Availability + ++ ++ + + +

Cost - ++ + ++ - -

Deployment Flexibility

- ++ ++ - - -

Data Privacy

++ ++ ++ ++ -- --

Sharing Data

++ ++ +/- - - -

Use Cases Generic Data Sharing

Generic Data Sharing

Very Large Deployments, Object Store

High Performance

Block

Cheap Block Storage

Cheap Block Storage

Page 10: Red Hat Storage Day LA - Persistent Storage for Linux Containers

STORAGE APPLIANCE

COMPUTE NODE + + + +

+

STORAGE NODE

COMPUTE NODE + + + +

+ + + +

+

+

+

+

+

+

+

+

Scale-Out Storage

• Increased Performance & Capacity

• Avoid Fork-Lift Upgrades

• Built-In Redundancy

Page 11: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Why Bother?

PROPRIETARY HARDWARE

HARDWARE-BASED INTELLIGENCE

SCALE-UP ARCHITECTURE

CLOSED DEVELOPMENT PROCESS

Common, off-the-shelf hardware

Lower cost, standardized supply chain

Scale-out architecture

Increased operational flexibility

Software-based intelligence

More programmability, agility, and control

Open development process

More flexible, well-integrated technology

Page 12: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Persistent Storage requires Redundancy

• Red Hat Storage includes important data redundancy features

• 2-way and 3-way replication

• Erasure Coding

• Geo-Replication

• Snapshots

Page 13: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Red Hat Storage and Containers

Page 14: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Node 1NGINX

Container

Node 2NGINX

Container

Persistent Storage for OSE/RHEL Atomic

Node 1NGINX

Container

Node 3MySQL

Container

File

sha

re

File

sha

re B

lock

Dev

ice

/

Obj

ect

Stor

e

Atomic Host Atomic HostOPENSHIFTOPENSHIFT

Gluster

Ceph

Gluster

Page 15: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Host OS

Container Container

Host OS

Container Container

/share (Gluster/NFS)

Container Volume mapping options

Gluster Volume

Brick 1 Brick 2 Brick 3 Brick n

/sha

re

(Glu

ster

/NFS

)

/share/sub1 ➔ /data

/share/sub2 ➔ /data

Page 16: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Host OS

Container Container

Host OS

Container Container

/shared-volume (Gluster-Fuse or NFS)

Sharing amongst hosts

/shared-volume /shared-volume /shared-volume /shared-volume

Gluster Volume

Brick 1 Brick 2 Brick 3 Brick n

Page 17: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Host OS

Container Container

Host OS

Container Container

Mapping Ceph RBDs to containers

/shared ➔ /data

Ceph

OSD OSD OSD OSD

Ceph

RBD

+

FS

Ceph

RBD

+ F

S /shared Ceph RBD + FS

/host-share ➔ /data /local-mnt

/shared ➔ /data/h

ost-

shar

e

Page 18: Red Hat Storage Day LA - Persistent Storage for Linux Containers

App Container App Container App Container App Container

Containerized Gluster Storage

/shared-volume /shared-volume

Gluster Container (privileged)

/bricks/brick2

Gluster Container (privileged)

/bricks/brick1

/shared-volume (Gluster-Fuse or NFS)

Host OS Host OS

Gluster Volume

/shared-volume /shared-volume

Page 19: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Hyperconverged Containers and Storage

• Lower TCO

• Unified

Orchestration

• Ease of Use

• Greater control

ContainerJBoss NGINX

NGINX

ContainerMASTER

Kubernetes Node 2

ContainerElastic Spark

MongoDB

Container

Kubernetes Node 3

Redis PostgreSQL

Container

Kubernetes Node 1

Kubernetes Node 4

Page 20: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Container Container Container Container

Containerized Ceph Storage

/local-mnt1

Container

RHCS

Container

RHCS

Ceph RBDs (and Object Storage)

Host OS Host OS

Ceph Pool

/local-mnt2 /local-mnt3 /local-mnt4

Page 21: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Flexible Deployment Options

x86 x86 x86

Physical

VM VM VM

Virtualized

VM VM VM

Public / Private Cloud

OpenStack, AWS, Azure, GCE

VMware, RHEV, KVM

Container

JBoss

NGINX

NGINX Container

MASTER

Kubernetes Node 2

Container

Elastic

Spark

MongoDB Container

Kubernetes Node 3

Redis

PostgreSQL Container

Kubernetes Node 1

Kubernetes

Node 4

Container

JBoss

NGINX

NGINX Container

MASTER

Kubernetes Node 2

Container

Elastic

Spark

MongoDB Container

Kubernetes Node 3

Redis

PostgreSQL Container

Kubernetes Node 1

Kubernetes

Node 4

Container

JBoss

NGINX

NGINX Container

MASTER

Kubernetes Node 2

Container

Elastic

Spark

MongoDB Container

Kubernetes Node 3

Redis

PostgreSQL Container

Kubernetes Node 1

Kubernetes

Node 4

Page 22: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Customer Case Studies

Page 23: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Customer Case Study: CapitalOne

Business Challenge: • A leading diversified bank with 65 million customers • Fast growing business and customer base • Need to be disruptive and different • Analytics plays a big role in growth strategy

Solution Description: • Predefined docker images with a wide variety of analytics

tools • Self-service Portal for developers to pick and instantiate • Integrated monitoring and metrics • Automated lifecycle management of containers • High availability through MESOS • Shared and consolidated Storage Platform with Gluster

Solution Benefits: • More agile application development

• Larger choice of technologies

• Optimal resource usage and performance

Page 24: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Customer Case Study: CapitalOne

Page 25: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Customer Case Study: Verizon

Docker containers running

Business Challenge:

• Verizon is the largest provider of cellular services in the United States with

more than 100 million subscribers. Pretty much every subscriber takes

‘selfies’ and snaps of the kittens and these need to be backed up. Whilst many

users use Apple’s iCloud, or Yahoo’s Flickr, Verizon also has their own branded

Cloud offering – Verizon Cloud.

• Verizon wished to use a file-based format rather than converting all these

images to Objects and to have an extremely efficient architecture in terms of

the use of their server infrastructure.

Solution Description: • Simplified Deployment via containers • Seamless upgrade and rollback • Dedicated and Containerized Gluster for FSaaS • Dynamic scaling (up) of capacity as needed • Performance and health metrics collection via container monitoring agents

and sending alerts.

Solution Benefits: • Quicker time to market for new services • Increased subscriber ‘stickiness’ and improving customer

satisfaction. • Reduced infrastructure Costs • Infrastructure can grow as demand grows

Page 26: Red Hat Storage Day LA - Persistent Storage for Linux Containers

ETH/IBapp app app

app app app

Converged Computing ArchitectureMixed App and Storage Workloads

App-only servers

Converged servers

app

app +

Storage-only servers

app app app app

app app app app

app app app app

app app

app

Storage stack imposes only3% - 10% load on compute processing

• Applications and storage stacks can co-exist on same compute substrate.

• This achieves higher server

utilization and lower operational costs across the cloud

Customer Case Study: Verizon

Page 27: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Summary

• Most containerized applications will require Persistent Storage

• Software-defined Storage allows hyper-convergence for applications and

storage

• Red Hat Storage and OpenShift Enterprise provide a complete PaaS solution

with full deployment flexibility from on-premise to hybrid clouds

Page 28: Red Hat Storage Day LA - Persistent Storage for Linux Containers

Thank You