7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack...

42
7 STEPS to Roll-out a Private OpenStack Swift Cluster Joe Arnold April 19, 2012 OpenStack Conference

description

The OpenStack Object Storage system, aka "Swift", was built to power Rackspace's public cloud storage service, Cloud Files. Subsequently, Swift was released into open source as part of the OpenStack project. While Swift is increasingly being utilized to run many large scale public storage clouds outside of Rackspace, Swift is also showing great promise for use in private storage clouds - which look and feel like the public object storage systems from Amazon/Rackspace, yet meeting the needs of the individual company. In this talk, I will present a step-by-step plan on getting OpenStack Swift up and running in your organization. I will cover: - when to use Swift (and when not to) - convincing your boss (the economics) - selecting appropriate hardware (benchmarking) - achieving high durability and availability (cluster design) - knowing how it's working (management & monitoring) - what interfaces exist (compatible clients) - how to build killer apps (features for developers) About Joe Arnold: Joe Arnold is the CEO of SwiftStack. Joe managed the first public OpenStack launch of Swift independent of Rackspace, and has subsequently deployed multiple large-scale cloud storage systems. He is currently building Swift deployment and management tools with his firm, SwiftStack. Prior to SwiftStack, Joe held leadership positions at Cloudscaling, Engine Yard and Yahoo!.

Transcript of 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack...

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