{"id":44846,"date":"2022-01-13T05:36:58","date_gmt":"2022-01-12T20:36:58","guid":{"rendered":"https:\/\/jirak.net\/wp\/whats-new-with-the-nginx-controller-application-delivery-module-for-2022\/"},"modified":"2022-01-13T06:34:23","modified_gmt":"2022-01-12T21:34:23","slug":"whats-new-with-the-nginx-controller-application-delivery-module-for-2022","status":"publish","type":"post","link":"https:\/\/jirak.net\/wp\/whats-new-with-the-nginx-controller-application-delivery-module-for-2022\/","title":{"rendered":"What\u2019s New with the NGINX Controller Application Delivery Module for 2022"},"content":{"rendered":"<p>What\u2019s New with the NGINX Controller Application Delivery Module for 2022<\/p>\n<div class=\"ngx_blockquote_wrap\">\n<div class=\"ngx_blockquote\"><span class=\"left-quote\">&#8220;<\/span>\u201cThe man who moves a mountain begins by carrying away small stones.<span class=\"right-quote\">&#8221;<\/span><\/div>\n<div class=\"ngx_blockquote_author\">&ndash; Confucius<\/div>\n<\/div>\n<p>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 <a href=\"https:\/\/www.nginx.com\/blog\/introducing-cicd-with-nginx-and-nginx-plus\/\">commonly developed using CI\/CD pipelines<\/a>. 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. <\/p>\n<p>Like those who aspire to move a mountain, over the past few months NGINX released new versions of the <a href=\"https:\/\/www.nginx.com\/products\/nginx-controller\/load-balancer-application-delivery\/\">NGINX Controller Application Delivery Module<\/a> (ADM) that combine dramatically to improve the product&nbsp;&ndash; already a powerful governance, observability, and simplified operations platform for NGINX Plus deployments and the applications they support.<\/p>\n<p>Specifically, <span>Releases 3.20, 3.21, and 3.22<\/span> of the ADM together offer both significant new features and enhanced functionality, <strong>much of it the result of your feedback<\/strong>. In this blog we take a look at highlights in each release that help you keep your apps available, secure, and performing optimally. <\/p>\n<h2>New Features and Enhancements in Release 3.22<\/h2>\n<p>Released on December 20, 2021, <a target=\"_blank\" href=\"https:\/\/docs.nginx.com\/nginx-controller\/releases\/adc\/adc-release-notes-3.22\/\" rel=\"noopener noreferrer\">Release&nbsp;3.22<\/a> includes these new features and enhancements:<\/p>\n<ul>\n<li>\n<p><strong>Snippets<\/strong>&nbsp;&ndash; A core mission of NGINX Controller is simplifying workflows and aligning to an app&#8209;centric model for observability, governance, and operations. By design, implementing this model comes with tradeoffs in the form of a more \u201copinionated\u201d view of configuration and slight limitations on how much you can customize your NGINX deployment&nbsp;&ndash; 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.<\/p>\n<p>With snippets, you can now insert custom NGINX configuration that isn\u2019t natively supported by the Controller API into the main, <code>http<\/code>, <code>stream<\/code>, <code>server<\/code>, <code>location<\/code>, and <code>upstream<\/code> contexts in an NGINX configuration.  For best practices and examples, see <a target=\"_blank\" href=\"https:\/\/docs.nginx.com\/nginx-controller\/app-delivery\/about-snippets\/\" rel=\"noopener noreferrer\">About Snippets<\/a> in the Controller documentation.<\/p>\n<\/li>\n<li>\n<p><strong>Workload health&#8209;check events<\/strong>&nbsp;&ndash; A primary use case for NGINX Controller is app&#8209;centric visibility and insight, which helps you ensure your apps stay healthy and available. Release&nbsp;3.22 enhances this functionality with two additional workload health&#8209;check events generated per component per instance:<\/p>\n<ul>\n<li>A triggered event that signifies changes in state of workload group members from \u201cHealthy\u201d to \u201cUnhealthy\u201d<\/li>\n<li>An event that provides a snapshot of the current state of workload group members, sent every few minutes<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Workload health&#8209;check probe programmability<\/strong>&nbsp;&ndash; You can configure the headers in health&#8209;check probes sent by the NGINX Plus data plane to the workload or upstream servers hosting applications.<\/p>\n<\/li>\n<li>\n<p><strong>Caching<\/strong>&nbsp;&ndash; One of the key differentiators of NGINX Plus is its ability to <a href=\"https:\/\/nginx.com\/products\/nginx\/caching\/\">cache both static and dynamic HTTP content<\/a> 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.<\/p>\n<p>In Release&nbsp;3.22 you can configure <a target=\"_blank\" href=\"https:\/\/docs.nginx.com\/nginx\/admin-guide\/content-cache\/content-caching\/\" rel=\"noopener noreferrer\">caching<\/a> 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 <a target=\"_blank\" href=\"https:\/\/docs.nginx.com\/nginx-controller\/app-delivery\/about-caching\/\" rel=\"noopener noreferrer\">About Caching<\/a> in the Controller documentation.<\/p>\n<\/li>\n<li>\n<p><strong>Worker process tuning<\/strong>&nbsp;&ndash; You can tune NGINX Plus worker processes to better leverage the capabilities of the underlying machine, using the <a target=\"_blank\" href=\"https:\/\/docs.nginx.com\/nginx-controller\/api\/reference\/ctlr-v1\/adc\/docs\/instances\/v1\/paths\/PUT\/infrastructure\/locations\/(locationName)\/instances\/(instanceName)\" rel=\"noopener noreferrer\">Controller API<\/a> to set the following <a target=\"_blank\" href=\"https:\/\/nginx.org\/en\/docs\/ngx_core_module.html\" rel=\"noopener noreferrer\">directives<\/a>: <code>multi_accept<\/code>, <code>worker_connections<\/code>, <code>worker_priority<\/code>, <code>worker_processes<\/code>, and <code>worker_rlimit_nofile<\/code>.<\/p>\n<\/li>\n<li>\n<p><strong>Instance groups<\/strong>&nbsp;&ndash; You can now create a logical group of NGINX Plus instances which then receive identical configuration. This enables at&#8209;scale configuration of multiple instances in a single step.<\/p>\n<\/li>\n<li>\n<p><strong>Additional enhancements<\/strong><\/p>\n<ul>\n<li>Support for enabling proxying to upstream servers with NTLM authentication.<\/li>\n<li>UI enhancements for configuring rate limiting and JWT authentication for ADC web components.<\/li>\n<li>Support for OpenID Connect (OIDC) authentication with Azure AD as the  Identity Provider.<\/li>\n<li>Support for SELinux&nbsp;&ndash; You can now run both Controller and Controller Agents on Linux machines where SELinux is enabled.<\/li>\n<li>Support for NGINX App Protect WAF&nbsp;3.7.<\/li>\n<li>Technology preview of Red Hat Enterprise Linux (RHEL)&nbsp;8&nbsp;&ndash;  You can run both Controller and Controller Agents on RHEL&nbsp;8 as a proof of concept. We have tested this functionality in small&#8209;scale deployments only. Performance and stability issues are possible, so we strongly recommend experimenting with scaling in a test environment before deploying to production.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>For more details, see the <a target=\"_blank\" href=\"https:\/\/docs.nginx.com\/nginx-controller\/releases\/adc\/adc-release-notes-3.22\/\" rel=\"noopener noreferrer\">Release Notes<\/a>.<\/p>\n<h2>New Features and Enhancements in Release 3.21<\/h2>\n<p>Released on October 27, 2021, <a target=\"_blank\" href=\"https:\/\/docs.nginx.com\/nginx-controller\/releases\/adc\/adc-release-notes-3.21\/\" rel=\"noopener noreferrer\">Release&nbsp;3.21<\/a> includes these new features and enhancements:<\/p>\n<ul>\n<li>\n<p>Initial support for snippets as an experimental feature. Customer feedback enabled us to tune the feature for the GA delivery in Release&nbsp;3.22 as described above.<\/p>\n<\/li>\n<li>\n<p>Initial support for instance groups as described above.<\/p>\n<\/li>\n<li>\n<p>Support for NGINX Plus R19 through R25.<\/p>\n<\/li>\n<li>\n<p>Support for NGINX App Protect WAF&nbsp;3.6 and earlier.<\/p>\n<\/li>\n<\/ul>\n<p>For details, see the <a target=\"_blank\" href=\"https:\/\/docs.nginx.com\/nginx-controller\/releases\/adc\/adc-release-notes-3.21\/\" rel=\"noopener noreferrer\">Release Notes<\/a>.<\/p>\n<h2>New Features and Enhancements in Release 3.20<\/h2>\n<p>Released on September 14, 2021, <a target=\"_blank\" href=\"https:\/\/docs.nginx.com\/nginx-controller\/releases\/adc\/adc-release-notes-3.20\/\" rel=\"noopener noreferrer\">Release&nbsp;3.20<\/a> introduced greater scale, better stability, and a big leap forward in overall product quality, making possible many of the innovations in Releases&nbsp;3.21 and&nbsp;3.22. Features and enhancements include:<\/p>\n<ul>\n<li>\n<p><strong>Introduction of Data Plane Manager (DPM)<\/strong>&nbsp;&ndash; 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).<\/p>\n<\/li>\n<li>\n<p><strong>Data Explorer<\/strong>&nbsp;&ndash; You can more easily <a target=\"_blank\" href=\"https:\/\/docs.nginx.com\/nginx-controller\/analytics\/data-explorer\/how-to-use\/\" rel=\"noopener noreferrer\">double&#8209;click into the vast stream of data<\/a> 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 <code>POST<\/code> 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.<\/p>\n<\/li>\n<li>\n<p><strong>Additional enhancements<\/strong><\/p>\n<ul>\n<li>A high&#8209;performance communication path between NGINX Controller and the Controller Agent<\/li>\n<li>Support for NGINX App Protect WAF&nbsp;3.3 through&nbsp;3.5<\/li>\n<li>Support for NGINX Plus R19 through R24<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>For details, see the <a target=\"_blank\" href=\"https:\/\/docs.nginx.com\/nginx-controller\/releases\/adc\/adc-release-notes-3.20\/\" rel=\"noopener noreferrer\">Release Notes<\/a>.<\/p>\n<h2>Keep Your Feedback Coming<\/h2>\n<p>The NGINX Controller Application Delivery Module (and the Controller platform in general) continues to evolve. Together, Releases&nbsp;3.20 through&nbsp;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\u2019ve had and feedback we\u2019ve received from you, our customers. So please keep it coming by engaging with your F5 representative. <\/p>\n<p>If you haven\u2019t had a chance to give NGINX Controller a try, now is a great time! Start a <span><a href=\"https:\/\/www.nginx.com\/free-trial-request-nginx-controller\">free 30-day trial<\/a><\/span> of NGINX&nbsp;Controller today or <a href=\"https:\/\/www.nginx.com\/contact-sales\/\">contact us to discuss your use cases<\/a>.<\/p>\n<p>The post <a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/blog\/whats-new-nginx-controller-application-delivery-module-2022\/\">What\u2019s New with the NGINX Controller Application Delivery Module for 2022<\/a> appeared first on <a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\">NGINX<\/a>.<\/p>\n<p>Source: <a href=\"https:\/\/www.nginx.com\/blog\/whats-new-nginx-controller-application-delivery-module-2022\/\" target=\"_blank\" rel=\"noopener\">What\u2019s New with the NGINX Controller Application Delivery Module for 2022<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>What\u2019s New with the NGINX Controller Application Delivery Module for 2022 &#8220;\u201cThe man who moves a mountain begins by carrying away small stones.&#8221; &ndash; 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&nbsp;&ndash; 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 <a class=\"mh-excerpt-more\" href=\"https:\/\/jirak.net\/wp\/whats-new-with-the-nginx-controller-application-delivery-module-for-2022\/\" title=\"What\u2019s New with the NGINX Controller Application Delivery Module for 2022\">[ more&#8230; ]<\/a><\/p>\n<\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[169],"tags":[652],"class_list":["post-44846","post","type-post","status-publish","format-standard","hentry","category-news","tag-nginx"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts\/44846","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/comments?post=44846"}],"version-history":[{"count":1,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts\/44846\/revisions"}],"predecessor-version":[{"id":44847,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts\/44846\/revisions\/44847"}],"wp:attachment":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/media?parent=44846"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/categories?post=44846"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/tags?post=44846"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}