SlideShare a Scribd company logo
NGINX Plus R12 Overview
Liam Crilly
Director of Product Management
April 12, 2017
NGINX Plus R11 Recap
Key new features for improved customization, compatibility, and more
● Binary compatibility for dynamic modules
● Improved TCP/UDP load balancing
● GeoIP2 dynamic module
● Enhanced nginScript module
Released: Tuesday October 25, 2016
2
NGINX Plus R12 New Features
Key new features for improved clustering, customization, and visibility
● Configuration sharing for High Availability (HA) clusters
○ Configure a single server, push configuration from there to remaining servers
● nginScript General Availability
○ Perform custom actions with familiar JavaScript syntax
● Updated extended status monitoring
○ Better visibility with response time, TCP/UDP error codes, shared memory zone usage,
and additional enhancements
● Enhanced caching
○ Better performance with background updates
● Improved health checks, JWT validation, and client certificates for TCP/UDP applications
Released: Tuesday March 14, 2017
3
NGINX Plus R12 New Features
Key new features for improved clustering, customization, and visibility
● Configuration sharing for High Availability (HA) clusters
○ Configure a single server, push configuration from there to remaining servers
● nginScript General Availability
○ Perform custom actions with familiar JavaScript syntax
● Updated extended status monitoring
○ Better visibility with response time, TCP/UDP error codes, shared memory zone usage,
and additional enhancements
● Enhanced caching
○ Better performance with background updates
● Improved health checks, JWT validation, and client certificates for TCP/UDP applications
4
MORE INFORMATION AT
NGINX.COM
NGINX Plus HA Overview
NGINX Plus HA deployment options:
● Active/Passive -- Only one server processes
traffic
● Active/Active -- Both servers actively process
traffic
Most users deploy two or more NGINX Plus
servers:
● Redundancy in case of failure
● Scale to handle more users
MORE INFORMATION AT
NGINX.COM
NGINX Plus R12 Configuration Sharing
Problem
● How do I manage configuration of a large
cluster of NGINX Plus servers?
● Individually configuring each server is not
scalable
Solution
● Make all changes to a single “master” NGINX
Plus server
● Synchronize all changes to the remaining
servers in the cluster
MORE INFORMATION AT
NGINX.COM
NGINX Plus R12 Configuration Sharing in Detail
1. Nominate one or more master nodes in the
cluster
2. Install the new nginx-sync package on the
master
3. Create /etc/nginx-sync.conf on the master
and enter peer IPs
4. Give master SSH root/sudoers access to peers
5. Invoke the configuration sync process, nginx-sync.sh which is included in the nginx-sync
package, to update each of the other servers in the cluster (the peers):
a. Push the updated configuration to the peer
b. Verify that the configuration is valid for the peer (nginx -t), and rolls it back if not
c. Applies the configuration if it is valid, and reloads the NGINX Plus process on the peer
MORE INFORMATION AT
NGINX.COM
Configuration Sharing FAQ
● What happens if the master fails?
○ Pre-configure multiple servers to be the master
○ If master fails, designate other pre-configured machine to be master
● What happens if a peer fails?
○ Configuration synced to other machines
○ When peer recovers, run nginx-sync.sh to update it to latest config
● Does the master need root SSH access?
○ Modifying config and reloading NGINX Plus process requires root access
○ /etc/sudoers can be used to apply principle of least privilege
● HA is exclusive to NGINX Plus
MORE INFORMATION AT
NGINX.COM
NGINX Plus R12 New Features
Key new features for improved clustering, customization, and visibility
● Configuration sharing for High Availability (HA) clusters
○ Configure a single server, push configuration from there to remaining servers
● nginScript General Availability
○ Perform custom actions with familiar JavaScript syntax
● Updated extended status monitoring
○ Better visibility with response time, TCP/UDP error codes, shared memory zone usage,
and additional enhancements
● Enhanced caching
○ Better performance with background updates
● Improved health checks, JWT validation, and client certificates for TCP/UDP applications
9
MORE INFORMATION AT
NGINX.COM
nginScript: Overview
● High-performance JavaScript implementation designed for server side use cases
○ ECMAScript 5.1 compliant
○ Virtual machine per request, destroyed upon completion
○ No garbage collection
○ Uses only a few KBs of memory for small tasks
● Use nginScript to perform custom actions such as:
○ Mask user identity in logs files
○ Session persistence for TCP/UDP protocols, e.g. IoT
○ Implement custom load balancing algorithms
● Works with HTTP, TCP, and UDP applications
MORE INFORMATION AT
NGINX.COM
js_include mask_ip.js;
js_set $remote_addr_masked maskRemoteAddress;
log_format masked '$remote_addr_masked - $remote_user '
'[$time_local] "$request" $status '
'$body_bytes_sent "$http_referer" '
'"$http_user_agent"';
server {
listen 80;
access_log /var/log/nginx/access.log;
access_log /var/log/nginx/access_masked.log masked;
location / {
#proxy_pass http://backend;
# For testing only (show the masked value)
return 200 "$remote_addr -> $remote_addr_maskedn";
}
}
nginScript Example: Data Masking in Access Logs
$ curl http://localhost/
127.0.0.1 -> 8.163.209.30
$ sudo tail --lines=1 /var/log/nginx/access*.log
==> /var/log/nginx/access.log <==
127.0.0.1 - - [16/Mar/2017:19:08:19 +0000] "GET / HTTP/1.1" 200 26 "-" "curl/7.47.0”
==> /var/log/nginx/access_masked.log <==
8.163.209.30 - - [16/Mar/2017:19:08:19 +0000] "GET / HTTP/1.1" 200 26 "-" "curl/7.47.0"
function fnv32a(str) {
var hval = 2166136261;
for (var i = 0; i < str.length; ++i ) {
hval ^= str.charCodeAt(i);
hval += (hval << 1) + (hval << 4) + (hval << 7) + (hval
<< 8) + (hval << 24);
}
return hval >>> 0;
}
function i2ipv4(i) {
var octet1 = (i >> 24) & 255;
var octet2 = (i >> 16) & 255;
var octet3 = (i >> 8) & 255;
var octet4 = i & 255;
return octet1 + "." + octet2 + "." + octet3 + "." + octet4;
}
function maskRemoteAddress(req) {
return i2ipv4(fnv32a(req.remoteAddress));
}
MORE INFORMATION AT
NGINX.COM
nginScript: What’s New?
● Generally available and suitable for production usage
● Number of enhancements to support more of the JavaScript language and better
integrate with NGINX Plus:
○ Pre-read phase in stream module for TCP/UDP load balancing
○ ECMAScript 6 Number and Math properties and methods
○ Additional String methods such as trim, includes, repeat, startsWith, and
endsWith
○ Scopes
● Though now stable work is ongoing
MORE INFORMATION AT
NGINX.COM
NGINX Plus R12 New Features
Key new features for improved clustering, customization, and visibility
● Configuration sharing for High Availability (HA) clusters
○ Configure a single server, push configuration from there to remaining servers
● nginScript General Availability
○ Perform custom actions with familiar JavaScript syntax
● Updated extended status monitoring
○ Better visibility with response time, TCP/UDP error codes, shared memory zone usage,
and additional enhancements
● Enhanced caching
○ Better performance with background updates
● Improved health checks, JWT validation, and client certificates for TCP/UDP applications
13
MORE INFORMATION AT
NGINX.COM
Extended Status Monitoring: Overview
● Over 40 additional metrics compared to open source NGINX
● Per virtual server and per backend server statistics
● Use our graphical dashboard or view in New Relic, DataDog, etc
● JSON output to export to your favorite monitoring tool
"nginx_build": "nginx-plus-r12-p2",
"nginx_version": "1.11.10",
"pid": 98240,
"ppid": 50622,
"processes": {
"respawned": 0
},
"requests": {
"current": 1,
"total": 9915307
},
"server_zones": {
"hg.nginx.org": {
"discarded": 9150,
"processing": 0,
"received": 146131844,
"requests": 597471,
"responses": {
"1xx": 0,
"2xx": 561986,
"3xx": 12839,
"4xx": 7081,
"5xx": 6415,
"total": 588321
},
"sent": 14036626711
},
Extended Status Monitoring: What’s New?
● Shared memory zone utilization
○ Shared memory zones are mandatory for health checks, caching, rate limiting…
○ Can now tune shared memory zone size
● Response time metrics
○ Key for determining server load
15
Extended Status Monitoring: What’s New?
● NGINX Plus release number displayed along with open source base
● Makes it easy to tell what NGINX Plus version a server is running
16
Extended Status Monitoring: What’s New?
● Error codes for TCP/UDP applications
○ Looks like standard HTTP error code for familiarity and ease of debugging
○ Ability to construct TCP/UDP access logs with status codes
17
MORE INFORMATION AT
NGINX.COM
Extended Status Monitoring: What’s New?
● JSON compliant-escaping in log files
○ Better compatibility with modern logging tools
● Use server name from configuration file instead of resolved ip/port in dashboard
○ Better correlation between what’s in config and what’s on screen
○ New name field in JSON output contains server name from config
● Extended Status Monitoring is exclusive to NGINX Plus
MORE INFORMATION AT
NGINX.COM
NGINX Plus R12 New Features
Key new features for improved clustering, customization, and visibility
● Configuration sharing for High Availability (HA) clusters
○ Configure a single server, push configuration from there to remaining servers
● nginScript General Availability
○ Perform custom actions with familiar JavaScript syntax
● Updated extended status monitoring
○ Better visibility with response time, TCP/UDP error codes, shared memory zone usage,
and additional enhancements
● Enhanced caching
○ Better performance with background updates
● Improved health checks, JWT validation, and client certificates for TCP/UDP applications
19
Caching Overview
● NGINX Plus stores a copy of content generated by origin server
● Why cache content?
○ Better performance for end user
○ Reduced load on origin servers
20
Caching: What’s New?
● Cached content has a validity period, after which it is considered “stale”
● By default, NGINX Plus will not serve stale content
● NGINX Plus can now serve the stale content to user and refresh in the background
● Support for the Cache-Control extensions defined in RFC 5861,
stale-while-revalidate and stale-if-error.
● No “cache miss” penalty results in better user experience
21
Example: Stale-while-revalidate with background revalidation
22
proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m
max_size=10g inactive=60m;
server {
location / {
proxy_cache my_cache;
# Serve stale content when updating
proxy_cache_use_stale updating;
# In addition, don’t block the first request that triggers the
# update and do the update in the background
proxy_cache_background_update on;
proxy_pass http://my_upstream;
}
}
Caching: What’s New?
● Can now bypass the cache for byte-range requests that start far into the requested (and
uncached) resource
● For large files such as video content, byte-range requests deep into the file will not add
latency to the client request
● Previously, the client would need to wait for the preceding bytes to be fetched and written to
the cache before receiving the byte range it had requested
23
1-15000
15001-30000
30001-45000
15000001-
Example: Cache bypass for deep range requests
24
proxy_cache_path /path/to/cache keys_zone=my_cache:10m max_size=10g;
server {
location / {
proxy_cache my_cache;
# Bypass cache for byte range requests beyond 10 megabytes
proxy_cache_max_range_offset 10m;
proxy_pass http://my_upstream;
}
}
NGINX Plus R12 New Features
Key new features for improved clustering, customization, and visibility
● Configuration sharing for High Availability (HA) clusters
○ Configure a single server, push configuration from there to remaining servers
● nginScript General Availability
○ Perform custom actions with familiar JavaScript syntax
● Updated extended status monitoring
○ Better visibility with response time, TCP/UDP error codes, shared memory zone usage, and
additional enhancements
● Enhanced caching
○ Better performance with background updates
● Improved health checks, JWT validation, and client certificates for TCP/UDP applications
25
Active Health Checks Overview
● NGINX Plus actively monitors the health of HTTP, TCP, and UDP servers
● “Slow start” to gently reintroduce servers
● Why active health checks?
○ Improves the reliability of applications
○ Enables non-disruptive maintenance operations
26
Active Health Checks: What’s New?
● Require newly introduced servers to pass health check before allowing them to process
traffic when adding via on-the-fly reconfiguration
● New servers from on-the-fly reconfiguration can now be “slow started”
● Zero-config health check for UDP applications
27
New server
Example: Mandatory health checks with slow-start
28
upstream my_upstream {
zone my_upstream 64k;
server backend1.example.com slow_start=30s;
}
server {
location / {
proxy_pass http://my_upstream;
# Require new server to pass health check before receiving traffic
health_check uri=/ishealthy.php mandatory;
}
}
Example: Zero-config health checks for UDP protocols
29
upstream udp_app {
server backend1.example.com:1234;
server backend2.example.com:1234;
}
server {
listen 1234 udp;
proxy_pass udp_app;
# Basic UDP health check
health_check udp;
}
MORE INFORMATION AT
NGINX.COM
Other New Features
● SSL client certificates for TCP/UDP load balancing
○ Useful for automation, script can login to protected resource without presenting a
username and password
○ Better parity with HTTP load balancing
● Enhanced JWT (JSON Web Token) validation
○ Can now extract custom field for JWT
○ Improved support for OpenID Connect use cases
○ Previous support allowed for extraction of pre-defined fields only
○ JWT validation is exclusive to NGINX Plus
● Maximum Connections Queue
○ Connections to upstream servers can now be queued rather than dropped if the
servers are overloaded
MORE INFORMATION AT
NGINX.COM
NGINX Plus R12 Caveats
● Cache Metadata Format -- Internal cache metadata header format has changed. When
you upgrade to NGINX Plus R12, the on-disk cache will be invalidated and NGINX Plus will
automatically refresh the cache as needed.
● SSL “DN” variables -- Format of the $ssl_client_s_dn and $ssl_client_i_dn
variables has changed; they now use ‘,’ and are escaped as per RFC2253. The old
X509_NAME_oneline format that used ‘/’ to separate fields can be found in the
$ssl_client_s_dn_legacy and $ssl_client_i_dn_legacy variables.
● Third-Party Dynamic Modules -- Dynamic Modules that are installed from the NGINX Plus
repository will be automatically updated during the upgrade. Any third-party modules that
you have built will need manual updates or will result in error upon upgrade.
MORE INFORMATION AT
NGINX.COM
Q&A
Key new features for improved clustering, customization, and visibility
● Configuration sharing for High Availability (HA) clusters
○ Configure a single server, push configuration from there to remaining servers
● nginScript General Availability
○ Perform custom actions with familiar JavaScript syntax
● Updated extended status monitoring
○ Better visibility with response time, TCP/UDP error codes, shared memory zone usage,
and additional enhancements
● Enhanced caching
○ Better performance with background updates
● Improved health checks, JWT validation, and client certificates for TCP/UDP applications
32

More Related Content

What's hot

Delivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINXDelivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINX
NGINX, Inc.
 
5 things you didn't know nginx could do
5 things you didn't know nginx could do5 things you didn't know nginx could do
5 things you didn't know nginx could do
sarahnovotny
 
Introduction to Nginx
Introduction to NginxIntroduction to Nginx
Introduction to Nginx
Knoldus Inc.
 
Delivering High-Availability Web Services with NGINX Plus on AWS
Delivering High-Availability Web Services with NGINX Plus on AWSDelivering High-Availability Web Services with NGINX Plus on AWS
Delivering High-Availability Web Services with NGINX Plus on AWS
NGINX, Inc.
 
Nginx - Tips and Tricks.
Nginx - Tips and Tricks.Nginx - Tips and Tricks.
Nginx - Tips and Tricks.
Harish S
 
Introduction to NGINX web server
Introduction to NGINX web serverIntroduction to NGINX web server
Introduction to NGINX web server
Md Waresul Islam
 
Extending functionality in nginx, with modules!
Extending functionality in nginx, with modules!Extending functionality in nginx, with modules!
Extending functionality in nginx, with modules!
Trygve Vea
 
NGINX: Basics and Best Practices
NGINX: Basics and Best PracticesNGINX: Basics and Best Practices
NGINX: Basics and Best Practices
NGINX, Inc.
 
Nginx in production
Nginx in productionNginx in production
Nginx in production
Graham Weldon
 
Nginx Essential
Nginx EssentialNginx Essential
Nginx Essential
Gong Haibing
 
5 things you didn't know nginx could do velocity
5 things you didn't know nginx could do   velocity5 things you didn't know nginx could do   velocity
5 things you didn't know nginx could do velocity
sarahnovotny
 
NGINX: HTTP/2 Server Push and gRPC
NGINX: HTTP/2 Server Push and gRPCNGINX: HTTP/2 Server Push and gRPC
NGINX: HTTP/2 Server Push and gRPC
NGINX, Inc.
 
DockerCon Live 2020 - Securing Your Containerized Application with NGINX
DockerCon Live 2020 - Securing Your Containerized Application with NGINXDockerCon Live 2020 - Securing Your Containerized Application with NGINX
DockerCon Live 2020 - Securing Your Containerized Application with NGINX
Kevin Jones
 
What’s New in NGINX Plus R16? – EMEA
What’s New in NGINX Plus R16? – EMEAWhat’s New in NGINX Plus R16? – EMEA
What’s New in NGINX Plus R16? – EMEA
NGINX, Inc.
 
NGINX Ingress Controller for Kubernetes
NGINX Ingress Controller for KubernetesNGINX Ingress Controller for Kubernetes
NGINX Ingress Controller for Kubernetes
NGINX, Inc.
 
Rate Limiting with NGINX and NGINX Plus
Rate Limiting with NGINX and NGINX PlusRate Limiting with NGINX and NGINX Plus
Rate Limiting with NGINX and NGINX Plus
NGINX, Inc.
 
NGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX: High Performance Load Balancing
NGINX: High Performance Load Balancing
NGINX, Inc.
 
NGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX: High Performance Load Balancing
NGINX: High Performance Load Balancing
NGINX, Inc.
 
Nginx dhruba mandal
Nginx dhruba mandalNginx dhruba mandal
Nginx dhruba mandal
Dhrubaji Mandal ♛
 
Benchmarking NGINX for Accuracy and Results
Benchmarking NGINX for Accuracy and ResultsBenchmarking NGINX for Accuracy and Results
Benchmarking NGINX for Accuracy and Results
NGINX, Inc.
 

What's hot (20)

Delivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINXDelivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINX
 
5 things you didn't know nginx could do
5 things you didn't know nginx could do5 things you didn't know nginx could do
5 things you didn't know nginx could do
 
Introduction to Nginx
Introduction to NginxIntroduction to Nginx
Introduction to Nginx
 
Delivering High-Availability Web Services with NGINX Plus on AWS
Delivering High-Availability Web Services with NGINX Plus on AWSDelivering High-Availability Web Services with NGINX Plus on AWS
Delivering High-Availability Web Services with NGINX Plus on AWS
 
Nginx - Tips and Tricks.
Nginx - Tips and Tricks.Nginx - Tips and Tricks.
Nginx - Tips and Tricks.
 
Introduction to NGINX web server
Introduction to NGINX web serverIntroduction to NGINX web server
Introduction to NGINX web server
 
Extending functionality in nginx, with modules!
Extending functionality in nginx, with modules!Extending functionality in nginx, with modules!
Extending functionality in nginx, with modules!
 
NGINX: Basics and Best Practices
NGINX: Basics and Best PracticesNGINX: Basics and Best Practices
NGINX: Basics and Best Practices
 
Nginx in production
Nginx in productionNginx in production
Nginx in production
 
Nginx Essential
Nginx EssentialNginx Essential
Nginx Essential
 
5 things you didn't know nginx could do velocity
5 things you didn't know nginx could do   velocity5 things you didn't know nginx could do   velocity
5 things you didn't know nginx could do velocity
 
NGINX: HTTP/2 Server Push and gRPC
NGINX: HTTP/2 Server Push and gRPCNGINX: HTTP/2 Server Push and gRPC
NGINX: HTTP/2 Server Push and gRPC
 
DockerCon Live 2020 - Securing Your Containerized Application with NGINX
DockerCon Live 2020 - Securing Your Containerized Application with NGINXDockerCon Live 2020 - Securing Your Containerized Application with NGINX
DockerCon Live 2020 - Securing Your Containerized Application with NGINX
 
What’s New in NGINX Plus R16? – EMEA
What’s New in NGINX Plus R16? – EMEAWhat’s New in NGINX Plus R16? – EMEA
What’s New in NGINX Plus R16? – EMEA
 
NGINX Ingress Controller for Kubernetes
NGINX Ingress Controller for KubernetesNGINX Ingress Controller for Kubernetes
NGINX Ingress Controller for Kubernetes
 
Rate Limiting with NGINX and NGINX Plus
Rate Limiting with NGINX and NGINX PlusRate Limiting with NGINX and NGINX Plus
Rate Limiting with NGINX and NGINX Plus
 
NGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX: High Performance Load Balancing
NGINX: High Performance Load Balancing
 
NGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX: High Performance Load Balancing
NGINX: High Performance Load Balancing
 
Nginx dhruba mandal
Nginx dhruba mandalNginx dhruba mandal
Nginx dhruba mandal
 
Benchmarking NGINX for Accuracy and Results
Benchmarking NGINX for Accuracy and ResultsBenchmarking NGINX for Accuracy and Results
Benchmarking NGINX for Accuracy and Results
 

Similar to What's New in NGINX Plus R12?

What's new in NGINX Plus R9
What's new in NGINX Plus R9What's new in NGINX Plus R9
What's new in NGINX Plus R9
NGINX, Inc.
 
What’s New in NGINX Plus R15? - EMEA
What’s New in NGINX Plus R15? - EMEAWhat’s New in NGINX Plus R15? - EMEA
What’s New in NGINX Plus R15? - EMEA
NGINX, Inc.
 
What’s New in NGINX Plus R16?
What’s New in NGINX Plus R16?What’s New in NGINX Plus R16?
What’s New in NGINX Plus R16?
NGINX, Inc.
 
What's New in NGINX Plus R10?
What's New in NGINX Plus R10?What's New in NGINX Plus R10?
What's New in NGINX Plus R10?
NGINX, Inc.
 
2021.02 new in Ceph Pacific Dashboard
2021.02 new in Ceph Pacific Dashboard2021.02 new in Ceph Pacific Dashboard
2021.02 new in Ceph Pacific Dashboard
Ceph Community
 
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthUSENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
Nicolas Brousse
 
NGINX Plus R19 : EMEA
NGINX Plus R19 : EMEANGINX Plus R19 : EMEA
NGINX Plus R19 : EMEA
NGINX, Inc.
 
What’s New in NGINX Plus R15?
What’s New in NGINX Plus R15?What’s New in NGINX Plus R15?
What’s New in NGINX Plus R15?
NGINX, Inc.
 
nebulaconf
nebulaconfnebulaconf
nebulaconf
Pedro Dias
 
Container orchestration and microservices world
Container orchestration and microservices worldContainer orchestration and microservices world
Container orchestration and microservices world
Karol Chrapek
 
NGINX Installation and Tuning
NGINX Installation and TuningNGINX Installation and Tuning
NGINX Installation and Tuning
NGINX, Inc.
 
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEANGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
NGINX, Inc.
 
Running Production-Grade Kubernetes on AWS
Running Production-Grade Kubernetes on AWSRunning Production-Grade Kubernetes on AWS
Running Production-Grade Kubernetes on AWS
DoiT International
 
NGINX ADC: Basics and Best Practices – EMEA
NGINX ADC: Basics and Best Practices – EMEANGINX ADC: Basics and Best Practices – EMEA
NGINX ADC: Basics and Best Practices – EMEA
NGINX, Inc.
 
Dockerize magento 2 24.02.2016
Dockerize magento 2   24.02.2016Dockerize magento 2   24.02.2016
Dockerize magento 2 24.02.2016
Andreas Pointner
 
Pivotal Cloud Foundry 2.1: Making Transformation Real Webinar
Pivotal Cloud Foundry 2.1: Making Transformation Real WebinarPivotal Cloud Foundry 2.1: Making Transformation Real Webinar
Pivotal Cloud Foundry 2.1: Making Transformation Real Webinar
VMware Tanzu
 
What's new in NGINX Plus R19
What's new in NGINX Plus R19What's new in NGINX Plus R19
What's new in NGINX Plus R19
NGINX, Inc.
 
Deep dive into OpenStack storage, Sean Cohen, Red Hat
Deep dive into OpenStack storage, Sean Cohen, Red HatDeep dive into OpenStack storage, Sean Cohen, Red Hat
Deep dive into OpenStack storage, Sean Cohen, Red Hat
Sean Cohen
 
Deep Dive into Openstack Storage, Sean Cohen, Red Hat
Deep Dive into Openstack Storage, Sean Cohen, Red HatDeep Dive into Openstack Storage, Sean Cohen, Red Hat
Deep Dive into Openstack Storage, Sean Cohen, Red Hat
Cloud Native Day Tel Aviv
 
NGINX: Basics and Best Practices EMEA
NGINX: Basics and Best Practices EMEANGINX: Basics and Best Practices EMEA
NGINX: Basics and Best Practices EMEA
NGINX, Inc.
 

Similar to What's New in NGINX Plus R12? (20)

What's new in NGINX Plus R9
What's new in NGINX Plus R9What's new in NGINX Plus R9
What's new in NGINX Plus R9
 
What’s New in NGINX Plus R15? - EMEA
What’s New in NGINX Plus R15? - EMEAWhat’s New in NGINX Plus R15? - EMEA
What’s New in NGINX Plus R15? - EMEA
 
What’s New in NGINX Plus R16?
What’s New in NGINX Plus R16?What’s New in NGINX Plus R16?
What’s New in NGINX Plus R16?
 
What's New in NGINX Plus R10?
What's New in NGINX Plus R10?What's New in NGINX Plus R10?
What's New in NGINX Plus R10?
 
2021.02 new in Ceph Pacific Dashboard
2021.02 new in Ceph Pacific Dashboard2021.02 new in Ceph Pacific Dashboard
2021.02 new in Ceph Pacific Dashboard
 
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthUSENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
 
NGINX Plus R19 : EMEA
NGINX Plus R19 : EMEANGINX Plus R19 : EMEA
NGINX Plus R19 : EMEA
 
What’s New in NGINX Plus R15?
What’s New in NGINX Plus R15?What’s New in NGINX Plus R15?
What’s New in NGINX Plus R15?
 
nebulaconf
nebulaconfnebulaconf
nebulaconf
 
Container orchestration and microservices world
Container orchestration and microservices worldContainer orchestration and microservices world
Container orchestration and microservices world
 
NGINX Installation and Tuning
NGINX Installation and TuningNGINX Installation and Tuning
NGINX Installation and Tuning
 
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEANGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
 
Running Production-Grade Kubernetes on AWS
Running Production-Grade Kubernetes on AWSRunning Production-Grade Kubernetes on AWS
Running Production-Grade Kubernetes on AWS
 
NGINX ADC: Basics and Best Practices – EMEA
NGINX ADC: Basics and Best Practices – EMEANGINX ADC: Basics and Best Practices – EMEA
NGINX ADC: Basics and Best Practices – EMEA
 
Dockerize magento 2 24.02.2016
Dockerize magento 2   24.02.2016Dockerize magento 2   24.02.2016
Dockerize magento 2 24.02.2016
 
Pivotal Cloud Foundry 2.1: Making Transformation Real Webinar
Pivotal Cloud Foundry 2.1: Making Transformation Real WebinarPivotal Cloud Foundry 2.1: Making Transformation Real Webinar
Pivotal Cloud Foundry 2.1: Making Transformation Real Webinar
 
What's new in NGINX Plus R19
What's new in NGINX Plus R19What's new in NGINX Plus R19
What's new in NGINX Plus R19
 
Deep dive into OpenStack storage, Sean Cohen, Red Hat
Deep dive into OpenStack storage, Sean Cohen, Red HatDeep dive into OpenStack storage, Sean Cohen, Red Hat
Deep dive into OpenStack storage, Sean Cohen, Red Hat
 
Deep Dive into Openstack Storage, Sean Cohen, Red Hat
Deep Dive into Openstack Storage, Sean Cohen, Red HatDeep Dive into Openstack Storage, Sean Cohen, Red Hat
Deep Dive into Openstack Storage, Sean Cohen, Red Hat
 
NGINX: Basics and Best Practices EMEA
NGINX: Basics and Best Practices EMEANGINX: Basics and Best Practices EMEA
NGINX: Basics and Best Practices EMEA
 

More from NGINX, Inc.

【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
NGINX, Inc.
 
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
NGINX, Inc.
 
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
NGINX, Inc.
 
Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3
NGINX, Inc.
 
Managing Kubernetes Cost and Performance with NGINX & Kubecost
Managing Kubernetes Cost and Performance with NGINX & KubecostManaging Kubernetes Cost and Performance with NGINX & Kubecost
Managing Kubernetes Cost and Performance with NGINX & Kubecost
NGINX, Inc.
 
Manage Microservices Chaos and Complexity with Observability
Manage Microservices Chaos and Complexity with ObservabilityManage Microservices Chaos and Complexity with Observability
Manage Microservices Chaos and Complexity with Observability
NGINX, Inc.
 
Accelerate Microservices Deployments with Automation
Accelerate Microservices Deployments with AutomationAccelerate Microservices Deployments with Automation
Accelerate Microservices Deployments with Automation
NGINX, Inc.
 
Unit 2: Microservices Secrets Management 101
Unit 2: Microservices Secrets Management 101Unit 2: Microservices Secrets Management 101
Unit 2: Microservices Secrets Management 101
NGINX, Inc.
 
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
Unit 1: Apply the Twelve-Factor App to Microservices ArchitecturesUnit 1: Apply the Twelve-Factor App to Microservices Architectures
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
NGINX, Inc.
 
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
NGINX, Inc.
 
Easily View, Manage, and Scale Your App Security with F5 NGINX
Easily View, Manage, and Scale Your App Security with F5 NGINXEasily View, Manage, and Scale Your App Security with F5 NGINX
Easily View, Manage, and Scale Your App Security with F5 NGINX
NGINX, Inc.
 
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINX, Inc.
 
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINXKeep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
NGINX, Inc.
 
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
NGINX, Inc.
 
Protecting Apps from Hacks in Kubernetes with NGINX
Protecting Apps from Hacks in Kubernetes with NGINXProtecting Apps from Hacks in Kubernetes with NGINX
Protecting Apps from Hacks in Kubernetes with NGINX
NGINX, Inc.
 
NGINX Kubernetes API
NGINX Kubernetes APINGINX Kubernetes API
NGINX Kubernetes API
NGINX, Inc.
 
Successfully Implement Your API Strategy with NGINX
Successfully Implement Your API Strategy with NGINXSuccessfully Implement Your API Strategy with NGINX
Successfully Implement Your API Strategy with NGINX
NGINX, Inc.
 
Installing and Configuring NGINX Open Source
Installing and Configuring NGINX Open SourceInstalling and Configuring NGINX Open Source
Installing and Configuring NGINX Open Source
NGINX, Inc.
 
Shift Left for More Secure Apps with F5 NGINX
Shift Left for More Secure Apps with F5 NGINXShift Left for More Secure Apps with F5 NGINX
Shift Left for More Secure Apps with F5 NGINX
NGINX, Inc.
 
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx
How to Avoid the Top 5 NGINX Configuration Mistakes.pptxHow to Avoid the Top 5 NGINX Configuration Mistakes.pptx
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx
NGINX, Inc.
 

More from NGINX, Inc. (20)

【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
 
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
 
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
 
Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3
 
Managing Kubernetes Cost and Performance with NGINX & Kubecost
Managing Kubernetes Cost and Performance with NGINX & KubecostManaging Kubernetes Cost and Performance with NGINX & Kubecost
Managing Kubernetes Cost and Performance with NGINX & Kubecost
 
Manage Microservices Chaos and Complexity with Observability
Manage Microservices Chaos and Complexity with ObservabilityManage Microservices Chaos and Complexity with Observability
Manage Microservices Chaos and Complexity with Observability
 
Accelerate Microservices Deployments with Automation
Accelerate Microservices Deployments with AutomationAccelerate Microservices Deployments with Automation
Accelerate Microservices Deployments with Automation
 
Unit 2: Microservices Secrets Management 101
Unit 2: Microservices Secrets Management 101Unit 2: Microservices Secrets Management 101
Unit 2: Microservices Secrets Management 101
 
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
Unit 1: Apply the Twelve-Factor App to Microservices ArchitecturesUnit 1: Apply the Twelve-Factor App to Microservices Architectures
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
 
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
 
Easily View, Manage, and Scale Your App Security with F5 NGINX
Easily View, Manage, and Scale Your App Security with F5 NGINXEasily View, Manage, and Scale Your App Security with F5 NGINX
Easily View, Manage, and Scale Your App Security with F5 NGINX
 
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
 
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINXKeep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
 
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
 
Protecting Apps from Hacks in Kubernetes with NGINX
Protecting Apps from Hacks in Kubernetes with NGINXProtecting Apps from Hacks in Kubernetes with NGINX
Protecting Apps from Hacks in Kubernetes with NGINX
 
NGINX Kubernetes API
NGINX Kubernetes APINGINX Kubernetes API
NGINX Kubernetes API
 
Successfully Implement Your API Strategy with NGINX
Successfully Implement Your API Strategy with NGINXSuccessfully Implement Your API Strategy with NGINX
Successfully Implement Your API Strategy with NGINX
 
Installing and Configuring NGINX Open Source
Installing and Configuring NGINX Open SourceInstalling and Configuring NGINX Open Source
Installing and Configuring NGINX Open Source
 
Shift Left for More Secure Apps with F5 NGINX
Shift Left for More Secure Apps with F5 NGINXShift Left for More Secure Apps with F5 NGINX
Shift Left for More Secure Apps with F5 NGINX
 
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx
How to Avoid the Top 5 NGINX Configuration Mistakes.pptxHow to Avoid the Top 5 NGINX Configuration Mistakes.pptx
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx
 

Recently uploaded

🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
campbellclarkson
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
confluent
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
OnePlan Solutions
 
Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...
Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...
Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...
Luigi Fugaro
 
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
Luigi Fugaro
 
Optimizing Your E-commerce with WooCommerce.pptx
Optimizing Your E-commerce with WooCommerce.pptxOptimizing Your E-commerce with WooCommerce.pptx
Optimizing Your E-commerce with WooCommerce.pptx
WebConnect Pvt Ltd
 
Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.
KrishnaveniMohan1
 
TMU毕业证书精仿办理
TMU毕业证书精仿办理TMU毕业证书精仿办理
TMU毕业证书精仿办理
aeeva
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio, Inc.
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
Yara Milbes
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
kalichargn70th171
 
Going AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applicationsGoing AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applications
Alina Yurenko
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
kalichargn70th171
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
Maitrey Patel
 
What is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdfWhat is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdf
kalichargn70th171
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
Reetu63
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Tier1 app
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 

Recently uploaded (20)

🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
 
Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...
Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...
Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...
 
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
 
Optimizing Your E-commerce with WooCommerce.pptx
Optimizing Your E-commerce with WooCommerce.pptxOptimizing Your E-commerce with WooCommerce.pptx
Optimizing Your E-commerce with WooCommerce.pptx
 
Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.
 
TMU毕业证书精仿办理
TMU毕业证书精仿办理TMU毕业证书精仿办理
TMU毕业证书精仿办理
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
 
Going AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applicationsGoing AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applications
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
 
What is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdfWhat is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdf
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 

What's New in NGINX Plus R12?

  • 1. NGINX Plus R12 Overview Liam Crilly Director of Product Management April 12, 2017
  • 2. NGINX Plus R11 Recap Key new features for improved customization, compatibility, and more ● Binary compatibility for dynamic modules ● Improved TCP/UDP load balancing ● GeoIP2 dynamic module ● Enhanced nginScript module Released: Tuesday October 25, 2016 2
  • 3. NGINX Plus R12 New Features Key new features for improved clustering, customization, and visibility ● Configuration sharing for High Availability (HA) clusters ○ Configure a single server, push configuration from there to remaining servers ● nginScript General Availability ○ Perform custom actions with familiar JavaScript syntax ● Updated extended status monitoring ○ Better visibility with response time, TCP/UDP error codes, shared memory zone usage, and additional enhancements ● Enhanced caching ○ Better performance with background updates ● Improved health checks, JWT validation, and client certificates for TCP/UDP applications Released: Tuesday March 14, 2017 3
  • 4. NGINX Plus R12 New Features Key new features for improved clustering, customization, and visibility ● Configuration sharing for High Availability (HA) clusters ○ Configure a single server, push configuration from there to remaining servers ● nginScript General Availability ○ Perform custom actions with familiar JavaScript syntax ● Updated extended status monitoring ○ Better visibility with response time, TCP/UDP error codes, shared memory zone usage, and additional enhancements ● Enhanced caching ○ Better performance with background updates ● Improved health checks, JWT validation, and client certificates for TCP/UDP applications 4
  • 5. MORE INFORMATION AT NGINX.COM NGINX Plus HA Overview NGINX Plus HA deployment options: ● Active/Passive -- Only one server processes traffic ● Active/Active -- Both servers actively process traffic Most users deploy two or more NGINX Plus servers: ● Redundancy in case of failure ● Scale to handle more users
  • 6. MORE INFORMATION AT NGINX.COM NGINX Plus R12 Configuration Sharing Problem ● How do I manage configuration of a large cluster of NGINX Plus servers? ● Individually configuring each server is not scalable Solution ● Make all changes to a single “master” NGINX Plus server ● Synchronize all changes to the remaining servers in the cluster
  • 7. MORE INFORMATION AT NGINX.COM NGINX Plus R12 Configuration Sharing in Detail 1. Nominate one or more master nodes in the cluster 2. Install the new nginx-sync package on the master 3. Create /etc/nginx-sync.conf on the master and enter peer IPs 4. Give master SSH root/sudoers access to peers 5. Invoke the configuration sync process, nginx-sync.sh which is included in the nginx-sync package, to update each of the other servers in the cluster (the peers): a. Push the updated configuration to the peer b. Verify that the configuration is valid for the peer (nginx -t), and rolls it back if not c. Applies the configuration if it is valid, and reloads the NGINX Plus process on the peer
  • 8. MORE INFORMATION AT NGINX.COM Configuration Sharing FAQ ● What happens if the master fails? ○ Pre-configure multiple servers to be the master ○ If master fails, designate other pre-configured machine to be master ● What happens if a peer fails? ○ Configuration synced to other machines ○ When peer recovers, run nginx-sync.sh to update it to latest config ● Does the master need root SSH access? ○ Modifying config and reloading NGINX Plus process requires root access ○ /etc/sudoers can be used to apply principle of least privilege ● HA is exclusive to NGINX Plus
  • 9. MORE INFORMATION AT NGINX.COM NGINX Plus R12 New Features Key new features for improved clustering, customization, and visibility ● Configuration sharing for High Availability (HA) clusters ○ Configure a single server, push configuration from there to remaining servers ● nginScript General Availability ○ Perform custom actions with familiar JavaScript syntax ● Updated extended status monitoring ○ Better visibility with response time, TCP/UDP error codes, shared memory zone usage, and additional enhancements ● Enhanced caching ○ Better performance with background updates ● Improved health checks, JWT validation, and client certificates for TCP/UDP applications 9
  • 10. MORE INFORMATION AT NGINX.COM nginScript: Overview ● High-performance JavaScript implementation designed for server side use cases ○ ECMAScript 5.1 compliant ○ Virtual machine per request, destroyed upon completion ○ No garbage collection ○ Uses only a few KBs of memory for small tasks ● Use nginScript to perform custom actions such as: ○ Mask user identity in logs files ○ Session persistence for TCP/UDP protocols, e.g. IoT ○ Implement custom load balancing algorithms ● Works with HTTP, TCP, and UDP applications
  • 11. MORE INFORMATION AT NGINX.COM js_include mask_ip.js; js_set $remote_addr_masked maskRemoteAddress; log_format masked '$remote_addr_masked - $remote_user ' '[$time_local] "$request" $status ' '$body_bytes_sent "$http_referer" ' '"$http_user_agent"'; server { listen 80; access_log /var/log/nginx/access.log; access_log /var/log/nginx/access_masked.log masked; location / { #proxy_pass http://backend; # For testing only (show the masked value) return 200 "$remote_addr -> $remote_addr_maskedn"; } } nginScript Example: Data Masking in Access Logs $ curl http://localhost/ 127.0.0.1 -> 8.163.209.30 $ sudo tail --lines=1 /var/log/nginx/access*.log ==> /var/log/nginx/access.log <== 127.0.0.1 - - [16/Mar/2017:19:08:19 +0000] "GET / HTTP/1.1" 200 26 "-" "curl/7.47.0” ==> /var/log/nginx/access_masked.log <== 8.163.209.30 - - [16/Mar/2017:19:08:19 +0000] "GET / HTTP/1.1" 200 26 "-" "curl/7.47.0" function fnv32a(str) { var hval = 2166136261; for (var i = 0; i < str.length; ++i ) { hval ^= str.charCodeAt(i); hval += (hval << 1) + (hval << 4) + (hval << 7) + (hval << 8) + (hval << 24); } return hval >>> 0; } function i2ipv4(i) { var octet1 = (i >> 24) & 255; var octet2 = (i >> 16) & 255; var octet3 = (i >> 8) & 255; var octet4 = i & 255; return octet1 + "." + octet2 + "." + octet3 + "." + octet4; } function maskRemoteAddress(req) { return i2ipv4(fnv32a(req.remoteAddress)); }
  • 12. MORE INFORMATION AT NGINX.COM nginScript: What’s New? ● Generally available and suitable for production usage ● Number of enhancements to support more of the JavaScript language and better integrate with NGINX Plus: ○ Pre-read phase in stream module for TCP/UDP load balancing ○ ECMAScript 6 Number and Math properties and methods ○ Additional String methods such as trim, includes, repeat, startsWith, and endsWith ○ Scopes ● Though now stable work is ongoing
  • 13. MORE INFORMATION AT NGINX.COM NGINX Plus R12 New Features Key new features for improved clustering, customization, and visibility ● Configuration sharing for High Availability (HA) clusters ○ Configure a single server, push configuration from there to remaining servers ● nginScript General Availability ○ Perform custom actions with familiar JavaScript syntax ● Updated extended status monitoring ○ Better visibility with response time, TCP/UDP error codes, shared memory zone usage, and additional enhancements ● Enhanced caching ○ Better performance with background updates ● Improved health checks, JWT validation, and client certificates for TCP/UDP applications 13
  • 14. MORE INFORMATION AT NGINX.COM Extended Status Monitoring: Overview ● Over 40 additional metrics compared to open source NGINX ● Per virtual server and per backend server statistics ● Use our graphical dashboard or view in New Relic, DataDog, etc ● JSON output to export to your favorite monitoring tool "nginx_build": "nginx-plus-r12-p2", "nginx_version": "1.11.10", "pid": 98240, "ppid": 50622, "processes": { "respawned": 0 }, "requests": { "current": 1, "total": 9915307 }, "server_zones": { "hg.nginx.org": { "discarded": 9150, "processing": 0, "received": 146131844, "requests": 597471, "responses": { "1xx": 0, "2xx": 561986, "3xx": 12839, "4xx": 7081, "5xx": 6415, "total": 588321 }, "sent": 14036626711 },
  • 15. Extended Status Monitoring: What’s New? ● Shared memory zone utilization ○ Shared memory zones are mandatory for health checks, caching, rate limiting… ○ Can now tune shared memory zone size ● Response time metrics ○ Key for determining server load 15
  • 16. Extended Status Monitoring: What’s New? ● NGINX Plus release number displayed along with open source base ● Makes it easy to tell what NGINX Plus version a server is running 16
  • 17. Extended Status Monitoring: What’s New? ● Error codes for TCP/UDP applications ○ Looks like standard HTTP error code for familiarity and ease of debugging ○ Ability to construct TCP/UDP access logs with status codes 17
  • 18. MORE INFORMATION AT NGINX.COM Extended Status Monitoring: What’s New? ● JSON compliant-escaping in log files ○ Better compatibility with modern logging tools ● Use server name from configuration file instead of resolved ip/port in dashboard ○ Better correlation between what’s in config and what’s on screen ○ New name field in JSON output contains server name from config ● Extended Status Monitoring is exclusive to NGINX Plus
  • 19. MORE INFORMATION AT NGINX.COM NGINX Plus R12 New Features Key new features for improved clustering, customization, and visibility ● Configuration sharing for High Availability (HA) clusters ○ Configure a single server, push configuration from there to remaining servers ● nginScript General Availability ○ Perform custom actions with familiar JavaScript syntax ● Updated extended status monitoring ○ Better visibility with response time, TCP/UDP error codes, shared memory zone usage, and additional enhancements ● Enhanced caching ○ Better performance with background updates ● Improved health checks, JWT validation, and client certificates for TCP/UDP applications 19
  • 20. Caching Overview ● NGINX Plus stores a copy of content generated by origin server ● Why cache content? ○ Better performance for end user ○ Reduced load on origin servers 20
  • 21. Caching: What’s New? ● Cached content has a validity period, after which it is considered “stale” ● By default, NGINX Plus will not serve stale content ● NGINX Plus can now serve the stale content to user and refresh in the background ● Support for the Cache-Control extensions defined in RFC 5861, stale-while-revalidate and stale-if-error. ● No “cache miss” penalty results in better user experience 21
  • 22. Example: Stale-while-revalidate with background revalidation 22 proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m; server { location / { proxy_cache my_cache; # Serve stale content when updating proxy_cache_use_stale updating; # In addition, don’t block the first request that triggers the # update and do the update in the background proxy_cache_background_update on; proxy_pass http://my_upstream; } }
  • 23. Caching: What’s New? ● Can now bypass the cache for byte-range requests that start far into the requested (and uncached) resource ● For large files such as video content, byte-range requests deep into the file will not add latency to the client request ● Previously, the client would need to wait for the preceding bytes to be fetched and written to the cache before receiving the byte range it had requested 23 1-15000 15001-30000 30001-45000 15000001-
  • 24. Example: Cache bypass for deep range requests 24 proxy_cache_path /path/to/cache keys_zone=my_cache:10m max_size=10g; server { location / { proxy_cache my_cache; # Bypass cache for byte range requests beyond 10 megabytes proxy_cache_max_range_offset 10m; proxy_pass http://my_upstream; } }
  • 25. NGINX Plus R12 New Features Key new features for improved clustering, customization, and visibility ● Configuration sharing for High Availability (HA) clusters ○ Configure a single server, push configuration from there to remaining servers ● nginScript General Availability ○ Perform custom actions with familiar JavaScript syntax ● Updated extended status monitoring ○ Better visibility with response time, TCP/UDP error codes, shared memory zone usage, and additional enhancements ● Enhanced caching ○ Better performance with background updates ● Improved health checks, JWT validation, and client certificates for TCP/UDP applications 25
  • 26. Active Health Checks Overview ● NGINX Plus actively monitors the health of HTTP, TCP, and UDP servers ● “Slow start” to gently reintroduce servers ● Why active health checks? ○ Improves the reliability of applications ○ Enables non-disruptive maintenance operations 26
  • 27. Active Health Checks: What’s New? ● Require newly introduced servers to pass health check before allowing them to process traffic when adding via on-the-fly reconfiguration ● New servers from on-the-fly reconfiguration can now be “slow started” ● Zero-config health check for UDP applications 27 New server
  • 28. Example: Mandatory health checks with slow-start 28 upstream my_upstream { zone my_upstream 64k; server backend1.example.com slow_start=30s; } server { location / { proxy_pass http://my_upstream; # Require new server to pass health check before receiving traffic health_check uri=/ishealthy.php mandatory; } }
  • 29. Example: Zero-config health checks for UDP protocols 29 upstream udp_app { server backend1.example.com:1234; server backend2.example.com:1234; } server { listen 1234 udp; proxy_pass udp_app; # Basic UDP health check health_check udp; }
  • 30. MORE INFORMATION AT NGINX.COM Other New Features ● SSL client certificates for TCP/UDP load balancing ○ Useful for automation, script can login to protected resource without presenting a username and password ○ Better parity with HTTP load balancing ● Enhanced JWT (JSON Web Token) validation ○ Can now extract custom field for JWT ○ Improved support for OpenID Connect use cases ○ Previous support allowed for extraction of pre-defined fields only ○ JWT validation is exclusive to NGINX Plus ● Maximum Connections Queue ○ Connections to upstream servers can now be queued rather than dropped if the servers are overloaded
  • 31. MORE INFORMATION AT NGINX.COM NGINX Plus R12 Caveats ● Cache Metadata Format -- Internal cache metadata header format has changed. When you upgrade to NGINX Plus R12, the on-disk cache will be invalidated and NGINX Plus will automatically refresh the cache as needed. ● SSL “DN” variables -- Format of the $ssl_client_s_dn and $ssl_client_i_dn variables has changed; they now use ‘,’ and are escaped as per RFC2253. The old X509_NAME_oneline format that used ‘/’ to separate fields can be found in the $ssl_client_s_dn_legacy and $ssl_client_i_dn_legacy variables. ● Third-Party Dynamic Modules -- Dynamic Modules that are installed from the NGINX Plus repository will be automatically updated during the upgrade. Any third-party modules that you have built will need manual updates or will result in error upon upgrade.
  • 32. MORE INFORMATION AT NGINX.COM Q&A Key new features for improved clustering, customization, and visibility ● Configuration sharing for High Availability (HA) clusters ○ Configure a single server, push configuration from there to remaining servers ● nginScript General Availability ○ Perform custom actions with familiar JavaScript syntax ● Updated extended status monitoring ○ Better visibility with response time, TCP/UDP error codes, shared memory zone usage, and additional enhancements ● Enhanced caching ○ Better performance with background updates ● Improved health checks, JWT validation, and client certificates for TCP/UDP applications 32