Extending OpenStack

Book description

Discover new opportunities to empower your private cloud by making the most of the OpenStack universe

About This Book

  • This practical guide teaches you how to extend the core functionalities of OpenStack
  • Discover OpenStack's flexibility by writing custom applications and network plugins
  • Deploy a containerized environment in OpenStack through a hands-on and example-driven approach

Who This Book Is For

This book is for system administrators, cloud architects, and developers who have experience working with OpenStack and are ready to step up and extend its functionalities. A good knowledge of basic OpenStack components is required. In addition, familiarity with Linux boxes and a good understanding of network and virtualization jargon is required.

What You Will Learn

  • Explore new incubated projects in the OpenStack ecosystem and see how they work
  • Architect your OpenStack private cloud with extended features of the latest versions
  • Consolidate OpenStack authentication in your large infrastructure to avoid complexity
  • Find out how to expand your computing power in OpenStack on a large scale
  • Reduce your OpenStack storage cost management by taking advantage of external tools
  • Provide easy, on-demand, cloud-ready applications to developers using OpenStack in no time
  • Enter the big data world and find out how to launch elastic jobs easily in OpenStack
  • Boost your extended OpenStack private cloud performance through real-world scenarios

In Detail

OpenStack is a very popular cloud computing platform that has enabled several organizations during the last few years to successfully implement their Infrastructure as a Service (IaaS) platforms. This book will guide you through new features of the latest OpenStack releases and how to bring them into production straightaway in an agile way.

It starts by showing you how to expand your current OpenStack setup and how to approach your next OpenStack Data Center generation deployment. You will discover how to extend your storage and network capacity and also take advantage of containerization technology such as Docker and Kubernetes in OpenStack. Additionally, you'll explore the power of big data as a Service terminology implemented in OpenStack by integrating the Sahara project. This book will teach you how to build Hadoop clusters and launch jobs in a very simple way. Then you'll automate and deploy applications on top of OpenStack. You will discover how to write your own plugin in the Murano project. The final part of the book will go through best practices for security such as identity, access management, and authentication exposed by Keystone in OpenStack. By the end of this book, you will be ready to extend and customize your private cloud based on your requirements.

Style and approach

This guide is filled with practical scenarios on how to extend and enhance OpenStack's functionality. We will be covering various installation and configuration platforms along with a focus on plugins and extending OpenStack's core functionalities.

Table of contents

  1. Title Page
  2. Copyright and Credits
    1. Extending OpenStack
  3. Packt Upsell
    1. Why subscribe?
    2. PacktPub.com
  4. Contributors
    1. About the author
    2. About the reviewer
    3. Packt is searching for authors like you
  5. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
      1. Download the example code files
      2. Download the color images
      3. Conventions used
    4. Get in touch
      1. Reviews
  6. Inflating the OpenStack Setup
    1. Revisiting the OpenStack ecosystem
      1. Grasping a first layout
    2. Postulating the OpenStack setup
      1. Treating OpenStack as code
      2. Growing the OpenStack infrastructure
      3. Deploying OpenStack
        1. Ansible in a nutshell
        2. Testing the OpenStack environment
          1. Prerequisites for the test environment
          2. Setting up the Ansible environment
        3. Running the OSA installation
        4. Production OpenStack environment
    3. Summary
  7. Massively Scaling Computing Power
    1. Decomposing the compute power
    2. Empowering the compute service
    3. Varying the compute flavor
      1. Meeting Docker
        1. Joining Docker
      2. Meeting Xen
        1. Joining Xen
    4. Segregating the compute resources
      1. Reasoning for infrastructure segregation
        1. Defining regions
        2. Defining AZ
        3. Defining host aggregate
        4. Defining cells
      2. Reasoning for workload segregation
        1. Filtering the compute workload
        2. Weighting the compute power
          1. Stacking or spreading
          2. Weighing in action
    5. Summary
  8. Enlarging the OpenStack Storage Capabilities
    1. Varying the block storage backends
      1. Managing block storage – Logical Volume Manager (LVM)
      2. Managing block storage – Network File System (NFS)
      3. Managing block storage – Ceph RADOS Block Device (RBD)
    2. Scheduling and filtering
      1. Hybrid storage scheduling
    3. Navigating the storage backup alternatives
      1. Ceph as backup
      2. Swift as backup
    4. Exploring Manila – shared file service
      1. Configuring the shared file service
        1. Configuring block storage for the Manila backend
        2. Configuring CephFS for the Manila backend
    5. Summary
  9. Harnessing the Power of the OpenStack Network Service
    1. Neutron plugins reference
      1. Driving the sole plugin – ML2 under the hood
      2. Extending ML2 – customizing your own plugin
    2. Maximizing network availability
      1. Neutron HA – DVR
        1. Configuring DVR
      2. Neutron HA – VRRP
    3. The era of network programming
    4. Orchestrating the network function virtualization (NFV)
    5. Summary
  10. Containerizing in OpenStack
    1. Why containers?
      1. The natural evolution of containers
      2. Game changing – microservices
    2. Building the ship
      1. Containers in OpenStack
        1. Docker Swarm in OpenStack
          1. Example – NGINX web server
        2. Kubernetes in OpenStack
          1. Example – application server
        3. Mesos in OpenStack
          1. Example – a Python-based web server
    3. Summary
  11. Managing Big Data in OpenStack
    1. Big data in OpenStack
    2. Rolling OpenStack Sahara service
    3. Deploying the Hadoop cluster
    4. Executing jobs
    5. Summary
  12. Evolving Self-Cloud Ready Applications in OpenStack
    1. The evolvement of Murano
    2. The Murano ecosystem
    3. Integrating Murano in OpenStack
    4. Deploying a self-contained application
    5. Summary
  13. Extending the Applications Catalog Service
    1. Murano application under the hood
    2. Developing application publisher perspective
    3. Deploying application consumer perspective
    4. Summary
  14. Consolidating the OpenStack Authentication
    1. Recapping the Keystone blocks
      1. The multitude faces of the token
      2. Multiple identity actors
    2. All in one authentication hub
      1. Keystone as SP – SAML
      2. Keystone as SP – OpenID Connect
    3. Summary
  15. Boosting the Extended Cloud Universe
    1. Benchmarking as a Service (BaaS)
      1. Automating OpenStack profiling with Rally
        1. Installing Rally
        2. Benchmarking with Rally
        3. Extending benchmarking with plugins
    2. Summary
  16. Other Books You May Enjoy
    1. Leave a review - let other readers know what you think

Product information

  • Title: Extending OpenStack
  • Author(s): Omar Khedher
  • Release date: February 2018
  • Publisher(s): Packt Publishing
  • ISBN: 9781786465535