openstack swift
TRANSCRIPT
OpenStack Object Storage - Swift
• OpenStack Swift introduction
• Releases
• Software Architecture
• Deployment architecture
• Performance benchmarking
• OpenStack Swift monitoring
• Using OpenStack Swift
• Use cases
2
Object Storage
• Object Storage (also known as object-based storage) is a storage architecture that manages data as objects, as opposed to other storage architectures like file systems which manage data as a file hierarchy and block storage which manages data as blocks within sectors and tracks.
3
http://en.wikipedia.org/wiki/Object_storage
http://storagegaga.com/the-future-is-
intelligent-objects/
OpenStack Swift Introduction and History
• A distributed object storage system designed to scale
from a single machine to thousands of servers. Swift is
optimized for multi-tenancy and high concurrency. Swift is
ideal for backups, web and mobile content, and any other
unstructured data that can grow without bound.
• Swift provides a simple, REST-based API fully
documented at http://docs.openstack.org/.
• Swift was originally developed as the basis for
Rackspace's Cloud Files and was open-sourced in 2010
as part of the OpenStack project.
4
https://github.com/openstack/swift
OpenStack Swift Key Features
7
• OpenSource
• Eventually consistent architecture
• Object versioning
• API access to objects
• Large object support
• API throttling
• AD/LDAP integration using KeyStone
• Zones
• Multi-tenancy
• Data recovery
Using OpenStack Swift
• https://swift.example.com/v1/account/container/object
• GET—downloads objects, lists the contents of containers or accounts
• PUT—uploads objects, creates containers, overwrites metadata headers
• POST—creates containers if they don't exist, updates metadata (accounts or containers), overwrites metadata (objects)
• DELETE—deletes objects and containers that are empty
• HEAD—retrieves header information for the account, container or object.
8
OpenStack Swift clients
• Gladient
• Cloudberry Explorer
• WebDrive
• Cyberduck
• S3 browser
• python-swiftclient
9
OpenStack Swift Deployment Hardware
Requirements
18
• The Proxy Services are more CPU and network I/O
intensive. If you are using 10g networking to the proxy, or
are terminating SSL traffic at the proxy, greater CPU
power will be required.
• The Object, Container, and Account Services (Storage
Services) are more disk and network I/O intensive.
• Deployment guide available at
http://docs.openstack.org/developer/swift/deployment_gui
de.html
OpenStack Swift Authentication
• Temp Auth• Light weight
• The token can be passed into Swift using the X-Auth-Token or the X-Storage-Token header.
• KeyStone Auth• Swift is able to
authenticate against OpenStack Keystone via the KeystoneAuthmiddleware.
19
OpenStack Swift by Joe Arnold
https://books.google.com/books?id=JbHXBAAAQBAJ&dq=swift+tempauth+%22flat+file%22
OpenStack Swift Performance
Benchmarking
• Tools
• ssbench
• swift-bench
• Dimensions
• Performance
• Scalability
20
OpenStack Swift monitoring
• What to monitor
• Hardware failure
• Operating System failure
• Swift Cluster health
• Swift Cluster telemetry
• Tools
• Swift Recon
• Swift Informant
• Statsdlog
• StatsD
21
OpenStack Swift deployments around the
world
• Korea Telecom
• Rackspace
• HP Cloud
• Netmagic, India
• Wikipedia
• Disney
• Concur
24