MRA AMA Part 6: Service Mesh Models
Transcript of MRA AMA Part 6: Service Mesh Models
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