If you’re new to OpenStack, it helps to have someone show you around. Two active members of the OpenStack community wrote a book with real-world examples to help you find your way.
Elizabeth K. Joseph has worked in open source for a decade and in OpenStack for over four years. She’s a member of the OpenStack Infra Team and Women of OpenStack. Contributing author Matt Fischer, principle software engineer at Time Warner Cable who helped deploy their OpenStack Cloud, is a frequent speaker at OpenStack Summits and a familiar figure at the Mid-Cycle Ops Meetups.
Their book “Common OpenStack Deployments” from Prentice Hall offers a guide for people interested in OpenStack but new to the technology and its features. The authors provide a walk-through of your first approach to OpenStack and then take you all the way to controlling containers and troubleshooting in about 250 pages. You can read a sample, buy the book in hard copy or e-versions on the publisher’s website and through online retailers including Safari Books.
Superuser talked to Joseph about this “gentle introduction” to OpenStack and some of her favorite resources for getting up to speed.
Who will this book help most?
When I came up with the idea for the book two years ago, I was attending a lot of open source conferences where OpenStack was quickly becoming a popular topic. There were introduction talks here and there, but already talks had started diving into specific projects. This brought great value to the OpenStack community early on because we could meet up and collaborate at these conferences, and early operators found a high level of expertise from speakers at these conferences.
There was a large group of folks who were left out of the excitement though, ones who were more generalists in the open source community, operators who weren’t in a position to change what they’re using for virtualization or cloud in their organization, and others. When I’d mention I worked on the Infrastructure Team for OpenStack, people would regularly asked me exactly what OpenStack was. “Open source software for building clouds” rarely satisfied them. What do I mean by “cloud?” What services does OpenStack exactly offer? Do I need to completely delete my current virtualization environment to use OpenStack? The book is a gentle introduction that answers all these questions, with real world examples designed to speak to this audience.
How will this book help people get their heads around OpenStack and its capabilities?
The book starts off by talking about what we mean by cloud and explaining several of the popular projects, like Nova, Neutron and Cinder. One of the most important things I believe people should to learn early on is that OpenStack has a collection of projects interoperate and that come together to be this thing we call OpenStack. As a result, OpenStack is incredibly modular, making it so that OpenStack clouds run by different organizations are rarely identical. You define what you need from your cloud, and then you identify, evaluate and implement the components that you need.
With that behind us, the book presents a series of deployment scenarios. The chapters start by explaining a series of use cases who may use the particular scenario, say a university looking to give virtual machines to students, or a film company processing a lot of raw data that requires a massive storage back end and transfer of large files. While I kept these examples general, I took many of these examples from OpenStack Summit keynotes and articles on Superuser, so thank you for showcasing so much great work that organizations are doing with OpenStack!
What I’m most proud of though is that these deployment scenarios are fully open source. A majority of the code for the book is on GitHub under an Apache license and we use the upstream OpenStack Puppet modules. My contributing author Matt Fischer uses these modules at work, and I now use them in OpenStack Infrastructure’s infra-cloud. Matt’s enterprise-level expertise and ability to bring that down into our smaller scale scenarios was invaluable, and we had a lot of support from folks on the Puppet team like Colleen Murphy and Emilien Macchi. Using the Puppet modules also allowed us to present examples that people can actually modify and start using if they want to diverge from the instructions in the book and start creating their own scenarios. I liked this approach a lot since it’s very different from a lot of examples that existed in other books that had you running things locally in containers or deploying by hand. We wanted to present a path to a production deployment that was clear.
— Elizabeth K. Joseph (@pleia2) September 12, 2016
What’s the role of a book when there are more training programs out now than ever?
I’m really excited that there are so many training programs out there today, it’s an important part of learning for a lot of folks and we went far too long without having such programs in place.
I see the book as a kind of introductory phase between getting interested in OpenStack and securing a spot in a training program. If you are in a position to make decisions in your organization about your cloud and virtualization usage, you may want to learn about it by reading a book first and later applying for formal training. If you’re looking to expand your skill set on your own time, or haven’t yet convinced your department to send you to training, you can benefit by picking up a book today and getting familiar with the basics which can build a case for sending you to formal training.
There are also folks who still prefer books to formal training and I’m among them. I am better at learning at my own pace and find great value in introductory books that give me an overview. With the overview in my head, I can go back to the project documentation with a greater understanding of context within which they’re written and dive into specifics.
What’s on your OpenStack bookshelf?
My first stop for everything OpenStack is http://docs.openstack.org/. The OpenStack Documentation team does a lot of amazing work that is often not highlighted enough. They have install guides for multiple distributions and that landing page also links to various operations guides, API references, contributing documents and more. These resources are free and if you’re looking for specific information about a service, they’re definitely where you want to start.
As I was writing the book, I found a lot of value in some of the project-specific books. Off the top of my head, I found the “OpenStack Swift” published by O’Reilly Media to provide a considerable amount of insight into how the internals of Swift works (especially concepts like The Ring). I also have a copy of “Identity, Authentication, and Access Management in OpenStack: Implementing and Deploying Keystone” on my shelf, doing identity management correctly is incredibly important and many organizations have some sort of tooling that they want OpenStack to tie into, having a reference that covers it is important.
Finally, I highly recommend brushing up on your general Linux administration and networking skills. There are a lot of books on this topic out there, you want to find a book or other materials that can walk you through debugging tools (including viewing logs, analyzing TCP dumps and working with stack traces).
OpenStack can sometimes be a bit obtuse with the errors it gives, so having a firm grasp on the core system you’re working with will help you a lot when OpenStack isn’t directly giving you the answers you’re looking for.