7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - openstack...
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
![Page 1: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/1.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/2.jpg)
![Page 3: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/3.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/4.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/5.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/6.jpg)
’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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/7.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/8.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/9.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/10.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/11.jpg)
Swift Attributes
Durable
![Page 12: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/12.jpg)
Swift Attributes
Concurrency
![Page 13: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/13.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/14.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/15.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/16.jpg)
Data Durability - Zones
![Page 17: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/17.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/18.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/19.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/20.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/21.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/22.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/23.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/24.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/25.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/26.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/27.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/28.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/29.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/30.jpg)
People are Expensive
![Page 31: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/31.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/32.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/33.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/34.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/35.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/36.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/37.jpg)
![Page 38: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/38.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/39.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/40.jpg)
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](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/41.jpg)
![Page 42: 7 steps to roll out a private open stack swift cluster - joe arnold - swiftstack - OpenStack Conference -2012-04-17](https://reader038.vdocument.in/reader038/viewer/2022110119/555dae4ed8b42a63328b486b/html5/thumbnails/42.jpg)
TRY http://swiftstack.com
@joearnold - @swiftstack
Swi ft workshop
tomorrow at
1 : 30 - 4 : 00
๏Install๏Build an Application