Aviatrix is evolving to address the challenge of deploy, secure, and operate a secure multi cloud networking. As it advances to fill the gaps it still requires certain knowledge of the environment like determine the size of the gateways instances: an over provisioned gateway can cost more than necessary but on the other side an under provisioned gateway can impact the performance and availability of applications.
CoPilot 1.10 released in May brought the capability to create policies that based on the telemetry allows to scale the managed resources up or down. Later the feature will support to scale the resources out.
CoPilot monitors the resource utilization and storing the data in a database for all gateways and controller under the Performance application:
- There are two main metrics: system and network.
Multiple trigger conditions can also be combined. Policies can be created with Actions to scale-up and for scale-down:
- System: CPU Iddle
- System: Memory Free
- Network: Total Rate
- Network: Receive Rate
- Network: Transmitted Rate
I’m going to create a scale up and a scale down policies:
- Scale up:
For production, the recommendation is to monitor system and network metrics. You can use the Performance app to gauge the scaling policies:
The following table can also provide a guideline:
If you resize a gateway that does not have high availability a network downtime will occur until the gateway restarts with its new instance size.
To generate load for testing the feature, I’m running iperf3 from ce-spoke100-instance and ce-spoke200-instance GCE instances:
After 1 hour:
Clicking on the Recommendation “Scale Up”:
I picked up the next instance from the drop-down menu above and once I clicked “Begin Scaling”, CoPilot took care of telling the controller to resize:
While a few operations require manual intervention, what is recommended for testing anyway, at this time I’m convinced those will be automatized pretty soon.