Download - 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

Transcript
Page 1: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

7 STEPS to Roll-out a Private OpenStack Swift Cluster

Joe Arnold

April 19, 2012OpenStack Conference

Page 2: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17
Page 3: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

OpenStack SwiftPowers Rackspace Cloud Files

Page 4: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

http://www.flickr.com/photos/josefgrunig/

Data is Sticky

Page 5: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

App

Storage

Compute

App

Storage

Compute

App

Storage

Compute

Storage

Compute

Page 6: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

’09 ’10

Rackspace Cloud Files

Openstack Launch

59 developers contributing to Swift

Page 7: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

When to use Swift (and when not to)

Achieving High Durability and Availability (cluster design)

Convincing Your Boss (the economics)

Selecting Appropriate Hardware (benchmarking)

Knowing How It’s Working (management & monitoring)

What Interfaces Exist (compatible clients)

How to Build Killer Apps (features for developers)

Page 8: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

When to use Swift (and when not to)

Achieving High Durability and Availability (cluster design)

Convincing Your Boss (the economics)

Selecting Appropriate Hardware (benchmarking)

Knowing How It’s Working (management & monitoring)

What Interfaces Exist (compatible clients)

How to Build Killer Apps (features for developers)

Page 9: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

Swi ft is good for

- Application data

- Filesharing

- Backups

- Unstructured data

Page 10: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

Swift is laser focusedSwift Attributes

Scalable

Page 11: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

Swift Attributes

Durable

Page 12: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

Swift Attributes

Concurrency

Page 13: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

Not good at . . .Databases - transactional workloads

No File Locking

Page 14: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

Not good at . . .Single Stream

I/O

Page 15: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

When to use Swift (and when not to)

Achieving High Durability and Availability (cluster design)

Convincing Your Boss (the economics)

Selecting Appropriate Hardware (benchmarking)

Knowing How It’s Working (management & monitoring)

What Interfaces Exist (compatible clients)

How to Build Killer Apps (features for developers)

Page 16: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

Data Durability - Zones

Page 17: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

Data Durability - Replication & Consistency

Page 18: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

High Availability

Proxy

+

Zones

Page 19: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

Example: 2 Nodes

- Whole Files- 3 Replicas- Withstand multiple disk failures

Page 20: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

Example: 5 Nodes

- Withstand multiple Node Failures

- Consider Separate Proxy Tier

Page 21: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

Example: 50 Nodes

- Withstand Rack Failures- Requires Separate Proxy Tier

Page 22: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

When to use Swift (and when not to)

Achieving High Durability and Availability (cluster design)

Convincing Your Boss (the economics)

Selecting Appropriate Hardware (benchmarking)

Knowing How It’s Working (management & monitoring)

What Interfaces Exist (compatible clients)

How to Build Killer Apps (features for developers)

Page 23: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

Example: $42,520 for 105TB usable1 x Dell r815 ($4,500)2x Supermicro JBODs ($5,400)144 x 3TB hard drives ($33,120)Thailand flooding drive prices

Swi ft is economical

$0.40/GB Capex

Page 24: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

Swi ft is economical

Size Configuration Cost $ / GB

145 TB

2 ToR Switch2 Proxy/Auth Servers5 Object Stores...and cables, rack, etc

$95k $0.65

1.3 PB

2 Agg Switches6 Proxy/Auth Servers5 ToR Switches50 Object Stores...and cables, racks, etc

$750k $0.52

Page 25: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

When to use Swift (and when not to)

Achieving High Durability and Availability (cluster design)

Convincing Your Boss (the economics)

Selecting Appropriate Hardware (benchmarking)

Knowing How It’s Working (management & monitoring)

What Interfaces Exist (compatible clients)

How to Build Killer Apps (features for developers)

Page 26: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

High volume web /mobile application

Various

WorkloadsEnterprise Filesharing

Backup /Active Archive

Page 27: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

Measure and Test

File Sizes ConcurrencyFrequency

of upload vs download

Page 28: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

PROXY NODES

STORAGE NODES

RAM - 12GBNetworking - 2 x 10GbE

CPU - quad-core

RAM - 1GB of RAM / 2TB

Drives - 2-3 TB Drives

Controller Cards - No RAID

Using SSDs - User Accounts & Container Listings

Page 29: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

When to use Swift (and when not to)

Achieving High Durability and Availability (cluster design)

Convincing Your Boss (the economics)

Selecting Appropriate Hardware (benchmarking)

Knowing How It’s Working (management & monitoring)

What Interfaces Exist (compatible clients)

How to Build Killer Apps (features for developers)

Page 30: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

People are Expensive

Page 31: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

Time-Series BackendGanglia / Graphite

StatsD

LightweightUDP StatsD

Swift ProcessSwift ProcessSwift ProcessSwift ProcessSwift ProcessSwift Process

Added StatsD to Watch EVERYTHING

Page 32: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

Operating System + Kernel

OS, Node & Drive Monitoring

Swift Runtime Monitoring

OpenStack Object Storage

SSL Termination Authentication

Load Balancing

Integrating Components around Swift

Page 33: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

Controller

Managing a distributed system

Page 34: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

Capa

city

time

Capacity adjustments

Page 35: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

When to use Swift (and when not to)

Achieving High Durability and Availability (cluster design)

Convincing Your Boss (the economics)

Selecting Appropriate Hardware (benchmarking)

Knowing How It’s Working (management & monitoring)

What Interfaces Exist (compatible clients)

How to Build Killer Apps (features for developers)

Page 36: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

S3Cloud Files

’06 ’08’10

Page 37: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17
Page 38: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

When to use Swift (and when not to)

Achieving High Durability and Availability (cluster design)

Convincing Your Boss (the economics)

Selecting Appropriate Hardware (benchmarking)

Knowing How It’s Working (management & monitoring)

What Interfaces Exist (compatible clients)

How to Build Killer Apps (features for developers)

Page 39: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

Data Storage

HTTP API

Page 40: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

Media Delivery

Direct to Device

Integrates to CDN

Streaming

Static Documents

Direct from Device

Page 41: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17
Page 42: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17

TRY http://swiftstack.com

[email protected]

@joearnold - @swiftstack

Swi ft workshop

tomorrow at

1 : 30 - 4 : 00

๏Install๏Build an Application