OpenStack overview

In OpenStack, the overall components can be separated into the following core services:

  • Compute, code named nova: It is the computing fabric controller for managing and controlling computing resources. It works with bare metal servers as well as hypervisor technologies, such as KVM, Xen, Hyper-V, and many more. Nova is written in Python.
  • Networking, code name Neutron: This is the system that manages networks and associated services. The physical network can be flat, VLAN, or VXLAN that separates control and user traffic with the virtual network work in conjunction with the underlying physical network. Network services such as IP addressing (DHCP or static), floating IP from control node to user network, L2 and L3 services reside within the networking services. This is where the network plugin can be installed to provide additional services such as intrusion detection system, load balancing, firewall, and VPN. This is the focus of our chapter.
  • Block Storage, code named Cinder: The block storage is used with compute instances to provide block-level storage, similar to a virtual hard drive.
  • Identify, code named keystone: Keystone provides central directory of user rights management.
  • Image service, code named glance: This is service that provides discovery, registration, and delivery for disk and server images.
  • Object Storage, code named Swift: Swift is the backend redundant storage system for data replication and integrity across multiple disk drives and servers.
  • Dashboard, code name Horizon: This is the dashboard for access, provision, and automate deployment. Technically this is classified as an optional service for enhancement. However, I personally feel this is a core service that is required for deployment.

Here is a visualization of the core services of OpenStack:

OpenStack Core Services (source: https://www.openstack.org/software/)

There are many more optional services that enhance the services, such as database, telemetry, messaging service, DNS, orchestration, and many more. Here is a brief overview of some of the optional services:


OpenStack Optional Services (source: https://www.openstack.org/software/project-navigator)

As you can tell by the size of the components, OpenStack is a very big and complex project. In the latest Ocata release (less than 6 months release cycle between Newton in October 2016 to Ocata in February 2017), there are



OpenStack Ocata Release Contribution (source: http://stackalytics.com/?release=ocata)

The point I am trying to make is that moving over to OpenStack only makes sense if you deploy the project as a whole, with all the components intact. You could choose to deploy any individual component, such as OpenStack Networking (neutron), but the benefit would be no different than from deploying a number of other network abstraction technologies. The true benefit of OpenStack comes from the direct and seamless integration and orchestration of all the components working together.

It is generally a high-level business decision, jointly made by both business and technical personnels in a company. In my opinion, as a network engineer, we should exercise due diligence in investigating if our physical network and technology in-use today can accommodate the OpenStack virtualized network; for example, if we should use flat, VLAN, or VXLAN for management and user network overlay. We should start with how network virtualization is done within OpenStack, which we will examine in the next section.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.188.154.252