What’s New with the NGINX Controller Application Delivery Module for 2022

Robert Haynes Thumbnail
Robert Haynes
Published January 12, 2022
“The man who moves a mountain begins by carrying away small stones.
– Confucius

Said another way, a series of small, incremental changes, delivered often, can have a very large impact. This thinking is the basis for modern apps that are commonly developed using CI/CD pipelines. While daily integration of new code into the mainline might not be a silver bullet, the accumulation of many small submissions can result in the next killer application.

Like those who aspire to move a mountain, over the past few months NGINX released new versions of the NGINX Controller Application Delivery Module (ADM) that combine dramatically to improve the product – already a powerful governance, observability, and simplified operations platform for NGINX Plus deployments and the applications they support.

Specifically, Releases 3.20, 3.21, and 3.22 of the ADM together offer both significant new features and enhanced functionality, much of it the result of your feedback. In this blog we take a look at highlights in each release that help you keep your apps available, secure, and performing optimally.

New Features and Enhancements in Release 3.22

Released on December 20, 2021, Release 3.22 includes these new features and enhancements:

  • Snippets – A core mission of NGINX Controller is simplifying workflows and aligning to an app‑centric model for observability, governance, and operations. By design, implementing this model comes with tradeoffs in the form of a more “opinionated” view of configuration and slight limitations on how much you can customize your NGINX deployment – especially when compared with direct configuration and management of NGINX Plus instances. But we understand that sometimes you really need to tailor configurations for specific use cases.

    With snippets, you can now insert custom NGINX configuration that isn’t natively supported by the Controller API into the main, http, stream, server, location, and upstream contexts in an NGINX configuration. For best practices and examples, see About Snippets in the Controller documentation.

  • Workload health‑check events – A primary use case for NGINX Controller is app‑centric visibility and insight, which helps you ensure your apps stay healthy and available. Release 3.22 enhances this functionality with two additional workload health‑check events generated per component per instance:

    • A triggered event that signifies changes in state of workload group members from “Healthy” to “Unhealthy”
    • An event that provides a snapshot of the current state of workload group members, sent every few minutes
  • Workload health‑check probe programmability – You can configure the headers in health‑check probes sent by the NGINX Plus data plane to the workload or upstream servers hosting applications.

  • Caching – One of the key differentiators of NGINX Plus is its ability to cache both static and dynamic HTTP content from proxied web and application servers. Caching improves app performance by reducing both the load on the servers and the latency of responses sent to clients, ultimately driving better digital experiences for customers.

    In Release 3.22 you can configure caching via the API or UI, and dive into performance metrics and dashboards for cached content. You can also use the new snippet functionality described above for the advanced caching configurations that NGINX supports, such as different cache locations based on content type. For more information, see About Caching in the Controller documentation.

  • Worker process tuning – You can tune NGINX Plus worker processes to better leverage the capabilities of the underlying machine, using the Controller API to set the following directives: multi_accept, worker_connections, worker_priority, worker_processes, and worker_rlimit_nofile.

  • Instance groups – You can now create a logical group of NGINX Plus instances which then receive identical configuration. This enables at‑scale configuration of multiple instances in a single step.

  • Additional enhancements

    • Support for enabling proxying to upstream servers with NTLM authentication.
    • UI enhancements for configuring rate limiting and JWT authentication for ADC web components.
    • Support for OpenID Connect (OIDC) authentication with Azure AD as the Identity Provider.
    • Support for SELinux – You can now run both Controller and Controller Agents on Linux machines where SELinux is enabled.
    • Support for NGINX App Protect WAF 3.7.
    • Technology preview of Red Hat Enterprise Linux (RHEL) 8 – You can run both Controller and Controller Agents on RHEL 8 as a proof of concept. We have tested this functionality in small‑scale deployments only. Performance and stability issues are possible, so we strongly recommend experimenting with scaling in a test environment before deploying to production.

For more details, see the Release Notes.

New Features and Enhancements in Release 3.21

Released on October 27, 2021, Release 3.21 includes these new features and enhancements:

  • Initial support for snippets as an experimental feature. Customer feedback enabled us to tune the feature for the GA delivery in Release 3.22 as described above.

  • Initial support for instance groups as described above.

  • Support for NGINX Plus R19 through R25.

  • Support for NGINX App Protect WAF 3.6 and earlier.

For details, see the Release Notes.

New Features and Enhancements in Release 3.20

Released on September 14, 2021, Release 3.20 introduced greater scale, better stability, and a big leap forward in overall product quality, making possible many of the innovations in Releases 3.21 and 3.22. Features and enhancements include:

  • Introduction of Data Plane Manager (DPM) – This internal enhancement increases the overall scalability and resiliency of NGINX Controller as a whole. With DPM, you can now holistically manage significantly more NGINX Plus instances and application services from a single pane of glass and rest assured that your Controller deployments remain available (the degree of scale varies by deployment, depending on configuration).

  • Data Explorer – You can more easily double‑click into the vast stream of data and metrics produced by the NGINX Plus instances managed by Controller. Data Explorer provides powerful, actionable insights from metrics such as the amount of data generated by HTTP POST requests for a particular app this week compared to last week, or the average CPU utilization trends for an environment. Through better filtering, data dimensions, and the ability to overlay events and time scales on top of raw NGINX Plus data, you can create your own customized view of NGINX Plus data as well as generate alerts to stay in the know.

  • Additional enhancements

    • A high‑performance communication path between NGINX Controller and the Controller Agent
    • Support for NGINX App Protect WAF 3.3 through 3.5
    • Support for NGINX Plus R19 through R24

For details, see the Release Notes.

Keep Your Feedback Coming

The NGINX Controller Application Delivery Module (and the Controller platform in general) continues to evolve. Together, Releases 3.20 through 3.22 improve the platform, further simplify and streamline administration and management tasks, make extracting meaningful application insight easier, and help harden security postures. Many of these new features and enhancements are the direct result of conversations we’ve had and feedback we’ve received from you, our customers. So please keep it coming by engaging with your F5 representative.

If you haven’t had a chance to give NGINX Controller a try, now is a great time! Start a free 30-day trial of NGINX Controller today or contact us to discuss your use cases.

"This blog post may reference products that are no longer available and/or no longer supported. For the most current information about available F5 NGINX products and solutions, explore our NGINX product family. NGINX is now part of F5. All previous links will redirect to similar NGINX content on"