persistence arrives on cloud foundry

30
Persistence Arrives on CF Paul Warren EMC Cloud Platform Team

Upload: pivotal

Post on 11-Apr-2017

187 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Persistence Arrives on Cloud Foundry

Persistence Arrives on CF

• Paul WarrenEMC Cloud Platform Team

Page 2: Persistence Arrives on Cloud Foundry

Cloud Platform Team

• Commit on open source, earn votes, steer CF

• Transform EMC by teaching “the way”

Page 3: Persistence Arrives on Cloud Foundry

Persistence on CF• One of the most popular feature requests

Page 4: Persistence Arrives on Cloud Foundry

Persistence on CF• One of the most popular feature requests

Page 5: Persistence Arrives on Cloud Foundry

• One of the most popular feature requests

Persistence on CF

Page 6: Persistence Arrives on Cloud Foundry

Persistence on CF• One of the most popular feature requests

Page 7: Persistence Arrives on Cloud Foundry

However…• CloudFoundry

• 12 Factor apps

• Network attached services only

• File systems not allowed

• No ability to lift and shift

• Spring Data

• No uniform handling for BLOBs

Page 8: Persistence Arrives on Cloud Foundry

Opportunities

• Add volume support to CloudFoundry

• Add BLOB support to Spring Data

Page 9: Persistence Arrives on Cloud Foundry

Spring Content• Not an official Spring project

• Extensions for Spring-Data that add primitives for handling BLOBs

• Same interface-first approach for unstructured data

• Spring Boot support

• Spring Data REST support

• Extensible Rendition Service

• Supports JPA, Mongo, S3 and Filesystem

• Separating content from metadata is a key characteristic of all CMS

Page 10: Persistence Arrives on Cloud Foundry

App Walkthrough

Page 11: Persistence Arrives on Cloud Foundry

Cell

GardenB

BS

Cloud C

ontroller

Architecture

Page 12: Persistence Arrives on Cloud Foundry

Cell

GardenB

BS

Cloud C

ontroller

Volume Service

Architecture

Page 13: Persistence Arrives on Cloud Foundry

ArchitectureCell

GardenB

BS

Cloud C

ontroller

Volume Service

Page 14: Persistence Arrives on Cloud Foundry

ArchitectureCell

VolumeServiceBroker

GardenB

BS

Cloud C

ontroller

Volume Service Broker

Page 15: Persistence Arrives on Cloud Foundry

ArchitectureCell

Volman

VolumeServiceBroker

GardenB

BS

Cloud C

ontroller

Volume Manager “volman”

Page 16: Persistence Arrives on Cloud Foundry

Cell

Volman

VolumeServiceBroker

GardenB

BS

Cloud C

ontroller

Architecture

VolumeDriverVolume

DriverVolumeDriver

Volume Drivers

Page 17: Persistence Arrives on Cloud Foundry

Cell

Volman

VolumeServiceBroker

GardenB

BS

Cloud C

ontroller

Architecture

VolumeDriverVolume

DriverVolumeDriver

Volume Drivers

Docker Volume API

Page 18: Persistence Arrives on Cloud Foundry

`cf create service`

Page 19: Persistence Arrives on Cloud Foundry

Cell

Volman

VolumeServiceBroker

GardenB

BS

Cloud C

ontroller

Architecture

cf create-service …

VolumeDriverVolume

DriverVolumeDriver

Page 20: Persistence Arrives on Cloud Foundry

Cell

Volman

VolumeServiceBroker

GardenB

BS

Cloud C

ontroller

Architecture

cf create-service …

VolumeDriverVolume

DriverVolumeDriver

Page 21: Persistence Arrives on Cloud Foundry

Cell

Volman

VolumeServiceBroker

GardenB

BS

Cloud C

ontroller

Architecture

cf create-service …

VolumeDriverVolume

DriverVolumeDriver

Creates an instance of a

“service”

Page 22: Persistence Arrives on Cloud Foundry

`cf bind-service`

Page 23: Persistence Arrives on Cloud Foundry

Cell

Volman

VolumeServiceBroker

GardenB

BS

Cloud C

ontroller

Architecture

cf bind-service …

VolumeDriverVolume

DriverVolumeDriver

Page 24: Persistence Arrives on Cloud Foundry

Cell

Volman

VolumeServiceBroker

GardenB

BS

Cloud C

ontroller

Architecture

cf bind-service …

VolumeDriverVolume

DriverVolumeDriver

Page 25: Persistence Arrives on Cloud Foundry

Cell

Volman

VolumeServiceBroker

GardenB

BS

Cloud C

ontroller

Cell

Architecture

cf bind-service …

VolumeDriverVolume

DriverVolumeDriver

volume_mounts: [{…}]

Page 26: Persistence Arrives on Cloud Foundry

Cell

Volman

VolumeServiceBroker

GardenB

BS

Cloud C

ontroller

Architecture

cf bind-service …

VolumeDriverVolume

DriverVolumeDriver

volume_mounts: [{…}]

Page 27: Persistence Arrives on Cloud Foundry

Cell

Volman

VolumeServiceBroker

GardenB

BS

Cloud C

ontroller

Architecture

cf bind-service …

VolumeDriverVolume

DriverVolumeDriver

volume_mounts: [{…}]

Page 28: Persistence Arrives on Cloud Foundry

Cell

Volman

VolumeServiceBroker

GardenB

BS

Cloud C

ontroller

Cell

Architecture

cf bind-service …

VolumeDriverVolume

DriverVolumeDriver

volume_mounts: [{…}]

Page 29: Persistence Arrives on Cloud Foundry

Futures• Persistence on CloudFoundry

• Block devices

• Requires “Consistent Scheduling” capability

• `cf push mysql`

• Spring Content

• Separate Spring Data BLOB project

• Make JPA do more sane things!

• Eventing around getting/setting content

• Continue to add CM like features like retention services

Page 30: Persistence Arrives on Cloud Foundry

Thanks.• Questions?

#[email protected]

github.com/emc-dojo/spring-content

github.com/cloudfoundry-incubator/local-volume-releasegithub.com/emc-dojo/cf-persist-service-broker