S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

25

Transcript of S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

Page 1: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School
Page 2: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

Welcome to theS3 Server Hackathon!

Page 3: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

Cloud Field Days #1 © Scality 20163

Scality RING: Automatize storage for Digital Business

The Scality RING is object-based software-defined storage for the cloud.

We run on standard x86 servers and create a giant pool of storage.

We protect the data and provide 100% reliable, high performance access for any capacity-driven application.

FILE OBJECT OPENSTACK

Page 4: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

Cloud Field Days #1 © Scality 20164

Agenda for today

Presentation of the hackathon, judges and logistics

S3 Server tech Overview - https://github.com/scality/s3

Seagate Kinetic drives Overview

Teams and projects assignement!

Page 5: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

The Judges!

Page 6: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

The Prizes!

Page 7: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

How are we judging?

We know the code will not be beautiful!

We’re looking for a functional prototype

It’s OK not to handle quirky corner cases!

Page 8: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

How are we judging?

Innovation - We’re looking for creative solutions

Market potential - It has to solve a real problem!

Execution - A working demo ☺

Page 9: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

Each team has:

A name,

A mentor,

A clear defined project that’s achievable,

Developers and a leader,

Each team will do a 5 minutes pitch + demo on Sunday

Page 10: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

Logistics!

Page 11: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

–––

Page 12: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

Open source S3 Server!

Page 13: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

S3 Adoption keeps rising

Page 14: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

© Scality 201614

▪ Open source object storage serverhttps://github.com/scality/s3

▪ Written in Node.js▪ Single instance running in a docker

container▪ Uses docker volumes for persistent storage▪ Same code as Scality’s RING S3 interface

What is S3 Server?

Page 15: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

© Scality 201615

▪ Developers can install and develop S3-based apps locally

▪ Enterprises can host a local test/dev environment to learn about object storage

▪ Enterprises can host a small, local object storage system in production

Scality S3 Server: From 0 to S3 in Under 5 Minutes

S3 Serve

r

S3 Serve

r

S3 Serve

r

Backup Application

S3

Page 16: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

The teamSF & Paris

Page 17: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

© Scality 2016

Scality S3 Server achitecture

Protocol StackBuckets, Objects, MPU (REST API)

AUTH BUCKETS DATA

LevelDB*

Scality RING v6

Kinetic IP drives

Docker Volume

* Persisted in Docker Volume

Scality RING v6Vault

JSON*

S3 API

S3 Server

Public Cloud

Page 18: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

© Scality 201618

S3 server released under a Apache-2.0 on Github3.3K downloads on dockerhub!

18

Page 19: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

Seagate KineticKinetic development and the basics

Page 20: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

Kinetic On SMR (Shingled Magnetic Recording)

What is Kinetic

Kinetic is a drive architecture in which the drive is a key/value service with Ethernet connectivity

Put/Get/Delete API over TCP/SSL

https://www.openkinetic.org/

SMRData recording technology used in drives to increase storage density and overall storage capacity

https://en.wikipedia.org/wiki/Shingled_magnetic_recording

Why Kinetic on SMRIncrease storage capacity

Same Put/Get/Delete API (SMR is transparent to users/applications)

Page 21: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

Kinetic Development OverviewKinetic Simulator

Functionally equivalent to Kinetic Drives.

https://github.com/Kinetic/kinetic-java

Build

git clone https://github.com/Kinetic/kinetic-java.git mvn clean package

Run (one or more instances) java -jar kinetic-simulator/target/kinetic-simulator-"Version"-SNAPSHOT-jar-with-dependencies.jar or./bin/startSimulator.sh

More Information Related to Buildhttps://github.com/Kinetic/kinetic-java/blob/master/README.md

Preferred IDE: Eclipse (Mars and up)http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/neon1a

Page 22: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

Notes On Kinetic K/V KeysKeys are sorted lexicographically. e.g.

http://google.github.io/guava/releases/snapshot/api/docs/com/google/common/primitives/UnsignedBytes.html#lexicographicalComparator%28%29

https://github.com/Kinetic/kinetic-java/blob/master/kinetic-simulator/src/main/java/com/seagate/kinetic/simulator/persist/leveldb/KineticComparator.java

Use sequential keys for better throughput (not required for later releases)

An example to generate sequential keys

https://github.com/Kinetic/kinetic-java/blob/master/kinetic-test/src/test/java/com/seagate/kinetic/KVGenerator.java

Page 23: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

Hackathon Group Key Space Each group is recommended to use its own assigned key space (prefix) to avoid conflict for shared drives. For example, group 1 is assigned prefix of “00”, group 2 is assigned prefix of “01”., etc. Eg:

All keys in group 1 would be in the form of “000”, “001”, “002” ..., etc.

All keys in group 2 would be in the form of “010”, “011”, “012” ..., etc.

All keys in group 3 would be in the form of “020”, “021”, “022” ..., etc.

Page 24: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

Scality/Kinetic Hackathon

Thank You!

Page 25: S3 Server Hackathon Presented by S3 Server, a Scality Product, Seagate and Holberton School

Thank you!