MRA AMA Part 6: Service Mesh Models

Preview:

Citation preview

NGINX Microservices

Reference Architecture (MRA)

Ask Me Anything (AMA)

Part 6 – Service Mesh Models

Wednesday, November 1, 2017

2

MORE INFORMATION AT NGINX.COM

Who Are We?

Charles PretzerTechnical Architect

Formerly:

- Software architecture consultant

- Engineering lead at Zinio, StyleHive,

others

Floyd SmithTechnical Marketing Writer

Formerly:

- Apple, Alta Vista, Google, and more

- Author of multiple books on technology

including web, marketing, usability

Job Titles

Analyst

Architect

CEO, CIO, CTO

Consultant

cool guy

Cloud Architect, Engineer

Developer

DevOps

Engineer

IT Lead, Manager

Security Architect

Systems Analyst

Tech Lead

Organization Types

Airlines

Computer technology

Consultancy

Ecommerce

Finance

Freelance

Government

Higher education

Mobile phones

Networking technology

Press

SaaS

Telecoms

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”

Who Attends?

4

1. Introducing NGINX

2. Problems Solved by Using a Service Mesh Model for

Microservices

3. Service Mesh Models in the MRA

4. How the NGINX Kubernetes Ingress Controller works

with Istio, linkerd, and other service mesh models

5. NGINX Professional Services

Agenda

5

Introducing NGINX

6

About NGINX, Inc.

7

• NGINX Open Source project early 2000s

• Company founded in 2011

• 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

8

50%of the top 100,000

busiest websites

Source: W3Techs Web Technology Survey

>

MORE INFORMATION AT NGINX.COM

9

Where NGINX Plus fits

10

Internet

Web ServerServe content from disk

Application GatewayFastCGI, uWSGI, Passenger…

Reverse ProxyCaching, load balancing…

HTTP traffic

NGINX Plus works in all environments

11

Public/Private/Hybrid

CloudBare Metal Containers

NGINX and Microservices

12

• 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**

• Three Models webinar

• MRA Training

• NGINX Professional Services – creators of the MRA

…and much more

** = backup for this presentation

The Role of a

Service Mesh

13

What is a service mesh?

A service mesh is a dedicated infrastructure layer for making service-to-

service communication safe, fast, and reliable. If you’re building a cloud

native application, you need a service mesh!

- buoyant.io

MORE INFORMATION AT

NGINX.COM

Proxy Model

• Focus on internet traffic• A shock absorber for your app• Dynamic connectivity

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

Router Mesh

• Robust service discovery

• Advanced load balancing

• Circuit breaker pattern

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

MORE INFORMATION AT

NGINX.COM

Fabric Model

• Robust service discovery

• Advanced load balancing

• Circuit breaker pattern

• Persistent SSL network

MORE INFORMATION AT

NGINX.COM

Inter-Process

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

Kubernetes Load Balancing• Implemented by Services as internal or external load

balancers

• Ingress and Ingress Controllers are more robust forms of

load balancing in Kubernetes

• The NGINX Ingress Controller provides all the load

balancing features NGINX within Kubernetes

• https://github.com/nginxinc/kubernetes-ingress

MORE INFORMATION AT

NGINX.COM

NGINX Ingress

Controller for

Kubernetes - Open source

repository on github

MORE INFORMATION AT

NGINX.COM

Istio Load Balancing• In order to discover services Istio assumes the presence

of a service registry

• NGINX has built the nginxmesh repository which

provides an implementation of a sidecar proxy for Istio

using NGINX

• https://github.com/nginmesh/nginmesh

MORE INFORMATION AT

NGINX.COM

nginmesh

for Istio - Open source

repository on github

NGINX Professional Services

26

• Developers of the NGINX MRA

• Highlights: NGINX Plus Quick Start and

Microservices Architecture Strategy and

Consultation

• Find the Fabric Model on GitHub

• MRA Training

• Contact NGINX Sales to discuss

Q&A

27

Thank you

28

charles@nginx.com