OpenStack is a wide ranging initiative started by Rackspace and NASA in 2010 designed to provide open source software to build and manage IaaS cloud services. What’s often missing in open source projects like OpenStack is a definitive guide to the release schedule, the different pieces, how the different pieces interact, and how to build an actual service with the various pieces. That’s where Deploying OpenStack comes into the picture.
Ken Pepple starts with a “lay of the land,” providing a history of the OpenStack project, and then an overview of the OpenStack clients and services. This is probably the most useful section for network engineers, as it provides a rough guide to the identity, imaging, and block storage services provided by OpenStack. Included here is a section on the OpenStack release process, including the names and schedules of the releases.
The next chapter, Understanding OpenStack Identity. As it covers what is probably the most central piece of the architecture, this is also the largest and most complete section of the book. What did occur to me is why this entire identity system doesn’t have more hooks into TACACS and other systems used to manage network devices; it would be a huge boon to cloud operators to unify their identity management under one roof. No such connections appear to exist as of this writing, however.
Chapter 3 covers the OpenStack image service, called Glance. The concepts here aren’t directly tied to network services in any way. Chapter 4 covers the block storage service, called Cinder, in some detail. One point of confusion here (that might be cleared up later – this is an early release, rather than a fully edited manuscript), is specifically how to create a bootable image. The book does have a section on this, but it doesn’t actually address the question – is it just a matter of setting a bit on an image in block storage, or is it related to the image name, or… ??
Throughout this book, the author provides direct examples, from the console prompt, of creating, managing, and deleting services within the three frameworks. He also provides examples of connecting each of the two file storage services covered, Glance and Cinder, to the Keystone authentication service to allow tenants and various groups of tenants to create, modify, and use these services. These are valuable not only for engineers trying to build a cloud system based on OpenStack, but also for engineers with strong *nix backgrounds who want to understand more of the nuts and bolts of OpenStack deployment.
Deploying OpenStack is best suited to engineers building out an OpenStack lab to better understand the technology, and might be particularly useful for security engineers building a lab system on which to run multiple virtual machines. From a network design and architecture perspective, there are interesting points, but it may be a bit more hands on in the application space than designers will find useful. Overall, then, a very good book for the right audience.