Preface - Implementing Cloud Storage with OpenStack Swift (2014)

Implementing Cloud Storage with OpenStack Swift (2014)

Preface

CIOs around the world are asking their teams to take advantage of cloud technologies as a way to slash costs and improve usability. OpenStack is a fast-growing open source cloud software with a number of projects. Swift is one such project that allows users to build cloud storage. With Swift, not only can users build storage using inexpensive commodity hardware, but they can also use the public cloud storage built using the same technology. Starting with the fundamentals of cloud storage and OpenStack Swift, this book will provide you with the skills to build and operate your own cloud storage or use a third-party cloud. This book is an invaluable tool if you want to get a head start in the world of cloud storage using OpenStack Swift. The readers of this book will be equipped to build an on-premise private cloud, manage it, and tune it.

What this book covers

Chapter 1, Cloud Storage – Why Can't I be Like Google?, introduces the need for cloud storage, the underlying technology of object storage, and an extremely popular open source object storage project called OpenStack Swift.

Chapter 2, OpenStack Swift Architecture, discusses the internals of the Swift architecture in detail and shows how elegantly Swift converts commodity hardware into reliable and scalable cloud storage.

Chapter 3, Installing OpenStack Swift, walks you through all the necessary steps required to perform a multi-node Swift installation and how to set it up along with the Keystone setup for authentication.

Chapter 4, Using Swift, describes the various ways you can access Swift object storage. It also provides examples for the various access methods.

Chapter 5, Managing Swift, provides details on the various options that are available to monitor and manage a Swift cluster. Some of the topics covered in this chapter include StatsD metrics, handling drive failures, node failures, and migrations.

Chapter 6, Choosing the Right Hardware, provides you with the information necessary to make the right decision in selecting the required hardware for your cloud setup.

Chapter 7, Tuning Your Swift Installation, walks you through a performance benchmarking tool and the basic mechanisms available to tune a Swift cluster. Users utilizing Swift will need to tune their installation to optimize performance, durability, and availability, based on their unique workload.

Chapter 8, Additional Resources, explores several use cases of Swift and provides pointers on operating systems, virtualization, and distribution tools being used across various Swift installations.

Appendix, Advanced Features, provides details on various commands that can be run from a Swift CLI session.

What you need for this book

The various software components required to follow the instructions in the chapters are as follows:

· Ubuntu Operating System 12.04

· http://www.ubuntu.com/download/server

· http://releases.ubuntu.com/12.04/

· OpenStack Swift Havana release

· python-swiftclient Swift CLI

· cURL

· Swift tools such as Swift-Recon, Swift-Informant, and Swift-Dispersion

· A StatsD server

· https://github.com/etsy/statsd/

Who this book is for

This book is targeted at IT and storage administrators who want to enter the world of cloud storage using OpenStack Swift. It also targets anyone who wishes to understand how to use OpenStack Swift and developers looking to port their applications to OpenStack Swift.

This book also provides invaluable information for IT management professionals trying to understand the differences between traditional and cloud storage.

Conventions

In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles and an explanation of their meaning.

Code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles are shown as follows:

"Typically, a user sends their HTTP GET, PUT, POST, or DELETE request to a set of nodes, and the request is translated to physical nodes by the object storage software."

A block of code is set as follows:

import org.jclouds.openstack.swift.CommonSwiftAsyncClient;

import org.jclouds.openstack.swift.CommonSwiftClient;

BlobStoreContext context = ContextBuilder.newBuilder(provider)

.endpoint("http://LTS2Server/")

.credentials(user, password)

.modules(modules)

.buildView(BlobStoreContext.class);

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

import org.jclouds.openstack.swift.CommonSwiftAsyncClient;

import org.jclouds.openstack.swift.CommonSwiftClient;

BlobStoreContext context = ContextBuilder.newBuilder(provider)

.endpoint("http://LTS2Server/")

.credentials(user, password)

.modules(modules)

.buildView(BlobStoreContext.class);

Any command-line input or output is written as follows:

# curl -X GET –i https://storage.lts2.evault.com/v1/xyz -H 'X-Auth_token: token'

New terms and important words are shown in bold.

Note

Warnings or important notes appear in a box like this.

Tip

Tips and tricks appear like this.