OpenStack Architecture Design Guide

Transcription

Architecture GuideSeptember 13, 2014currentOpenStack Architecture Design Guidecurrent (2014-09-13)Copyright 2014 OpenStack Foundation Some rights reserved.To reap the benefits of OpenStack, you should plan, design, and architect your cloudproperly, taking user's needs into account and understanding the use cases.Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliancewith the License. You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, software distributed under the License is distributedon an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See theLicense for the specific language governing permissions and limitations under the License.Except where otherwise noted, this document is licensed underCreative Commons Attribution ShareAlike 3.0 3.0/legalcodei

Architecture GuideSeptember 13, 2014currentTable of ContentsPreface . 5Conventions . 5Document change history . 51. Introduction . 1Intended audience . 1How this book is organized . 2Why and how we wrote this book . 3Methodology . 42. General purpose . 11User requirements . 12Technical considerations . 16Operational considerations . 30Architecture . 33Prescriptive example . 483. Compute focused . 51User requirements . 52Technical considerations . 54Operational considerations . 64Architecture . 66Prescriptive examples . 774. Storage focused . 81User requirements . 82Technical considerations . 83Operational considerations . 86Architecture . 91Prescriptive examples . 1025. Network focused . 109User requirements . 112Technical considerations . 115Operational considerations . 123Architecture . 124Prescriptive examples . 1296. Multi-site . 135User requirements . 135Technical considerations . 140Operational considerations . 144Architecture . 147Prescriptive examples . 1507. Hybrid . 157User requirements . 158Technical considerations . 164iii

Architecture GuideSeptember 13, 2014currentOperational considerations .Architecture .Prescriptive examples .8. Massively scalable .User requirements .Technical considerations .Operational considerations .9. Specialized cases .Multi-hypervisor example .Specialized networking example .Software-defined networking .Desktop-as-a-Service .OpenStack on OpenStack .Specialized hardware .10. References .A. Community support .Documentation .ask.openstack.org .OpenStack mailing lists .The OpenStack wiki .The Launchpad Bugs area .The OpenStack IRC channel .Documentation feedback .OpenStack distribution packages .Glossary 1211213213213213215215215217

Architecture GuideSeptember 13, 2014currentPrefaceConventionsThe OpenStack documentation uses several typesetting conventions.NoticesNotices take these forms:NoteA handy tip or reminder.ImportantSomething you must be aware of before proceeding.WarningCritical information about the risk of data loss or security issues.Command prompts promptAny user, including the root user, can run commands thatare prefixed with the prompt.# promptThe root user must run commands that are prefixed withthe # prompt. You can also prefix these commands with thesudo command, if available, to run them.Document change historyThis version of the guide replaces and obsoletes all earlier versions.The following table describes the most recent changes:Revision DateJuly 21, 2014Summary of Changes Initial release.5

Architecture GuideSeptember 13, 2014current1. IntroductionTable of ContentsIntended audience .How this book is organized .Why and how we wrote this book .Methodology .1234OpenStack is a leader in the cloud technology gold rush, as organizationsof all stripes discover the increased flexibility and speed to market thatself-service cloud and Infrastructure-as-a-Service (IaaS) provides. To trulyreap those benefits, however, the cloud must be designed and architectedproperly.A well-architected cloud provides a stable IT environment that offers easyaccess to needed resources, usage-based expenses, extra capacity on demand, disaster recovery, and a secure environment, but a well-architectedcloud does not magically build itself. It requires careful consideration of amultitude of factors, both technical and non-technical.There is no single architecture that is "right" for an OpenStack cloud deployment. OpenStack can be used for any number of different purposes,and each of them has its own particular requirements and architectural peculiarities.This book is designed to look at some of the most common uses for OpenStack clouds (and even some that are less common, but provide a goodexample) and explain what issues need to be considered and why, alongwith a wealth of knowledge and advice to help an organization to designand build a well-architected OpenStack cloud that will fit its unique requirements.Intended audienceThis book has been written for architects and designers of OpenStackclouds. This book is not intended for people who are deploying OpenStack. For a guide on deploying and operating OpenStack, please referto the OpenStack Operations Guide (http://docs.openstack.org/openstack-ops).1

Architecture GuideSeptember 13, 2014currentThe reader should have prior knowledge of cloud architecture and principles, experience in enterprise system design, Linux and virtualization experience, and a basic understanding of networking principles and protocols.How this book is organizedThis book has been organized into various chapters that help define theuse cases associated with making architectural choices related to an OpenStack cloud installation. Each chapter is intended to stand alone to encourage individual chapter readability, however each chapter is designed tocontain useful information that may be applicable in situations coveredby other chapters. Cloud architects may use this book as a comprehensiveguide by reading all of the use cases, but it is also possible to review onlythe chapters which pertain to a specific use case. When choosing to readspecific use cases, note that it may be necessary to read more than one section of the guide to formulate a complete design for the cloud. The usecases covered in this guide include: General purpose: A cloud built with common components that shouldaddress 80% of common use cases. Compute focused: A cloud designed to address compute intensive workloads such as high performance computing (HPC). Storage focused: A cloud focused on storage intensive workloads suchas data analytics with parallel file systems. Network focused: A cloud depending on high performance and reliablenetworking, such as a content delivery network (CDN). Multi-site: A cloud built with multiple sites available for application deployments for geographical, reliability or data locality reasons. Hybrid cloud: An architecture where multiple disparate clouds are connected either for failover, hybrid cloud bursting, or availability. Massively scalable: An architecture that is intended for cloud serviceproviders or other extremely large installations.A chapter titled Specialized cases provides information on architecturesthat have not previously been covered in the defined use cases.Each chapter in the guide is then further broken down into the followingsections:2

Architecture GuideSeptember 13, 2014current Introduction: Provides an overview of the architectural use case. User requirements: Defines the set of user considerations that typicallycome into play for that use case. Technical considerations: Covers the technical issues that must be accounted when dealing with this use case. Operational considerations: Covers the ongoing operational tasks associated with this use case and architecture. Architecture: Covers the overall architecture associated with the usecase. Prescriptive examples: Presents one or more scenarios where this architecture could be deployed.A glossary covers the terms used in the book.Why and how we wrote this bookThe velocity at which OpenStack environments are moving from proofof-concepts to production deployments is leading to increasing questionsand issues related to architecture design considerations. By and large theseconsiderations are not addressed in the existing documentation, whichtypically focuses on the specifics of deployment and configuration optionsor operational considerations, rather than the bigger picture.We wrote this book to guide readers in designing an OpenStack architecture that meets the needs of their organization. This guide concentrateson identifying important design considerations for common cloud use cases and provides examples based on these design guidelines. This guidedoes not aim to provide explicit instructions for installing and configuringthe cloud, but rather focuses on design principles as they relate to user requirements as well as technical and operational considerations. For specific guidance with installation and configuration there are a number ofresources already available in the OpenStack documentation that help inthat area.This book was written in a book sprint format, which is a facilita

Architecture Guide September 13, 2014 current 6 Coordinate the OpenStack architecture across the project and leverage OpenStack community efforts more effectively. Architect for automation as much as possible to speed development and deployment. Use the appropriate tools for the development effort.File Size: 1MBPage Count: 228Explore furtherOpenStack Docs: OpenStack Architecture Design Guidedocs.openstack.orgOpenStack Docs: Basic architecturedocs.openstack.orgOpenStack Docs: Identity managementdocs.openstack.orgRecommended to you based on what's popular Feedback