Last updated on: 2023-08-29 10:06:08.

Sizing Reference Guide

Review the following prerequisites and make sure that your environment is ready to support the VNF Manager.

All-in-One

All-in-One (AIO) deployment is based on a single VNFM box (single VM/Container) running all the VNFM components, mainly the manager, the database and the messaging queue. An AIO deployment is recommended for non-mission critical use when High-availability is not required and the scale is not extreme. VNFM AIO is typically used for development and testing systems, but also common in production for smaller-scale areas.

Recommended Resources

Resource Minimum Recommended
vCPUs 2 8
RAM 4GB 16GB
Storage 20GB 64GB
  • The minimum requirements are enough for a manager running just a few compute instances, typically for developer use, POC, or a small edge site.
  • The recommended spec was certified with 500K deployments and an average rate of over 1000 workflows per hour.
  • Adding more resources has proven to be successful for higher loads.

VNF Manager server

For a highly available setup at lease two managers are required, 3 are recommended.

Recommended resources per manager server

Resource Recommended
vCPUs 4
RAM 8GB
Storage 32GB
  • The recommended spec is for average use of 1000-2000 workflows per hour and was certified with 1M deployments.
  • Scaling to higher volume can be achieved via
  • Additional VNF Managers - an almost linear scaling was verified leveraging 3-6 managers.
  • Higher hardware spec - a linear scaling was verified with stronger hardware
  • The equivalent AWS instance is c5.xlarge
  • Customized sizing and tunning may further improve the supported scale. Over 2M deployed nodes and over 5000 workflows per hour were tested in some scenarios.

Database (PostgreSQL) server

For a highly available setup, 3 database servers are required.

Recommended resources per database server

Resource Recommended
vCPUs 2
RAM 16GB
Storage 64GB
  • The recommended spec is for average use of 1000-2000 workflows per hour and was certified with 1M deployments.
  • Scaling to higher volume can be achieved via
  • Higher hardware spec - a linear scaling was verified with stronger hardware
  • The equivalent AWS instance is r5.large

Messaging queue (RabbitMQ) server

For a highly available setup, 3 messaging queue servers are required.

Recommended resources per messaging queue server

Resource Recommended
vCPUs 2
RAM 4GB
Storage 32GB
  • The recommended spec is for average use of 1000-2000 workflows per hour and was certified with 1M deployments.
  • Scaling to higher volume can be achieved via
  • Higher hardware spec - a linear scaling was verified with stronger hardware
  • The equivalent AWS instance is c5.large

Sizing guidelines

Use the following guidelines and insights to determine component sizing.

VNFM Component Sizing guideline
Tenants Define a maximum of 1000 tenants in a VNF Manager
Users Currently, no limit to the number of users you can define in the system; however, the maximum, concurrent users interacting with VNFM is 200.
Blueprints Allocate 50GB of storage to the VNF Manager. Currently, no limit to the number of blueprints, as the average blueprint storage requires less than 1M of disk space and database space.
Plugins Plugins are stored in the VNF Manager hard drive. Typically, plugins can consume approximately 5M to 20M of storage.
Deployments A single VNFM can maintain up to 500K of deployed nodes. Typical deployment size consumes 10K maximum of disk size and a few entries in the database.
Workflows A VNFM can operate up to 100 concurrent workflows; a default limit enforced by the system. However, you can modify this threshold.
Secrets No limit to the number of secrets.
Agents A maximum of 2000 agents deployed per a single VNFM.
UI/CLI/API requests/second Although the REST API performance varies depending on multiple factors, typically VNF Manager can support a maximum of 10 requests/second.
Events The system can process a maximum of 100 events/second.
Logs, events, and metrics Define enough storage to store the logs, events, and metrics sent from the hosts, configuring log rotation to minimize the amount of storage space required.

Architecture and OS

VNF Manager is supported for installation on a 64-bit host with RHEL/CentOS 7.9.

VNFM Images for OpenStack

You can also create a VNF Manager with the OpenStack or Docker images available at downloads.

Network

Network Interfaces

The VNF Manager requires at least 2 network interfaces with configured IP addresses:

  • Private - This interface is dedicated for communication with other VNFM components, including agents and cluster members.
  • Public - This interface is dedicated for connections to the VNF Manager via the VNFM CLI and VNF Management Console.
  • Connectivity requirements These are the minimal requirements for production systems. * Internal communication - between VNF management cluster entities - at least 1Gbps connection with a latency of 1msec or less. * VNFM Agent to manager communication - at least 100Mbps connection with a latency of 50ms or less.

Network Ports The VNF Manager listens on the following ports:

Port Description
80 REST API and UI. This port must be accessible when SSL is not enabled.
443 REST API and UI. This port must be accessible when SSL is enabled.
22 For remote access to the manager from the VNFM CLI. (Optional)
5671 RabbitMQ. This port must be accessible from agent VMs.
8009 Monitoring service port.
53333 Internal REST communications. This port must be accessible from agent VMs.

Additionally, when VNFM is deployed in a cluster topology, the following ports should be allowed:

Database nodes access to each other:

Port Description
2379 Etcd client-server for patroni cluster state.
2380 Etcd server-server for patroni cluster state.
5432 PostgreSQL replication.
8008 Patroni API for retrieving cluster state.

Manager access to database servers:

Port Description
5432 Database access.
8008 Patroni, for determining DB node state.
8009 Monitoring service port.

Messaging queue (RabbitMQ) nodes access to each other:

Port Description
369 epmd for discovery operations.
25671 Server-server rabbit communication.

Manager access to messaging queue servers:

Port Description
4369 epmd for discovery operations.
5671 Brokers access.
15671 Accessing the management plugin for user management.
8009 Monitoring service port.

Manager to manager access:

Port Description
22000 Synchronizing for file replication.
8009 Monitoring service port.

All ports are TCP unless noted otherwise.

Reverse DNS lookup

Reverse DNS lookup must be available for the RabbitMQ nodes.

Prerequisite Packages

Software requirements

These are specific packages that are commonly included in RHEL/CentOS. You must have these packages installed before you install the VNF Manager:

PACKAGE DESCRIPTION VNF MANAGER POSTGRESQL DATABASE RABBITMQ SERVER
sudo Passwordless sudo is required to run commands with root privileges (this is a requirement even when running with root user) X X  
systemd Create VNFM Services X X X
yum Install VNFM-required packages X X X
openssl-1.0.2k Generate internal/external certificates X    
openssh-server Creating SSH keys during the sanity check X    
logrotate Rotating VNFM log files X X X
initscripts Required by RabbitMQ X    
sed Required by the CLI X    
tar Untar packages X    
python-setuptools Required by Python X X X
python-backports Required by Python X X X
python-backports-ssl_match_hostname Required by Python X X X
policycoreutils-python Required if SELinux is enforcing X X X

Interoperability

The VNF Manager is a complete application. As such, it contains installed dependencies such as PostgreSQL, NGINX, RabbitMQ, and others. It is required that you install VNF Manager on a standalone VM or container and do not co-locate any other applications on that machine or container (beyond possible monitoring or logging software). You must install the VNF Manager as described in the installation instructions in this guide.