2. OpenStack Object Storage - Swift
• OpenStack Swift introduction
• Releases
• Software Architecture
• Deployment architecture
• Performance benchmarking
• OpenStack Swift monitoring
• Using OpenStack Swift
• Use cases
2
3. 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/
4. 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
7. 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
8. Using OpenStack Swift
• https://swift.example.com/v1/accoun
t/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
9. OpenStack Swift clients
• Gladient
• Cloudberry Explorer
• WebDrive
• Cyberduck
• S3 browser
• python-swiftclient
9
18. 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
19. 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 KeystoneAuth
middleware.
19
OpenStack Swift by Joe Arnold
https://books.google.com/books?id=JbHXBAAAQBAJ&dq=swift+tempauth+%22flat+file%22
21. 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