the 3 models in the nginx microservices reference architecture

Post on 11-Apr-2017

266 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Three Models in the NGINX Microservices Reference Architecture

February 8, 2017

MORE INFORMATION AT NGINX.COM

Who Are We?

Chris StetsonChief Architect

Formerly:- Vice President, Technology, Razorfish- Vice President, West Coast, Huge

Floyd SmithTechnical Marketing Writer

Formerly:- Apple, Alta Vista, Google, and more- Author of multiple books on

technology

MORE INFORMATION AT NGINX.COM

Agenda

• NGINX Plus• The Big Shift• The Networking Problem

• Service Discovery• Load Balancing• Secure & Fast Intercommunication

• Architectures• Issues

MORE INFORMATION AT NGINX.COM

Who Are You?Job TitlesAnalyst ArchitectCEO, CIO, CTOConsultantcool guyCloud Architect, EngineerDeveloperDevOpsEngineerIT Lead, ManagerSecurity ArchitectSystems AnalystTech Lead

Organization Types

AirlinesComputer technologyConsultancyEcommerceFinanceFreelanceGovernmentHigher educationMobile phonesNetworking technologyPressSaaSTelecoms

Reasons for Attending“Build ms platforms”

“Client proposals”“Compare the three models to our solution”“Create API Gateway”“Developing microservices”“DevOps”“Microservices strategies”“Migrate from F5”“Move from .NET” “Move from Apache”“Moving from monolith”“Playing with microservices”

MORE INFORMATION AT NGINX.COM

NGINX Plus

MORE INFORMATION AT NGINX.COM

About NGINX, Inc.

• Founded in 2011, and NGINX Plus first released in 2013

• VC-backed by enterprise software industry leaders

• Offices in San Francisco, Sunnyvale, Cork, Cambridge, and Moscow

• 1,000+ commercial customers• 100+ employees

>300 million

total sitesrunning on NGINX

7Source: Netcraft June 2016 Web Server Survey

>50%of the top 100,000busiest websites

8Source: W3Techs Web Technology Survey

>40%of sites on AWS

9Source: SumoLogic

10

MORE INFORMATION AT NGINX.COM

OPEN SOURCE PLUSFEATURES

REQUEST ROUTING COMPRESSION LOAD BALANCING APP HEALTH MONITORING GUI VISUALIZATION

SSL EMBEDDED SCRIPT LANGUAGE EDGE CACHE MEDIA STREAMING MONITORING ANALYTICS CONFIGURATION RESTFUL API

What’s Inside NGINX Plus?

11

Internet

Web ServerServe content from disk

Application GatewayFastCGI, uWSGI, Passenger…

Reverse ProxyCaching, load balancing…

HTTP traffic

Where NGINX Plus Fits

MORE INFORMATION AT NGINX.COM

Public/Private/Hybrid CloudBare Metal Containers

13

NGINX Plus Works in All Environments

MORE INFORMATION AT NGINX.COM

NGINX and Microservices

• Two-thirds of surveyed developers using or investigating microservices

• Microservices is #1 topic on our website• Chris Richardson series,

Introduction to Microservices• Chris Stetson series, NGINX MRA• MRA Training• …and much more; contact Sales for free

evaluation

MORE INFORMATION AT NGINX.COM

The Big Shift

MORE INFORMATION AT NGINX.COM

Architectural Changes: Monolith to Microservices 1

MORE INFORMATION AT NGINX.COM

Architectural Changes: Monolith to Microservices 2

MORE INFORMATION AT NGINX.COM

An Anecdote

MORE INFORMATION AT NGINX.COM

The Tight Loop Problem• REST calls• 1000s of requests• Looped data

MORE INFORMATION AT NGINX.COM

Mitigation• Group requests• Cache data• Optimize the network

MORE INFORMATION AT NGINX.COM

NGINX Microservices

MORE INFORMATION AT NGINX.COM

Microservices Reference Architecture• Docker containers• Polyglot services• Design incorporates

Twelve-Factor App principles

MORE INFORMATION AT NGINX.COM

The Networking

Problem

MORE INFORMATION AT NGINX.COM

Service Discovery• Services needs to know

where other services are• Service registries work in

many different ways• Register and read service

information

MORE INFORMATION AT NGINX.COM

Load Balancing

• High-quality load balancing

• Developer configurable

MORE INFORMATION AT NGINX.COM

Secure & Fast Communication• Encryption at the

transmission layer is becoming standard

• SSL/TLS communication is slow

• Encryption is CPU-intensive

MORE INFORMATION AT NGINX.COM

Solution• Service discovery• Robust load balancing• Fast encryption

MORE INFORMATION AT NGINX.COM

Network Architectures

MORE INFORMATION AT NGINX.COM

Proxy Model• Inbound traffic is

managed through a reverse proxy/load balancer

• Services are left to themselves to connect to each other…

• …often through round-robin DNS

MORE INFORMATION AT NGINX.COM

Proxy Model• Focus on Internet traffic• A shock absorber for your app• Dynamic connectivity

MORE INFORMATION AT NGINX.COM

Router Mesh Model• Inbound routing through

reverse proxy• Centralized load

balancing through a separate load-balancing service

• Deis Router works like this

MORE INFORMATION AT NGINX.COM

Circuit Breakers• Active health checks• Retry • Caching

MORE INFORMATION AT NGINX.COM

Router Mesh• Robust service discovery• Advanced load balancing• Circuit breaker pattern

MORE INFORMATION AT NGINX.COM

Interprocess Communication• Routing is done at the

container level• Services connect to each

other as needed• NGINX Plus acts as the

forward and reverse proxy for all requests

MORE INFORMATION AT NGINX.COM

Normal Process• DNS service discovery• Relies on round-robin

DNS• Each request creates a

new SSL/TLS connection, which fully implemented requires 9 requests

MORE INFORMATION AT NGINX.COM

Detail• NGINX Plus runs in each

container• Application code talks to

NGINX Plus locally• NGINX Plus talks to

NGINX Plus• NGINX Plus queries the

service registry

MORE INFORMATION AT NGINX.COM

Circuit Breaker Plus• Active health checks• Retry • Caching

MORE INFORMATION AT NGINX.COM

Fabric Model• Robust service discovery• Advanced load balancing• Circuit breaker pattern• Persistent SSL Network

MORE INFORMATION AT NGINX.COM

NGINX and Microservices

• Two-thirds of surveyed developers using or investigating microservices

• Microservices is #1 topic on our website• Chris Richardson series,

Introduction to Microservices• Chris Stetson series, NGINX MRA• MRA Training• …and much more; contact Sales for free

evaluation

MORE INFORMATION AT NGINX.COM

Questions

top related