Transcript
Page 1: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Pivotal #CassandraSummit

Cassandra on Pivotal CF

Page 2: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Pivotal #CassandraSummit

Tammer SalehDirector of Product

Pivotal CF Services, London !

http://tammersaleh.com

Page 3: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Overview of Pivotal CF!Services API!

Why Cassandra!Building Cassandra!

Automating Cassandra Operations

Pivotal #CassandraSummit

Page 4: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Overview of Pivotal CF

Pivotal #CassandraSummit

Page 5: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

$ cf push is golden.

$ cf create-service p-cassandra development-plan eventsdb $ cf bind-service eventsdb dashboard $ cf push dashboard $ open https://dashboard.mypcf.com

Pivotal #CassandraSummit

Page 6: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Pivotal #CassandraSummit

Page 7: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Pivotal #CassandraSummit

vSphere

BOSH provisioning / configuration / orchestrationOperations

Manager

AWS OpenStack

Console

Service Foo

Broker DB

Service Bar

Broker DB

Service Baz

Broker DB

Runtime

DEA Cloud Controller

Router

DEA

DEA DEA

Health Manager

SSO

Page 8: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Services APIPivotal #CassandraSummit

Page 9: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

vSphere / AWS / OpenStack

BOSHOperations Manager

CF Runtime

Application Instances

Cloud Controller

Router

Page 10: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

vSphere / AWS / OpenStack

BOSHOperations Manager

CF Runtime

Cloud Controller

Router

Service

Service Instances

Service Broker

Application Instances

Page 11: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

vSphere / AWS / OpenStack

BOSHOperations Manager

CF Runtime

Cloud Controller

Router

Service

Service Instances

Service Broker

Application Instances

Catalog

$ cf marketplace

Page 12: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

vSphere / AWS / OpenStack

BOSHOperations Manager

CF Runtime

Cloud Controller

Router

Service

Service Instances

Service Broker

Application Instances

Provision instance

Done

$ cf create service foo

Page 13: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

CF Runtime

Application Instances

Cloud Controller

Router

Service

Service Instances

Service Broker

Provision binding

Binding info

$ cf bind service my_app foo

