=====================
System requirements
=====================

This document lists minimum system requirements for management servers, aggregators and
bonders.

Management server
------------------

-  Environment: bare metal (recommended for performance), ESX, Xen (PV-GRUB or
   HVM), KVM
-  CPU: minimum 8 cores, Xeon Kaby/Cascade Lake or newer, or AMD Epyc
-  RAM: minimum 16 GB
-  Disk:

      -  Minimum 500 GB, NVME w/PLP - Disks must be enterprise-rated.
      -  Disk IO is a priority.
      -  Disks should be directly attached and have good performance.
      -  There are significant performance penalties when the disk writes cannot keep up.
      -  Virtual environments should have equivalent specs on storage performance. For example,
         "Provisioned IOPS SSD volumes" for Amazon or "Premium SSD" for Azure

-  Network:

   -  Ethernet: One 1 Gbps interface
   -  IP address: One static public IP

-  Recommended - remote KVM ability such as IPMI or ILO

Aggregators
------------------

-  Environment:

      -  Bare metal (strongly recommended for performance), ESX, Xen (PV-GRUB or HVM), or KVM
      -  See virtualization considerations on `provisioning aggregators <../aggregators/provisioning-aggregators.html>`__

-  CPU:

      -  Xeon Kaby/Cascade Lake or newer, or AMD Epyc or newer with at
         least 4 cores. For performance, higher clock rates and generation of
         CPU is preferred over number of cores
      -  If encryption is enabled for the tunnel or private WAN, the `AES
         instruction set <https://en.wikipedia.org/wiki/AES_instruction_set>`__ is recommended for faster speeds

-  RAM:

      -  Minimum 2 GB (supports 50 bonds/1 GB memory)
      -  Add 50 MB for every bond running TCP proxy (when TCP proxy is
         enabled on at least 1 bond, aggregator needs more memory and this
         can vary depending on the speeds set on the bond)

-  Disk: minimum 16 GB SSD or NVMe (PLP recommended)

-  Network:

   -  Ethernet: One gigabit interface (Please be aware of how much
      bandwidth is subscribed. Multiple gigabit/10 gigabit is often
      needed)
   -  IP address: One static public IP
   -  Internet uplink: Sufficient bandwidth for all bonds assigned to the
      aggregator, considering oversubscription ratio if applicable. For
      example with two bonds, each with two 10/10 Mbps legs, the
      aggregator would need 40/40 Mbps bandwidth to Internet,
      assuming no oversubscription. Using an oversubscription ratio of
      4:1, the aggregator could be given 10/10 Mbps bandwidth

-  Recommended - remote KVM ability such as IPMI or ILO

Bonders
------------------

-  Environment: bare metal, ESX, Xen
-  Throughput and required CPU is listed in the performance ratings document:

   -  If tunnel encryption is enabled, AES acceleration instruction set is
      recommended for faster speeds

-  RAM: 2 GB minimum, 4 GB recommended
-  Disk: minimum 4 GB SSD or NVMe (PLP recommended)
-  Ethernet: One gigabit interface (please be aware of future use-cases and
   consider 2.5 Gbps interfaces)

Further Recommendations
-----------------------

The above requirements are bare minimums. When onboarding as a partner or
upgrading infrastructure, please consult with your sales engineer as they may
recommend additional resources based on your specific environment.

For edge node performance, please consult with your sales engineer to ensure that the
CPUs are being sized correctly for your use-cases.