concept DevStack in category openstack

This is an excerpt from Manning's book OpenStack in Action.
DevStack was created to make the job of deploying OpenStack in test and development environments quicker, easier, and more understandable, but the ease with which it allows users to deploy OpenStack makes it a natural starting point for learning the framework. DevStack is a collection of documented Bash (command-line interpreter) shell scripts that are used to prepare an environment for, configure, and deploy OpenStack. The choice of using a shell-scripting language for DevStack was deliberate. The code is intended to be read by humans and computers alike, and it’s used as a source of documentation by developers. Developers of OpenStack components can document dependencies outside of raw code segments, and users can understand how these dependencies must be provided in a working system.
Despite the daunting size and complexity of the OpenStack framework, DevStack makes things look easy. Figure 2.2 may look like an oversimplification, but it’s an accurate illustration of the function of DevStack.
Users with very little experience with virtualization, storage, networking, or—frankly—Linux, can quickly get a single-server OpenStack environment working. In many ways, DevStack does for OpenStack what OpenStack can do for infrastructure (as you learned in chapter 1): it simplifies and abstracts it.
But I don’t want to give the impression that DevStack will be used for deploying OpenStack in production. In fact, in OpenStack circles it’s common to hear the phrase, “Friends don’t let friends run DevStack in production.” In chapters 5 through 8, we’ll explore manual deployments of OpenStack. This manual exercise will allow you to learn about the configuration options and components of OpenStack and develop your ability to troubleshoot OpenStack deployments. In chapter 11, we’ll cover an automated deployment of OpenStack that’s intended to be used in a production environment.
In this chapter, you’ll prepare an environment and deploy OpenStack using DevStack. You don’t need to know much about Linux, storage, or networking to deploy a working single-server OpenStack environment. Using this deployment, we’ll walk through ways you can interact with OpenStack, and this will give you some familiarity with both the components and the overall system. Then we’ll discuss the OpenStack tenant model, which is how OpenStack logically separates, controls, and assigns resources to projects. In OpenStack terminology, tenant and project can be used interchangeably. Finally, you’ll take what you’ve learned and create a virtual machine in a virtualization environment.