OpenStack in Action is a new release from Manning that aims to introduce readers to the OpenStack platform for cloud computing ( IaaS ). InfoQ has interviewed V. K. Cody Bumgardner, author of the book.
OpenStack is a platform for building both private and public clouds. OpenStack is not simply another virtualization tool, rather a framework that utilizes existing virtualization tools to build and manage clouds. The OpenStack API provides a common abstraction layer on top of physical or virtual hardware and software resources, which, in turn, can be then orchestrated through it.
This book is targeted at developers, architects, and sysadmins. It provides a step-by-step guide to deploy cloud solutions. Particularly, the book follows a progressive approach to describing how you can build a cloud using OpenStack. The first step is automating deployment of a single node environment targeting development.
Then the book goes into more detail describing how you can manually deploy, step-by-step, a multi-node environment. The next level addresses the deployment of a production-quality OpenStack environment using automated deployment and management tools. According to Bumgardner, the OpenStack architecture described in the book is not suitable for all production environments.
One of the advantages that OpenStack brings is that it helps prevent vendor lock-in to the underlying software and hardware. This is made possible by managing the resources through OpenStack, instead of using the vendor’s component directly. This means that a vendor’s component can potentially be replaced with another vendor’s easily. The drawback of this approach is that OpenStack only supports common required features for all kinds of supported components and may miss some features specific to a vendor’s component.
On the other hand, it should not go unnoticed that, due to the lack of an accepted standard for cloud platforms, using OpenStack implies a kind-of lock-in to OpenStack itself, with no guarantee of portability to a different cloud framework
A few highlights for some of the book’s chapters:
- Chapter 1 introduces you to OpenStack and what it can bring to your organization;
- Chapter 2 guides you through an automated deployment of a one-node OpenStack system using OpenStack graphical Dashboard; in Chapter 3, you will do the same but using OpenStack command line interface;
- Chapters 5–8 guide you through a manual deployment of a multi-node OpenStack cloud, which each chapter focusing on a particular kind of components, including compute, storage, and networking. The book describes how you can manage the relevant services for these components (Nova, Neutron, Cinder, etc) and it also provide details about their interoperation and the technologies behind them, such as kernel namespaces, OVS, LVM, etc;
- the rest of chapters are devoted to introducing several automation tools for OpenStack, such as Ceph for storage, Fuel for deployment, and Heat and Ubuntu Juju for cloud orchestration.
OpenStack is surely a complex product, given to the large number of different projects that compose it and no single book can seemingly cover all of them. Nevertheless, OpenStack in Action provides you the basic understanding and hands-on knowledge to begin your journey in private cloud deployments.
InfoQ has spoken with the book’s author, V. K. Cody Bumgardner to learn more about his book.
InfoQ: Could you explain the motivation behind this book? Why was it necessary?
Bumgardner: By the time OpenStack Grizzly came around I became convinced that OpenStack was ready for limited production use, at least for best-effort applications. I held several workshops to explain OpenStack components and how it might be used to provide private cloud resources in our enterprise. During our early workshops it became clear to me that convincing traditional IT shops to give up direct control of resources was going to be difficult, and it was going to be even harder to change conventional thinking about infrastructure management. I wrote the book for the 99% of IT that are coming from the enterprise prospective, not for those that are already supporting or using large cloud environments.
InfoQ: Could you shortly describe your background and your experience with OpenStack and cloud technologies in general?
Bumgardner : I have worked in IT for over 20 years in the areas of strategic planning, technical, and leadership roles in the areas of IT architecture, software development, networking, research, systems, and security. I am currently the Chief Technology Architect of a large public university and a Phd Candidate in Computer Science, with a focus on distributed system optimization. I was introduced to OpenStack during the Essex release in 2012 and have been an advocate ever since.
InfoQ: More that 500 companies have joined the project. What is the promise of OpenStack? Why does it matter?
Bumgardner: I think OpenStack can do for infrastructure what high-level languages did for application portability and development time. Cost related to propriety hardware/software is marginalized and resource utilization/provisioning time, if done properly, is greatly reduced. OpenStack as a “cloud operating system” provides opportunity for strategic maneuvering regardless of the underlying physical environment.
InfoQ: What are your favorite examples of applications that can benefit from OpenStack? What key features does OpenStack enable?
Bumgardner: It would be easier to describe the types of applications that stand the least to gain from OpenStack. For instance, applications that makes use of unshared, static, and/or highly specialized infrastructure don’t benefit much from OpenStack. However, these applications are few and far between and even fewer have the technical justification for such specialization.
InfoQ: What is crucial for OpenStack to become a standard commonly accepted by most vendors? How would you evaluate OpenStack maturity in this regard?
Bumgardner: It is unnatural for a vendor to want to give up a competitive advantage of a propriety management environment, so I am not sure you will ever see broad vendor-driven adoption. In fact I think we want to avoid what we seen with vendor support of Software Defined Networking (SDN), where often a small subset of a standard is implemented for the sake of “Yes we do that!”. Outside of the vendor community that “is” OpenStack there must exist strategic advantages for vendors to leverage the technology as part of their offerings.
InfoQ: OpenStack is an umbrella name for many different components. While your book does a great job at introducing them and describe how they can be used, still building a system based on OpenStack can be quite a daunting task. What are the key points that should be kept in mind while learning how to use OpenStack?
Bumgardner: You don’t have to prove mathematical theorems to use a calculator, but you had better have a good foundation in mathematics and engineering if you are going to build one. I think of OpenStack in the same way, where you don’t have to be an expert in networking, systems, or automation to make use of OpenStack and your level of experience can guide your approach. I know people in research that are experts in many areas that pull OpenStack source for their deployments and others with less experience (or time) that opt for commercially supported automated deployment tools.
InfoQ: How would you describe the mentality shift from managing an IT infrastructure to letting OpenStack do it? What advantages does this provide?
Bumgardner: Disruptive technologies have a way of creating excitement for new possibilities followed by fear of change. High performing IT teams will evaluate new technologies and understand their strategic value for the organization long before a vendor offering exist. In this respect, you can either lead with change or eventually change will lead you and you might not like the path. OpenStack adoption and impact will be vary greatly based on how well and organization is positioned to take advantage of the salient aspects of the technology. As I discuss in the book, if you are looking to OpenStack as only a virtual server replacement you are missing the point. IT organizations should shift their thinking away from thinking about providing infrastructure and move toward thinking more like a resource broker, this of course is just my opinion.
InfoQ: What are the challenges for developers moving from a more traditional development model to making apps for OpenStack? Why should developers bring their apps to OpenStack?
Bumgardner: If there is any single group that stands the most to gain from OpenStack it is development and testing. The ability to reconstruct infrastructure exactly like it will be in production is priceless for testing. The ability to “software define” your infrastructure, software dependencies, and applications drastically reduces deployment time. The ability to do all these things without having to ask IT to do it.. priceless.
InfoQ: What are the major limitations/complexities that you see in OpenStack at present?
Bumgardner: The strengths and weakness of any system (computational, government, origination, etc.) are a product of their components and related arrangements. Central control allows for quick action, but with limited scale. Perfectly distributed system equally distribute control providing great scale, but lack control authority.
I am old enough to have watched Linux mature from version .99, something you could barely call a kernel, to the 18M line monster we have today that is literally running everywhere. Linux became what it is, at least in part, because it had strong central vision and leadership (Linus). On the other hand control of the OpenStack foundation is broadly distributed and changes over time. OpenStack’s strength is also its weakness, a broad inclusive focus and distributed vision and control.
InfoQ: Can you share your thoughts about OpenStack future development? Which new features are we likely to see? Are there any features/assets that you deem necessary but are not in current OpenStack plans?
Bumgardner: I am likely biased based on my area of research, but I think we need to focus more attention on streaming monitoring and measurement of all OpenStack components. In addition, I would like to see the ability to influence resource scheduling, perhaps even a scheduler driver. Of course, there is nothing stopping me from suggesting such things, that is the beauty of the OpenStack community.
About the Book Author
( @codybum) has been in the IT industry for over 20 years, during which he has worked in technical, managerial, and sales roles in the areas of IT architecture, software development, networking, research, systems, and security. Over the last several years, he has focused on researching, implementing, and speaking about cloud computing and computational economics. He is also currently a PhD candidate in Computer Science at the University of Kentucky (UK), focusing on computational economics and distributed resource management. Cody currently serves as the Chief Technology Architect (CTA) of a large public land-grant university. Cody is responsible for the architecture, financial model, deployment, and long-term strategy of the Open- Stack private cloud, research computing, and other cloud computing initiatives.