ArcGIS Enterprise

Dev Summit 2022: Autoscaling in ArcGIS Enterprise on Kubernetes

In his demonstration, Shreyas highlights the new autoscaling capabilities for ArcGIS Enterprise on Kubernetes. This is an incredibly powerful new feature that allows administrators to configure and deploy production systems that respond to unexpected performance demands with minimal intervention and overhead. For IT administrators—who often need to maintain complex systems and ensure they run smoothly—autoscaling can help them monitor their systems and scale resources when needed.

Load test with Apache JMeter

Now that the organization has been created, Shreyas needs test how it responds to unexpected performance demands to make sure that it’s ready for production. To do this, Shreyas created an Apache JMeter project. JMeter allows Shreyas to perform a load test to evaluate how his deployment, and the autoscaling configuration, performs under pressure. The JMeter project he’s created will simulate 20 concurrent, active users, all of whom are interacting with a hosted feature service in the organization.

This image shows the JMeter project that's performing the load test
Shreyas' JMeter project. The project will be simulating 20 concurrent, active users using a hosted feature service.

Autoscaling configuration settings

ArcGIS Enterprise on Kubernetes’ autoscaling feature builds on the foundation of Horizontal Pod Autoscaling, which updates a workload resource to automatically scale the workload to match current demand.

Shreyas set the service scaling using the ArcGIS Enterprise Admin API to scale from one Pod to four if the CPU threshold crosses 50%. While the load test is happening, ArcGIS Enterprise on Kubernetes is in the background continuously monitoring the Pods’ CPU utilization. If it crosses the threshold, the system will scale the number of Pods up according to the configuration values. If the cluster is running low on resources, and cannot accommodate adding additional Pods, Enterprise on Kubernetes will engage the cluster provider and trigger the addition of new compute nodes. When utilization drops, and the additional resources are no longer needed, the system scales itself back down to its default state.

This image shows the service scaling for the hosted feature service the load test will be using.
Shreyas' service scaling configuration for the hosted feature service being used in the test. The image shows the autoscaling values that Shreyas has set up beforehand.

Monitoring system performance with Grafana

Grafana, a metrics visualizer, is part of the out-of-the-box ArcGIS Enterprise on Kubernetes deployment. Using Grafana, administrators can author dashboards to visualize their system’s data and better understand their organization’s health. As shown below, Shreyas’ dashboard depicts three key pieces of system information: the rate of requests, the number of Pods or instances of the feature server, and the CPU activity for all Pods. Once the test begins, and the load increases, we can see that the dashboard updates accordingly, showing how the system is performing under the increased load.

This image shows the response the ArcGIS Enterprise on Kubernetes organization has to the increased load its experiencing during the load test, and how it adjusts to the autoscaling configuration.
Shreyas' Grafana dashboard. The dashboard shows the updated rate of requests, number of Pods (or instances of the feature server), and Pods CPU activity during the load test.

During the load test we can see that Shreyas’ organization did not block new requests. Instead, new Pods were created to handle the additional demand in line with the values set up in the service scaling configuration. We can also see that CPU utilization is at comparable levels to those seen before the test. This means that, though the system is being subjected to heavier usage, the load is being well distributed across all Pods.

Conclusion

With this demonstration, Shreyas showed how the system automatically adjusted to the organization’s needs. To learn more about the features showed in this demonstration, as well as to learn about other administrative tasks that can be performed in ArcGIS Enterprise on Kubernetes, see the following resources:

Missed some of the demonstrations presented today? Check out the overview blog:

About the authors

Tori O hara

Tori is a technical writer on the ArcGIS Enterprise team.

Mild mannered programmer by day, mild mannered programmer by night. Lover of distributed software systems. Software Engineer on the ArcGIS Enterprise team at Esri.

Connect:

Next Article

Send email from pop-ups

Read this article