These days one of the buzzwords we hear from telco operators and cloud developers is NFV (Network Function Virtualization). So in this post we will give a brief overview of NFV. We will also introduce you to the OpenStack Tacker project and specifically about the health monitor feature of Tacker.
Network Function Virtualization
As most of the operators’ networks include large variety of proprietary hardware appliances, if they want to launch a new network service like load balancing or firewall, it often requires new variety of hardware. So finding the space and power to accommodate these boxes is difficult.
NFV came into picture to address these problems by converting all these network functionalities from hardware appliance to virtualized technology. So the concept of running software-defined network functions independent of hardware is called NFV.
On the other hand, the software which implements the network function which is not coupled with hardware is called Virtual Network Function(VNF).
Let’s take a scenario to understand what exactly NFV, VNF actually means.
In the above diagram, we have typical setup of a firewall, a load balancer and multiple servers hosting same web application for high availability. The firewall and load balancer is an actual hardware appliance. This is a typical example of a non-NFV architecture.
In the above diagram we replaced the hardware firewall and the load balancer appliance with software running in virtual machines. This software implementation of a firewall or any other network function is called Virtual Network Function (VNF). The concept/architecture of moving the software from a dedicated hardware appliance to a virtual machine/bare metal machine is called Network Functions Virtualization (NFV).
Virtualizing Network Functions could offer many benefits including:
- Cost of hardware appliance will be reduced.
- Availability of network appliance multi-version and multi-tenancy, which allows use of a single platform for different applications, users and tenants.
- Network services can be rapidly scaled up/down as required.
What is NFV MANO?
As we mentioned in the benefits of NFV, we can easily scale up/down the VNFs. But there must be some entity which launches/manages these VNFs. For this purpose the European Telecommunications Standards Institute Industry Specification Group(ETSI ISG NFV) defined a framework for the management and orchestration of NFV.
The main functional blocks of NFV MANO are:
- NFV Orchestrator: It is useful for deploying of new network services like firewalls.
- VNF Manager: It manages the life cycle management of VNF instances.
- Virtualized Infrastructure Manager (VIM): Controls and manages the NFV infrastructure such as compute, storage and network resources.
If you want to know more NFV MANO architecture check out NFV architecture.
Tacker is an OpenStack incubation project started in March 2015. It is an NFV Orchestrator and VNF Manager for OpenStack. It is completely based on ETSI NFV MANO framework. In case of Tacker, OpenStack components such as Nova, Neutron and Cinder collectively act as the VIM. Let us see the main blocks of Tacker and its functionalities.
- It provides VNF catalog for the end users. VNF catalog generally stores the VNF descriptors uploaded by the end users.
- It controls basic life cycle management operations of VNF instances.
- It facilitates initial configuration of VNF.
- Provides platform for template based end to end deployment of VNFs
- It provides flexibility to orchestrate VNFs across VIMs.
Tacker generally takes TOSCA templates as input for VNF manager to orchestrate the VNFs. TOSCA templates constitute both VNF descriptors and network service descriptors. Currently Tacker supports only VNF descriptors.
Health Monitoring in Tacker
The current version of Tacker performs monitoring based on pinging the IP Address of the virtual machine which is running the VNF. Tacker developers are working on the next generation monitoring framework which will include:
- Plug and Play kind of drivers to monitor the virtual machine.
- Availability of more events and actions for monitoring drivers.
When Tacker is is unable to reach the virtual machine, it will respawn it.
These features make the monitoring framework useful for production use. By default ping and http ping monitor drivers are provided. You can pass parameters like port number, url and so on to check the reachability of the virtual machine.
The next thing to watch out for in Tacker is the auto scaling feature, which is slated to be available in the Liberty release.