nginx application platform - high performance load ... · the nginx application platform is a suite...

12
NGINX Application Platform Simplify and Modernize Applications at Scale Application Delivery API Management Service Mesh

Upload: others

Post on 25-May-2020

77 views

Category:

Documents


0 download

TRANSCRIPT

NGINXApplication

PlatformSimplify and Modernize Applications at Scale

Application Delivery

APIManagement

ServiceMesh

2

To Survive, Every Company Must Become a Tech CompanyTechnology is central to our lives. From entertainment to banking to our

social interactions, technology has changed how we interact with the world.

Businesses of all sizes and in all industries are introducing compelling digital

capabilities to attract, retain, and enrich customers.

Competition is fierce and customer expectations are high in this new digital

world. A recent study showed that a 4-second video buffering delay caused

the stress equivalent to watching a horror movie alone.1 People demand the

best digital experiences; unhappy users will quickly move to competitors that

can give them a better experience.

So how do you master the digital world? The Internet giants, such as Netflix

and Amazon, have pioneered an approach to building applications powered

by a new suite of technologies. These tools are overwhelmingly open source,

cloud‑native, and place a premium on adaptability, performance, and scale.

Of all these new tools, none is more ubiquitous than NGINX.

More than 375 million websites2 rely on NGINX Open Source to deliver their

applications. Our technology helps companies simplify digital delivery, optimize

digital supply chains, and roll out digital services faster. The NGINX Application

Platform is a consolidated set of tools that improves application performance,

automates application delivery, and decreases capital and operational costs.

1. https://www.ericsson.com/en/press-releases/2016/2/streaming-delays-mentally-taxing-for-smartphone-users-ericsson-mobility-report2. https://news.netcraft.com/archives/2019/02/28/february-2019-web-server-survey.html

3

The NGINX Application Platform

The NGINX Application Platform is a suite of products that together form the core of what organizations need to create applications with performance, reliability, security, and scale. The NGINX Application Platform includes NGINX Plus for load balancing and application delivery, the NGINX WAF for security, and NGINX Unit to run the application code, all monitored and managed by NGINX Controller.

NGINX Controller – Mission control for your apps and APIs. A modular solution to

manage NGINX solutions at scale across a multi‑cloud environment.

NGINX Plus – The only all‑in‑one load balancer, API gateway, sidecar proxy, content cache,

and web server. Simplify your architecture while reducing costs.

NGINX WAF – Stop SQL injection, LFI, RFI, and almost any Layer 7 attack. Powered by the most

trusted name in application security, ModSecurity.

NGINX Unit – Open Source, multi‑language app server. Supports Go, Node.js, Java, Perl,

PHP, Python, and Ruby. Improve agility with dynamic configuration API.

NGINX PlusDynamic application gateway

NGINX ControllerCentralized monitoring and management

Web Server Polyglot App Server

NGINX UnitDynamic application server

Analytics Control Policy

API Management Service MeshApplication Delivery

Application Delivery

API Gateway WAF

Content Cache

4

Microservices

Web

App

Mgr. Mgr. Mgr. Mgr. Mgr.

Control plane

Data plane

Server/app

Mgr.

CDN WAF L4LB

L7LB

APIGW

Mgr.

Mgr.

Istio

Monolithic A

pps

SP MS

SP MS

SP MS

SP MS

L4LB

K8sIC

RP

Typical Application Delivery Infrastructures Are Too ComplexTo provide compelling digital experiences, enterprises need multiple application architectures. Some apps are traditional monoliths, while others are distributed microservices. But in most cases, a single app needs both architectures. In fact, according to our 2018 user survey, 85% of applications are a combination of monoliths and microservices. The resulting appli‑cation infrastructures is too complex.

As depicted below, most enterprises stitch together content delivery networks (CDN), web application firewalls (WAF), network (or L4) load balancers, appli- cation (or L7) load balancers, and API gateways in order to protect and scale traffic going in and out of apps. Each component adds latency, operational overhead, and cost.

On the backend, it’s not uncommon to see a multitude of reverse proxies, app servers, and web servers for traditional apps, and Kubernetes Ingress controllers, sidecar proxies, and microservices to support newer apps. Here, each component is managed by different teams with different skill sets.

Each of these different tools require their own dedicated management tools. This level of infra‑structure sprawl drives high cost, complexity, and risk – making it impossible to bring new apps and services to market quickly.

5

NGINX Reduces Application Infrastructure ComplexityThe NGINX Application Platform is a suite of application development and delivery technologies that simplify application infrastructures. The NGINX Application Platform provides application delivery, API manage- ment, and service mesh capabilities. This eliminates the need for 10 disparate solutions – dramatically lowering costs, improving application performance, boosting developer productivity, and speeding time‑ to‑market for new services.