$VCAP_SERVICES={ "pgsql": [ { "name": "UUID", "plan": "small", "credentials": { "uri": “postgres://u:p@service_ip” } } ], … }

Binding info

Page 14: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

CF Runtime

Application Instances

Cloud Controller

Router

Service

Service Instances

Service Broker

$ cf bind service my_app foo

App instance reads and writes directly to

service instance.

Page 15: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

GET /v2/catalog What’s available?

PUT /v2/service_instances/:id Create service

DELETE /v2/service_instances/:id Delete service

PUT /v2/service_instances/:id/service_bindings/:id Create binding

DELETE /v2/service_instances/:id/service_bindings/:id Delete binding

Page 16: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Pivotal CF Services

Page 17: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Insanely fast KV storage - The AK-47 of Databases

Page 18: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

The World's Leading Graph DB

Page 19: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Distributed, real-time search and analytics engine

Page 20: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Simple and Fast NoSQL DB

Page 21: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

High-performance memory object cache.

Page 22: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Next generation MySQL replacement.

Page 23: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Enterprise Hadoop Distribution.

Page 24: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

S3 Compatible Blobstore

Page 25: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Highly distributed, write-heavy KV/column store.

Page 26: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry
Page 27: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Our first production-grade service.

Page 28: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

"In terms of scalability, there is a clear winner throughout our experiments.

Cassandra achieves the highest throughput for the maximum number of

nodes in all experiments."

- University of Toronto, 2012

Why ?

Page 29: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Why ?

Page 30: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Cassandra is truly cloud-scale.

Why ?

Page 31: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Why ?

Multi-datacenter deployments are commonplace in

the cloud.

Page 32: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Building Cassandra

Pivotal #CassandraSummit

Page 33: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Pivotal #CassandraSummit

Plan InstanceService Binding

Services API Redux

Page 34: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Pivotal #CassandraSummit

InstanceWhat is an ?

Page 35: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

InstanceWhat is an ?

Scales to the size of a single cluster.!

Single Keyspace.!

Good for development and testing.

Pivotal #CassandraSummit

Part of a Shared Cluster

VM VM VM

Cassandra Node Cassandra Node Cassandra Node

Instance 1 (Keyspace)

Instance 2 (Keyspace)

Instance 3 (Keyspace)

Page 36: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Keyspace visibilityPivotal #CassandraSummit

Page 37: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Noisy Neighbours

Pivotal #CassandraSummit

Page 38: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Quotas

Pivotal #CassandraSummit

Page 39: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

InstanceWhat is an ?

True production grade.!

No noisy neighbours.!

Expensive.

Pivotal #CassandraSummit

Cluster of VMs

Instance 1 (Cluster of VMs)

Cassandra VM Cassandra VMCassandra VM

Instance 2 (Cluster of VMs)

Instance 3 (Cluster of VMs)

Cassandra VM Cassandra VMCassandra VM

Cassandra VM Cassandra VMCassandra VM

Page 40: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

InstanceWhat is an ?

Looks identical to production.!

Fairly good noisy neighbour isolation.!

Constrained resources per instance.

Pivotal #CassandraSummit

Cluster of Containers

VM VM VM

Instance 1 (Cluster)

Cassandra Node

Instance 2 (Cluster)

Instance 3 (Cluster)

Cassandra Node

Cassandra Node

Cassandra Node

Cassandra Node

Cassandra Node

Cassandra Node

Cassandra Node

Cassandra Node

Page 41: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Automating Cassandra Operations

Pivotal #CassandraSummit

Page 42: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

BOSH

Pivotal #CassandraSummit

Page 43: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

BOSH is…• Predictable!• Repeatable!• IaaS agnostic!• Built for large-scale deployments

Pivotal #CassandraSummit

Page 44: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

BOSH Resurrector

Pivotal #CassandraSummit

Page 45: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

BOSH Resurrector

Pivotal #CassandraSummit

BOSH Director

VM

Agent

VM

Agent

VM

Agent

hello!

hey !there!

ahoy!

Page 46: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

BOSH Resurrector

Pivotal #CassandraSummit

BOSH Director

VM

Agent

VM

Agent

VM

Agent

Page 47: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

BOSH Resurrector

Pivotal #CassandraSummit

BOSH Director

VM

Agent

VM

Agent

VM

Agent IaaS

STONITH!

Page 48: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

BOSH Resurrector

Pivotal #CassandraSummit

BOSH Director

VM

Agent

VM

Agent

VM

Agent IaaS

Page 49: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

BOSH Resurrector

Pivotal #CassandraSummit

BOSH Director

VM

Agent

VM

Agent

IaaS

Page 50: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

BOSH Resurrector

Pivotal #CassandraSummit

BOSH Director

VM

Agent

VM

Agent

IaaS

Provision!

Page 51: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

BOSH Resurrector

Pivotal #CassandraSummit

BOSH Director

VM

Agent

VM

Agent

IaaS

VM

Agenthowdy!

Page 52: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

NTPd

Pivotal #CassandraSummit

Page 53: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Pivotal #CassandraSummit

NTPd!Accuracy vs Precision

Page 54: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Pivotal #CassandraSummit

NTPd!!

https://blog.logentries.com/2014/03/synchronizing-clocks-in-a-cassandra-cluster-pt-2-solutions/

Cassandra Node

Cassandra Node

Cassandra Node

Page 55: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Pivotal #CassandraSummit

NTPd!!

https://blog.logentries.com/2014/03/synchronizing-clocks-in-a-cassandra-cluster-pt-2-solutions/

Cassandra Node

Cassandra Node

Cassandra Node

NTPd!Server

Page 56: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Pivotal #CassandraSummit

NTPd!!

https://blog.logentries.com/2014/03/synchronizing-clocks-in-a-cassandra-cluster-pt-2-solutions/

Cassandra Node

Cassandra Node

Cassandra Node

NTPd!Server

Internet

NTPd!Server

NTPd!Server

NTPd!Server

Page 57: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Running repairs

Pivotal #CassandraSummit

Page 58: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Running repairs

Pivotal #CassandraSummit

1. When decommissioning the Node.

2. When the node has been down for N minutes.

3. Once per node per week within GC_GRACE_PERIOD

Page 59: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Services Are the Key to the Success of

Pivotal CF

Pivotal #CassandraSummit

Page 60: Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry

Tammer [email protected]

http://tammersaleh.com

Thank you.

Pivotal #CassandraSummit

If this interests you, we’re hiring CF engineers in SF and London.


Top Related