OpenStack Swift
O'Reilly Media (Verlag)
978-1-4919-0082-6 (ISBN)
- Titel ist leider vergriffen;
keine Neuauflage - Artikel merken
Get up and running with OpenStack Swift, the free, open source solution for deploying high-performance object storage clusters at scale.
In this practical guide, Joe Arnold, co-founder and CEO of SwiftStack, brings you up-to-speed on the basic concepts of object storage and walks you through what you need to know to plan, build, operate, and measure the performance of your own Swift storage system.
Object storage is essential today with the growth of web, mobile, and software-as-a-service (SaaS) applications. This book helps you through the process, with separate sections on application development, installation, administration, and troubleshooting.
- Learn Swift’s concepts for organizing, distributing, and serving data
- Explore basic and advanced features of the Swift RESTful API
- Delve into Swift’s many client libraries, including useful Python features
- Write middleware to customize and simplify your storage system
- Understand requirements for planning a Swift deployment—including your specific use case
- Learn options for coaxing the best performance from your cluster
- Get best practices for daily operations, such as monitoring and planning capacity additions
- Pick up techniques for testing and benchmarking your Swift cluster
Joe Arnold is co-founder and CEO of SwiftStack, a leading provider of object storage software. He built one of the first widely-used cloud platforms-as-a-service (PaaS) on top of Amazon Web Services at Engine Yard, managed the first public OpenStack launch of Swift after its release as an open source project. He has subsequently deployed multiple large-scale cloud storage systems. While at Engine Yard, he additionally oversaw the development of their Ruby on Rails deployment platform, AppCloud and managing the open source efforts of Rails 3, JRuby and Rubinius.
Fundamentals and Architecture
Chapter 1The Evolution of Storage
Storage Needs for Today’s Data
No One-Size-Fits-All Storage System
Object Storage Compared with Other Storage Types
A New Storage Architecture: Software-Defined Storage
Software-Defined Storage Components
Why OpenStack Swift?
Conclusion
Chapter 2Meet Swift
Meet SwiftStack
Chapter 3Swift’s Data Model and Architecture
Swift Data Model
Swift Architecture
Server Processes
Consistency Processes
Locating the Data
Creating and Updating the Rings
Conclusion
Chapter 4Swift Basics
Talking to the Cluster: The Swift API
Sending a Request
Authorization and Taking Action
Getting a Response
Communication Tools
Example Scenarios
Conclusion
Application Design with Swift
Chapter 5Overview of the Swift API
What Is an API, Anyway?
The CAP Theorem
Swift’s Sweet Spot: High Availability, Redundancy, and Throughput
Swift API: Background
Using the Swift API
Conclusion
Chapter 6Swift Client Libraries
Client Libraries
The Authentication Exchange
Storage Requests: Basic Usage
Client Libraries in Other Languages
Storage Requests: Advanced Usage
Additional Considerations When Using Python
Conclusion
Chapter 7Advanced API Features
Large Objects
Object Versioning
Object Expiration
Temporary URL Middleware (TempURL)
Form Post Middleware
Custom Metadata
PUTting and POSTing Metadata
Cross-Origin Resource Sharing (CORS)
Swift Cluster Info
Range Requests
Domain Remap Middleware
Static Web Hosting
Content-Type Header
Bulk Operations Middleware
Code Samples
Conclusion
Chapter 8Developing Swift Middleware
Introduction to WSGI
Programming WSGI
Streaming and Making Modifications to Data
Configuring Middleware Through Paste
How to Write Swift Middleware
Inside Out
Some Simple Examples
Doing More in Middleware
A Look Back and a Look Forward
Conclusion
Installing Swift
Chapter 9Installing OpenStack Swift from Source
Downloading OpenStack Swift
Configuring Swift
Configuring Swift Logging
Configuring a Proxy Server
Setting up TempAuth Authentication and Authorization with Swift
Verifying Account Access
Creating a Container
Uploading an Object
Starting the Consistency Processes
Conclusion
Chapter 10Installing SwiftStack
SwiftStack Controller and Node Overview
Creating a Swift Cluster Using SwiftStack
Conclusion
Planning a Swift Deployment
Chapter 11Hardware for Swift
Node Hardware Specifications
Cluster Networking
Conclusion
Chapter 12Planning a Swift Deployment
Your Use Case
System Design
Networking
Sample Deployments
Conclusion
Chapter 13Authentication and Authorization
Authentication
Using the Auth Token in Storage Requests
Authorization
Authorization and Access Levels
Account-Level Access Control
Container-Level Access Control
Swift Authentication Systems
SwiftStack Authentication Systems
Conclusion
Chapter 14Cluster Tuning and Optimization
Swift Settings
Externally Managed Settings
Swift Middleware
The SwiftStack Approach
Conclusion
Chapter 15Operating a Swift Cluster
Operational Considerations
Managing Capacity
Removing Capacity
Managing Capacity Additions with SwiftStack
Monitoring Your Cluster
Operating with SwiftStack
Conclusion
Debugging and Troubleshooting
Chapter 16Hardware Failures and Recovery
Handling a Failed Drive
Handling a Full Drive
Handling Sector or Partial Drive Failure (a.k.a. Bit Rot)
Handling Unreachable Nodes
Handling a Failed Node
Node Failure Case Study
Conclusion
Chapter 17Benchmarking
Evaluating Performance
Performance Metrics, Benchmarking, and Testing
Benchmarking with ssbench
Benchmarking with swift-bench
Conclusion
A Swift Afterword
The Transition to Object Storage
Why Being Open Matters
The Object-Storage Standard
Now It’s Your Turn
Erscheint lt. Verlag | 25.11.2014 |
---|---|
Zusatzinfo | black & white illustrations |
Verlagsort | Sebastopol |
Sprache | englisch |
Maße | 186 x 233 mm |
Gewicht | 554 g |
Einbandart | Paperback |
Themenwelt | Informatik ► Netzwerke ► Webserver |
Informatik ► Software Entwicklung ► SOA / Web Services | |
Schlagworte | object storage systems • OpenStack |
ISBN-10 | 1-4919-0082-2 / 1491900822 |
ISBN-13 | 978-1-4919-0082-6 / 9781491900826 |
Zustand | Neuware |
Informationen gemäß Produktsicherheitsverordnung (GPSR) | |
Haben Sie eine Frage zum Produkt? |