Elastic Network Capacity (Erl, Naserpour)
How can network bandwidth be allocated to align with actual usage requirements?
ProblemNetwork bandwidth is often fixed, resulting in performance bottlenecks, runtime exceptions and failure when bandwidth capacity is reached.
SolutionA system is established to dynamically increase or decrease the amount of network ports in response to actual bandwidth usage.
ApplicationCloud consumer network traffic is isolated and each cloud consumer is allocated its own network ports which are retrieved from and returned to a network pool, as per usage requirements.
MechanismsAutomated Scaling Listener, Cloud Usage Monitor, Hypervisor, Logical Network Perimeter, Pay-Per-Use Monitor, Resource Replication, Virtual Server
Compound PatternsBurst In, Burst Out to Private Cloud, Burst Out to Public Cloud, Elastic Environment, Infrastructure-as-a-Service (IaaS), Multitenant Environment, Platform-as-a-Service (PaaS), Private Cloud, Public Cloud, Resilient Environment, Software-as-a-Service (SaaS)
Even if IT resources are scaled on-demand by a cloud platform, performance and scalability can still be inhibited when remote access to the IT resources is impacted by network bandwidth limitations.
Figure 1 - A scenario whereby a lack of available bandwidth causes performance issues with cloud consumer requests.
A system is established in which additional bandwidth is allocated dynamically to the network to avoid runtime bottlenecks. This system ensures that individual cloud consumer traffic flows are isolated and that each cloud consumer is using a different set of network ports.
The automated scaling listener mechanism and intelligent automation engine scripts are used to detect when traffic reaches a bandwidth threshold and to then respond with the dynamic allocation of additional bandwidth and/or network ports.
The cloud architecture may be equipped with a network resource pool containing network ports that are made available for shared usage. The automated scaling listener monitors workload and network traffic and signals the intelligent automation engine to increase or decrease the number of allocated network ports and/or bandwidth in response to usage fluctuations.
Note that when applying this pattern at the virtual switch level, the intelligent automation engine may need to run a separate script that adds physical uplinks specifically to the virtual switch. Alternatively, the Direct I/O Access pattern can also be applied to increase network bandwidth that is allocated to the virtual server.
NIST Reference Architecture Mapping
This pattern relates to the highlighted parts of the NIST reference architecture, as follows: