Chapter 8. Swift – OpenStack Object Storage

In this chapter, we will cover the following topics:

  • Introduction – OpenStack Object Storage
  • Creating object containers
  • Deleting object containers
  • Uploading objects
  • Uploading large objects
  • Downloading objects
  • Deleting objects
  • Container ACLs

Introduction – OpenStack Object Storage

OpenStack Object Storage, also known as Swift, is the service that allows for massively scalable and highly redundant storage on commodity hardware. This service is implemented by Rackspace as Cloud Files, and it is also analogous to Amazon's S3 storage service and managed in a similar way under OpenStack. With OpenStack Object Storage, we can store many objects of virtually unlimited size—restricted only by the available hardware—and grow our environment as needed, to accommodate our storage. The highly redundant nature of OpenStack Object Storage is ideal for archiving data (such as logs and backup archives) as well as for providing a storage system that OpenStack Compute can use for virtual machine instance images.

The architecture of OpenStack Object Storage is straightforward. There is the API service that runs on the controller nodes. Then there are Swift proxy services that can either be deployed onto the controller nodes, or separated onto their own dedicated servers—depending on your requirements, followed by the actual storage nodes that store the data. The storage nodes are the servers that are designed to scale out as your requirements for storage grows.

Note

Scaling the characteristics and design of Swift is beyond the scope of this book.

A typical, simplified view of the architecture is show here:

Introduction – OpenStack Object Storage

Essentially, requests (for example, to upload or download an object) are sent to the API through the load balance pool, and then the data is sent through to the physical storage nodes by the Swift-Proxy service. The Swift-Proxy service would fetch and store the data back to and from the end user.

As the name states, OpenStack Object Storage operates on what is known as objects. Objects can be anything from a file, to an object named as a complete folder and filename – to OpenStack Object Storage, anything it sees, regardless of the filename, is still one single object. Objects are stored in Containers. A great analogy is a bucket. In a bucket, you can store anything that would fit in it, from grains of sand to tools you have laying in your shed!

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.118.198.61