Riak CS in Cloudstack

41
Simple, Available Cloud Storage For Cloudstack

description

The CloudStack European User group met on Thursday 11th for our quarterly meeting. Stuart Mcall from Basho talked about their RiakCS technology & community

Transcript of Riak CS in Cloudstack

Page 1: Riak CS in Cloudstack

Simple, Available Cloud Storage For Cloudstack

Page 2: Riak CS in Cloudstack

Overview

Page 3: Riak CS in Cloudstack

On March 27, 2012

Bashoannounced a newproduct called

Riak CS

Page 4: Riak CS in Cloudstack

On September 5, 2012

BASHOjoined Apache Cloudstack

Page 5: Riak CS in Cloudstack

On March 20, 2013

Riak CSbecame open source

Page 6: Riak CS in Cloudstack

Riak CS is...

enterprise cloud storage

RiakS3-compatibility

multi-tenancy

per user reporting

offeri

ngbuilton topof

large object storage

Page 7: Riak CS in Cloudstack

Enabling you to host your own

PUBLICPRIVATE

&CLOUDS

or….Reliable Storage Behind Apps

Page 8: Riak CS in Cloudstack

Basho's Commits

@john_burwell 's contribution:@john_burwell 's contribution:S3-backed secondary storage feature in 4.1.0S3-backed secondary storage feature in 4.1.0Uses S3 to sync secondary storage across zonesUses S3 to sync secondary storage across zones

Long term: (shhhhhh!)Native S3 SupportFederated authentication and authorization

Page 9: Riak CS in Cloudstack

DataPipeblog.datapipe.com/datapipe-cloudstack

“Riak CS provides the high-performance,

distributed datastore

we need to deliver a sound foundation for

our cloud storage needs now

and for many years into the future”

- Ed Laczynski, VP Cloud Strategy, Datapipe.

Page 10: Riak CS in Cloudstack

Yahoo!“Today, Yahoo! leverages Riak CS Enterprise to offer an

S3-compatible public cloud storage service,

as well as dedicated hosting options ...

Yahoo! is highly supportive of open source software

and we view Basho’s (OSS) announcement as

a positive move that will work

to accelerate its ability to innovate

and ultimately strengthen our cloud platform.”

- Shingo Saito, cloud product manager, Yahoo!

Page 11: Riak CS in Cloudstack

About Riak

Page 12: Riak CS in Cloudstack

RiakDynamo-inspired key/value store

Written in Erlang with C/C++

Open source under Apache 2 license

Thousands of production deployments

Page 13: Riak CS in Cloudstack

RiakHigh availability

Low-latency

Horizontal scalability

Fault-tolerance

Ops friendliness

Page 14: Riak CS in Cloudstack

RiakMasterless• No master/slave or different roles• All nodes are equal• Write availability and scalability • All nodes can accept/route requests

Page 15: Riak CS in Cloudstack

RiakNo Sharding• Consistent hashing• Prevents “hot spots”• Lowers operational burden of scale• Data rebalanced automatically

Page 16: Riak CS in Cloudstack

RiakAvailability and Fault-Tolerance • Automatically replicates

data• Read and write data during

hardware failure and network partition

• Hinted handoff

Page 17: Riak CS in Cloudstack

How It Works

Page 18: Riak CS in Cloudstack

Riak CS

RiakStanchion

Page 19: Riak CS in Cloudstack

Riak CS nodefor every node of Riak1

Page 20: Riak CS in Cloudstack

RiakNode

RiakNode

RiakNode

RiakNode

RiakNode

Large Object

Riak CS

S3API

ReportingAPI

Riak CS

S3API

ReportingAPI

Riak CS

S3API

ReportingAPI

Riak CS

S3API

ReportingAPI

Riak CS

S3API

ReportingAPI

1. User uploads an object

1 MB

2. Riak CSbreaks object

into 1 MB chunks

1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB

3. Riak CSstreams chunksto Riak nodes

4. Riak replicatesand stores

chunks

Page 21: Riak CS in Cloudstack

USERSmulti-tenancy:

Riak CS will trackindividual usage/stats

BASIC

CONCEP

TS

access_key secret_key

users identified byusers authenticated by

Page 22: Riak CS in Cloudstack

BUCKETSusers create buckets.

buckets are like folders.

store objects in buckets.

names are globally unique.

BASIC

CONCEP

TS

Page 23: Riak CS in Cloudstack

OBJECTSstored in buckets.

objects are opaque.

store any file type.

BASIC

CONCEP

TS

Page 24: Riak CS in Cloudstack

Features

Page 25: Riak CS in Cloudstack

Riak CS Large Object Support• Started with 5GB / object• Now have multipart upload• Content agnostic

Page 26: Riak CS in Cloudstack

Riak CS S3-Compatible API• Use existing S3 libraries

and tools• RESTful operations• Multipart upload • S3-style ACLs for

object/bucket permissions• S3 authentication scheme

Page 27: Riak CS in Cloudstack

Riak CS Administration and Users• Interface for user creation,

deletion, and credentials • Configure so only admins can

create users

Page 28: Riak CS in Cloudstack

Riak CS New Stuff in Riak 1.3• Multipart upload: parts

between 5MB and 5GB • Support for GET range

queries• Restrict access to buckets

based on source IP

Page 29: Riak CS in Cloudstack

Riak CS

Page 30: Riak CS in Cloudstack

Riak CS Packages• Debian• Ubuntu• FreeBSD• Mac• Red Hat Enterprise• Fedora• SmartOS• Solaris • Source

Page 31: Riak CS in Cloudstack

Operations

Page 32: Riak CS in Cloudstack

statsDTrace

&built-in

support

track access &storage per user

monitor totalcluster ops

inspect ops with DTrace probes

Page 33: Riak CS in Cloudstack

OPERATIONAL STATSexposed via HTTP resource: /riak-cs/stats

block bucket object

GET, PUT, DELETELIST KEYS, CREATE,DELETE, GET/PUT ACL

GET, PUT, DELETEHEAD, GET/PUT ACL

HISTOGRAMS & COUNTERS

Page 34: Riak CS in Cloudstack

TRACK INDIVIDUAL USER’S

THE “USAGE”BUCKET

ACCESS STORAGE

Page 35: Riak CS in Cloudstack

QUERY USAGE STATS

Storage and access statistics tracked on per-user basis, as rollups for slices of time

•Operations, Count, BytesIn, BytesOut, + system and user error•Objects, Bytes

Page 36: Riak CS in Cloudstack

Enterprise

Page 37: Riak CS in Cloudstack

Multi-Datacenter Replication

• For active backups, availability zones, disaster recovery, global traffic

• Real-time or full-sync• 24/7 support• Per-node or storage-based

pricing

Page 38: Riak CS in Cloudstack

basho.com

SIGN UP FOR AN ENTERPRISE DEVELOPER

TRIAL http://docs.basho.com/

Page 39: Riak CS in Cloudstack

Riak LondonA distributed systems

meet/drink up

www.meetup.com/riak-london

Page 40: Riak CS in Cloudstack

github.com/bashotwitter.com/

bashodocs.basho.com

Page 41: Riak CS in Cloudstack

Q&A@_stu_