If we look at the same application infrastructure diagram, we now see that NGINX Plus provides a single, dynamic application gateway for north/south traffic. NGINX Plus collapses load balancing, API gate- way, reverse proxy, and WAF functionality into a single, scale‑out software tier. NGINX Plus and NGINX Unit provide a similar dynamic application infrastructure on the backend that eliminates the need for different servers, ingress controllers, and sidecar proxies for east/west traffic. NGINX Controller monitors and manages all this with a intuitive, graphical interface.

CDN

NGINX Controller

Central Manager

NGINX Plus

Load BalancerAPI GatewayReverse ProxyWAF

L4LB

13Solutions

3Solutions

Mgr. Mgr.

Microservices

Monolithic A

pps

K8s IC

ContainerizedApp

Sidecar Proxy

Web Server

NGINX UnitApp Server

L4LB

Control plane

Data plane

Server/app

6

NGINX’s Application Delivery solution consists of NGINX Plus at the data plane, managed by NGINX Controller’s Load Balancing Module.

NGINX Plus is a true software‑based load balancer and builds on top of the same NGINX Open Source that powers hundreds of millions of websites. It enables infrastructure and DevOps teams to be agile and achieve phenomenal performance. Lightweight and efficient, NGINX Plus can be deployed at the edge of the data center, or with

a single instance dedicated to each application or customer. Configuration changes to scale capacity or manage traffic can be accomplished in seconds. This helps increase application development velocity, which in turn bolsters competitive advantage and improves customer loyalty. NGINX Plus provides specific advantages over the open source version, including on-the-fly reconfiguration with zero down- time, active health checks, advanced clustering, and state sharing to provide resiliency and reliability.

DevOps-friendly ingress/egress tier for modern app delivery

“Moving to the next generation ADC was

going to cost more than $1M per data center.

NGINX Plus gave us 50% more transactions

per server, for one-sixth the price. We’re now

100% hardware free.”

– Josh Ryder, VP Cybersecurity Engineering and Operations at AppNexus

Application Delivery

Why NGINX as an application delivery controller?

Cost savings – Save 80% over hardware ADCs while exceeding performance and functionality.

Agility – Collapse disparate load balancing, proxying, and WAF capabilities into a single ingress/egress software tier.

Flexibility – Deploy and operate NGINX Plus and NGINX Controller in any cloud, bare metal, virtual machine, or container‑based environment.

7

The Load Balancing Module manages multiple NGINX Plus instances across a multi‑cloud envi‑ronment. Using an intuitive, wizard‑style interface, you can configure features such as load balancing algorithms, URL routing, and SSL termination for all your NGINX Plus instances. Rich monitoring and alerting capabilities help ensure application avail‑ ability, performance, and reliability. This module provides deep visibility into key metrics and preemptive recommendations based on best practices, enabling infrastrastructure and DevOps teams to avoid performance issues in the first place and more quickly troubleshoot any issues that may arise.

NGINX Controller overview dashboard

Features:NGINX Plus (Data Plane):• Active TCP, UDP, HTTP

health checks for high availability failover

• Dynamic reconfiguration with zero downtime (no process reloads)

• JWT authentication • Sticky-route session

persistence• Multi-cloud support• Programmability

(Chef, Puppet and Ansible integration)

• High Availability

Controller App Delivery Module (Control Plane):• Management at scale• Multi-cloud support• Real-time Monitoring

and Alerting• Built-in and customizable

dashboards • Simplifiedconfiguration

management• Pre-emptive best practice

recommendations

8

NGINX’s API management solution consists of NGINX Plus functioning as an API gateway at the data plane combined with the API Management Module in NGINX Controller.

NGINX Plus, the industry’s most ubiquitous API gate‑ way, enables you to mediate both north‑south API traffic for APIs exposed by traditional monolithic applications and east-west API traffic for new, distributed applications based on microservices. It offers foundational request routing capability combined with advanced functionalities like rate limiting and API authentication using JSON Web Tokens (JWT). NGINX Plus accelerates performance by caching common API responses and reducing

the load on API endpoints. Unlike most other API management solutions, which use NGINX Open Source as the underlying API gateway, NGINX eliminates the need for third‑party modules to process API calls.

NGINX Plus is also extremely lightweight and flexible. It can be deployed as an API gateway for both traditional applications as well as microservices. Competing solutions, require additional micro‑gateways to manage microservices, which increases complexity and cost.

