microservices ama load balancing and service discovery

26

Upload: nginx-inc

Post on 22-Jan-2018

270 views

Category:

Software


4 download

TRANSCRIPT

Page 1: Microservices AMA  Load Balancing and Service Discovery
Page 2: Microservices AMA  Load Balancing and Service Discovery

NGINX Microservices AMA

Load Balancing & Service

Discovery

Wednesday, October 3, 2017

2

Page 3: Microservices AMA  Load Balancing and Service Discovery

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

Page 4: Microservices AMA  Load Balancing and Service Discovery

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

Page 5: Microservices AMA  Load Balancing and Service Discovery

1. Introducing NGINX

2. Microservices Load Balancing

3. Q & A

4. ProServe

Agenda

5

Page 6: Microservices AMA  Load Balancing and Service Discovery

Introducing NGINX

6

Page 7: Microservices AMA  Load Balancing and Service Discovery

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

Page 8: Microservices AMA  Load Balancing and Service Discovery

8

50%of the top 100,000

busiest websites

Source: W3Techs Web Technology Survey

>

Page 9: Microservices AMA  Load Balancing and Service Discovery

MORE INFORMATION AT NGINX.COM

9

Page 10: Microservices AMA  Load Balancing and Service Discovery

Where NGINX Plus fits

10

Internet

Web ServerServe content from disk

Application GatewayFastCGI, uWSGI, Passenger…

Reverse ProxyCaching, load balancing…

HTTP traffic

Page 11: Microservices AMA  Load Balancing and Service Discovery

NGINX Plus works in all environments

11

Public/Private/Hybrid

CloudBare Metal Containers

Page 12: Microservices AMA  Load Balancing and Service Discovery

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

Page 13: Microservices AMA  Load Balancing and Service Discovery

Load Balancing and More

13

• Load balancing is #1 application for NGINX and NGINX Plus

• Load balancing ebook

• NGINX vs. F5 comparison

• NGINX vs. Citrix comparison

• nginx.conf 2017 keynotes, with NGINX Controller, NGINX Unit, and

more; blog posts and NGINX channel on YouTube

• NGINX Plus free trial, contact Sales, or call (800) 915-9122

Page 14: Microservices AMA  Load Balancing and Service Discovery

Load Balancing and

Service Discovery

for Microservices

14

Page 15: Microservices AMA  Load Balancing and Service Discovery

MORE INFORMATION AT

NGINX.COM

Load Balancing Considerations

• Coupled with Service Discovery and Monitoring

• Must be able to detect dynamic changes

• When new services are added, the load balancer must be able to detect the

service and distribute requests to each of its instances

• When a service is scaled, the load balancer must add the new instance(s) to

the load balancer pool for request distribution

• Some applications/services require session persistence

Page 16: Microservices AMA  Load Balancing and Service Discovery

MORE INFORMATION AT

NGINX.COM

Load-balancing

• NGINX Plus load

balancing to

microservices

Page 17: Microservices AMA  Load Balancing and Service Discovery

MORE INFORMATION AT

NGINX.COM

Monolith

Migration:

Strangler 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

Page 18: Microservices AMA  Load Balancing and Service Discovery

MORE INFORMATION AT

NGINX.COM

Proxy Model

• NGINX Plus load

balances requests only to

specific upstreams

• Interprocess

communication is left to

the services themselves

• Good for starting the

migration process, but

this is not a true service

mesh

Page 19: Microservices AMA  Load Balancing and Service Discovery

MORE INFORMATION AT

NGINX.COM

Router Mesh

Model

• Inbound routing through

reverse proxy

• Centralized load

balancing through a

separate load balancing

service

• Represents the first

NGINX architecture for

microservices that

implements a service

mesh

Page 20: Microservices AMA  Load Balancing and Service Discovery

MORE INFORMATION AT

NGINX.COM

Fabric Model

• Routing is done at the

container level

• Services connect to each

other as needed forming

an robust service mesh

• NGINX Plus acts as the

forward and reverse

proxy for all requests

Page 21: Microservices AMA  Load Balancing and Service Discovery

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

Page 22: Microservices AMA  Load Balancing and Service Discovery

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

Page 23: Microservices AMA  Load Balancing and Service Discovery

MORE INFORMATION AT

NGINX.COM

Building a

Service Mesh

using the

NGINX Sidecar

for Istio

Page 24: Microservices AMA  Load Balancing and Service Discovery

NGINX Professional Services

24

• 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

Page 25: Microservices AMA  Load Balancing and Service Discovery

Q&A

25

Page 26: Microservices AMA  Load Balancing and Service Discovery

Thank you

26

[email protected]