One of the core services of OpenStack, networking project Neutron is often cited in user surveys as difficult to detangle.
Author James Denton, principal architect at Rackspace with over 15 years in systems administration, has written four books in the last six years dedicated to OpenStack networking. Denton says that in part the versatility of Neutron — it can support many network technologies and topologies simultaneously — increases the complexity.
While it may never get as easy as properly twirling spaghetti, the latest edition of “Learning OpenStack Networking” provides the fundamentals. He talks to Superuser about what’s new in this edition and what he’s working on next.
Who will this help most?
This book is geared towards OpenStack operators as well as users, and breaks down many of the fundamental concepts presented in OpenStack Networking. For the user, it offers examples of using the command line interface and/or dashboard to accomplish networking-related tasks such as building networks, subnets, routers, floating IPs, load balancers and more. For the operator, the book goes a step further and demonstrates how those objects are implemented behind the scenes.
What are the main updates to this edition?
The latest edition has been updated to correspond to the Pike/Queens releases. The installation process walks the reader through a Pike install on Ubuntu 16.04 LTS. However, many of the concepts and examples translate directly to a Queens-based install (and beyond). The upstream install docs are always helpful to install the latest release, and then the book can take over from there. In this edition, I’ve removed VPNaaS and FWaaS content, but have updated the load balance as-a-service chapter to support LBaaS v2 and have added additional content related to RBAC, VLAN-aware VMs, network availability zones and BGP speaker.
What’s the steepest learning curve for people learning about OpenStack networking?
An OpenStack cloud can support so many different network technologies and topologies simultaneously, which in return increases the complexity of a given environment. The fundamental components of OpenStack Networking are built on concepts that most system administrators and users are familiar with: networks, subnets, routers, etc.
Traditional network administrators understand VLANs, NAT, and routing, but it’s the logical representation of those objects, and how they’re implemented in the virtual and physical network layers, that’s difficult for many people to understand at first.
How have you seen best practices shift over the time you’ve been working with OpenStack?
Over the last few years, most of the popular and/or relevant deployment tools have shifted to container technologies for hosting OpenStack services, which makes deployments, upgrades, and maintenance easier to perform. Ansible has also become the tool of choice for configuration management. The consolidation of tool sets and deployment methods will only help strengthen adoption and advancement, in my opinion.
Why is a book helpful now — there’s IRC, mailing lists, documentation, your video tutorials etc.?
The internet is a wonderful source of information on OpenStack and Neutron but is also a difficult place to navigate. I often turn to IRC and mailing lists for my own issues. For people new to the community or the project, though, those mediums may seem unapproachable. The book uses a single voice to provide the reader with a solid foundation in OpenStack networking concepts, and builds upon that foundation with every chapter. For quick reference, it’s a great start. When people feel comfortable with the basics, reaching out to the community is less intimidating.
What’s next for you?
In the future, I hope to become more involved with upstream development on OpenStack-Ansible in order to incorporate support for projects such as Tungsten Fabric, OVN, Cisco ACI, and more. As I gain experience with each of those projects and discover how Neutron can be extended to support those, I hope to blog about it!