microservices ama load balancing and service discovery
TRANSCRIPT
NGINX Microservices AMA
Load Balancing & Service
Discovery
Wednesday, October 3, 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. Microservices Load Balancing
3. Q & A
4. ProServe
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
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
Load Balancing and
Service Discovery
for Microservices
14
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
MORE INFORMATION AT
NGINX.COM
Load-balancing
• NGINX Plus load
balancing to
microservices
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
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
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
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
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
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
Building a
Service Mesh
using the
NGINX Sidecar
for Istio
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
Q&A
25