The NGINX Controller API Management Module combines the power and efficiency of NGINX Plus as an API gateway with new control‑plane functionality. NGINX Controller empowers infrastructure and

“ NGINX has enabled us to scale our applications to 12 billion

operations per day, with peaks of 2 million operations per

second at latencies of just 10–30 milliseconds.” – Master Software Engineer at Capital One

API ManagementThe most trusted API solution for traditional apps and microservices

Why NGINX for full lifecycle API management?

High Performance – Eliminate complexity and latency with NGINX Plus, the original API gateway that eliminates third‑ party modules and constant control‑plane connectivity

Simplified Management – Define, publish, secure, monitor and obtain analytics for all your APIs across a multi‑cloud environment with NGINX Controller’s intuitive interface.

Simplified Architecture – Deploy and operate NGINX Plus as an API gateway for managing API calls in both traditional applications and modern, microservices.

9

DevOps teams as well as API Product Managers to define, publish, secure, monitor, and analyze APIs, while keeping developers in control of API design.

What makes NGINX’s API Management truly unique is its innovative architecture. The NGINX Plus API gateway does not require constant connectivity to NGINX Controller, so API runtime traffic is isolated from API management traffic. This approach maximizes performance by reducing the average response time to serve an API call and minimizes the footprint and complexity of the gateway. It eliminates the need for local databases or additional components that may introduce needless complexity, latency, and points of failure for the API gateway.

API Definition

Features:NGINX Plus (Data Plane):• Request routing• Caching to accelerate

performance• Global rate limiting• Authentication and

authorization using API keys and JWTs

• Manage both E/W andN/Straffic

• Small footprint (~ 2MB in size)

Controller App Delivery Module (Control Plane):• APIdefinition

and publication• Rate limiting• Fine-grained

access control• Real-time monitoring

and alerting• Built-in and customizable

dashboards • Multi-cloud support

(Flexible and portable)

10

We believe moving to microservices is crucial to the success of our customers. We have developed features and our Microservices Reference Archi‑tectures (MRA) to support this seismic shift in web application development and delivery. These reference architectures help our customers with ready‑to‑use blueprints for building microservices‑based systems, speeding – and improving – development. They provide prescriptive guidelines on efficient traffic management that includes load balancing, service discovery, and active health checks between microservices.

The most common solution in our MRA is to start with an Ingress Controller. You need containers to run your microservices efficiently. NGINX is the most widely pulled and starred application on DockerHub, with more than 1 billion downloads. NGINX is the preferred Ingress Controller for Kubernetes – the leading container orchestration platform. NGINX Ingress Controller for Kubernetes provides advanced load balancing capabilities including session persistence, WebSocket, HTTP/2 and gRPC for complex applications consisting of many

“ NGINX support is extremely valuable. NGINX responds

quickly with very proficient tech support. They have

the best support for Kubernetes Ingress controllers.

NGINX also offers a high degree of customization.”

– Andrew Van Dyk, VP Engineering at LKQD Technologies

Why NGINX for service mesh?

Proven – Go with the leading traffic management solution for your microservices environments, supporting both ingress controller and service mesh patterns.

Migrate Seamlessly – Rely on proven microservices reference architectures to right‑size your infrastructure for any scale – from dozens to thousands of microservices.

Reliable – Use a stable, enterprise‑ grade Ingress Controller and Router for your Kubernetes and OpenShift environments that is a supported, production‑grade solution.

Most-deployedmicroservicestrafficmanagementsolution

Service Mesh

11

micro-services. SSL/TLS termination with config-urable encryption and support for JWT authentication ensure a secure environment for your microservices. Automated configuration ensures that applications in your Kubernetes cluster are delivered reliably and securely without com‑promising performance.

NGINX also supports Red Hat® OpenShift,® a compre‑ hensive enterprise‑grade application platform, built for containers with Kubernetes. As your OpenShift Router, both NGINX Open Source and NGINX Plus acts as an ingress controller (traffic management and

security) to improve your resilience, performance, and reliability.

NGINX plans to launch a robust L7 service mesh solution using NGINX Plus as a sidecar proxy at the data plane and managed by NGINX Controller’s Service Mesh Module at the control plane. This service mesh complements NGINX ingress solutions above with additional security, reliability, and observability for microservices that simplifies operations and extends the reach of service mesh to support hybrid environments.

AppPod

Service 2

AppPod

Service 4

AppPod

Service 1

AppPod

Service 3Ingress

Controller

Pod

Pod

Pod

PodOpenShift

Router

App 4

App 2

App 3

App 1

For more information, visit nginx.com or send us an email at [email protected]

NGINX and NGINX Plus are registered trademarks of NGINX, Inc.