The OpenStack Foundation has established a bold mission for itself: to harness the cloud community's many talents in developing a robust, open and agile software suite that supports cloud computing in a wide variety of environments, including public, private and hybrid clouds.
Using an open source development model, the foundation has created a strong baseline distribution in less than two years that enables key tasks in compute, storage and networking, along with important supporting functions in metering, authentication and graphical user interfaces (GUIs) -- all complemented by application programming interfaces (APIs) for integration and extension. However, we don't always pause and look closely at how individual projects in the framework have progressed or how they meet the requirements of different customer deployments. In this article, we look at how OpenStack's networking service, OpenStack Neutron, is progressing as of the recent Havana release.
Intro to OpenStack Neutron
The central idea of OpenStack networking is to provide a consistent set of network services for use by multiple other elements, such as virtual machines (VMs), systems management modules and other connected networks. In essence, OpenStack networking creates a consistent, logical tier of communications that other elements can use efficiently and at scale.
The model is implemented in OpenStack Neutron servers, which interact with the OpenStack Nova software managing VMs (that is, compute services) as well as the other elements mentioned above. Users interact with networking functions via the OpenStack Horizon GUI, and other management systems and networks interact with networking services using the Neutron APIs.
In its current distribution, OpenStack Neutron implements a mixture of Layer 2 VLAN and Layer 3 routing services, and it offers extensions to support firewalls, load balancers and IPSec VPNs for the networks it supports. VMs in the networks can come from a mix of hypervisors -- including KVM, ESX, XenServer and Hyper-V -- supporting choice and versatility in design.
Additionally, Neutron allows flexible placement of virtual machines within a site using robust address management that supports both IPv4 and IPv6. It employs a logical subnet construct, representing a block of IP addresses the virtual network can place and reach anywhere in its deployed topology. This construct is similar to subnetting that's been used in IP networking for many years, but in Neutron, it is abstracted from the physical ports typically associated with subnets. It is used as a logical association mechanism in the overlay network to allow for separation of network traffic for different users and applications. In this way, cloud providers can discretely enable multiple tenants' communications and deploy topologies for various applications, such as multi-tiered combinations of servers to handle different portions of an overall application.
Three reasons to deploy OpenStack Neutron
In Neutron, the OpenStack project has created a robust virtual networking platform for use in a variety of designs. And from a broader perspective, we can identify three key benefits for using this open overlay design as a means of creating network services for the cloud.
First, by using a consistent approach to networking for multiple types of virtual machines, OpenStack Neutron helps providers operate efficiently in heterogeneous environments, which is frequently the requirement in service provider systems. Being able to use KVM, ESX, Hyper-V or XenServer as needed on a common network foundation simplifies this task.
Second, by supplying a consistent set of APIs for plugging in a variety of physical network underlays, providers gain flexibility in altering the design of their underlying physical network while keeping the cloud service logically intact. Adoption of the Neutron API by prominent networking suppliers -- including Arista Networks Inc., Brocade Communications Systems Inc., Cisco Systems Inc., Hewlett-Packard Co., Juniper Networks Inc., NEC Corp. and Alcatel-Lucent Inc.'s spin-off Nuage Networks -- is a powerful endorsement of this attribute's value.
And third, orchestration and system management suppliers -- as well as providers' own technical teams -- can use the Neutron API to integrate management of the network for the cloud with multiple higher level service management tasks. This offers a range of opportunities, including service-level agreement monitoring, as well as integration into automation platforms like catalogues and portals for dynamic management of customer clouds. Uptake by such vendors as HP, IBM, PLUMgrid Inc. and Red Hat Inc. has validated the appeal of this approach.
By all appearances, OpenStack Neutron is establishing itself as a powerful baseline to use in developing the open, agile and extensible systems environment operators need for delivering responsive and differentiated cloud-based services.
About the author:
Paul Parker-Johnson is the practice lead for cloud computing and virtual infrastructure technologies at ACG Research.