SlideShare a Scribd company logo
NGINX Service Mesh
(NSM)
DATA PLANE MATTERS
Alan Murphy, PM NGINX Service Mesh
| ©2020 F52
NGINX Service Mesh:Agenda
• What is a Service Mesh?
• What does a Service Mesh solve?
• NGINX Service Mesh Architecture
• Demo Time!
• Q&A
| ©2020 F53
What’s In A Service Mesh!
CONFIDENTIAL
| ©2020 F54
L7 Logic (Ingress)
L3-L4 Networking
L3 – L7 Network
Management ==
Service Mesh
An Overly Simplified Picture
| ©2020 F55
WHAT’S MISSING IN K8S AND WHAT DO YOU REALLY WANT AND NEED FROM A MESH?
What Is A Service Mesh?
Service mesh aims to improve application
traffic control, observability and security for
distributed systems.
- The New Stack
| ©2020 F56
WHAT’S MISSING IN K8S AND WHAT DO YOU REALLY WANT AND NEED FROM A MESH?
What Is A Service Mesh?
• A service mesh adds L7 traffic management & security:
• sidecar deployment
• policy management
• application availability/health,
• Service mesh isn’t just one “thing”, it’s a lot of managed and dependent
components
• Takes over where K8s networking stops (service/pod IP endpoints)
• “Traffic management for containers”
| ©2020 F57
What DoesA Service Mesh Do?
Service Mesh controls communications between pods and external apps
Secure Traffic
End-to-end encryption (Mutual TLS / mTLS), ACLs
Manage All Service Traffic
Load Balance, Circuit breaker, B|G, Rate Limiting…
Orchestration
Injection and sidecar management, K8s API integration
Measure Traffic
Generate transaction traces and real-time monitoring
| ©2020 F58
What Is A Sidecar?
© 2017 F5 Networks
A Sidecar is a containerized service that another containerized service
depends on for some function: “Helper Containers”
• Not just networking, can be used for any separationof process:API GW, logging, data mining, etc.
In our world, a Sidecar would be a reverse proxy that sits beside an
application service container (in the same pod) and provides all inbound and
outbound network routing to that application container
App Pod
| ©2020 F59
HowAre Sidecars Deployed?
© 2017 F5 Networks
Separate Container In The App Pod
• The separate container is attached to the app service container in a pod
• Networking in the app container is altered via a policy from the mesh that tells the app “You can only talk to
your sidecar for network access.”
• Policy and architecture are defined and orchestrated via the control plane,managed with a combo of
ConfigMap and control plane.
• A Service Mesh takes care of auto-associating the sidecar with the app container in the same pod via
Sidecar Injection
App Pod
| ©2020 F510
What DoesA Service Mesh Actually Do?
© 2017 F5 Networks
• Proxy
• Orchestration
• Policy Management
• Policy Enforcement
• Monitoring
Data Plane
Control Plane
Management Plane
Data Plane
Data + Control Planes
…[sidecar] proxies cache the state of the mesh but aren’t regarded as the
source of truth for the state of the mesh.
- Lee Calcote, O’Reilly
| ©2020 F511
Service Mesh Policies
© 2017 F5 Networks
Network Policy
• Serviceto servicerouting
• Serviceavailability
• Servicediscovery
Access Policy
• IP allow/deny
• Allow/Deny
• JWT
Security Policy
• SSL/mTLSTermination
• DDoS
• WAF
E
F
THE MOST IMPORTANT (AND DIFFICULT) PART
| ©2020 F512
I DON’T SAY THAT OFTEN, BUT SERIOUSLY: SECURITY
It’s ReallyAll About Security: Data Plane Enforcement
• Service Security
• Identity Management
• SSL Key Management
• Injection Policies
• Network Security
• L3/L4 Networking Control
• mTLS Between Services
• Access Control
• Auditing/Governance
• Policy and Traffic Monitoring
• Zero Trust
• Cluster-wide L7 Networking Policies
| ©2020 F513
NSM Service Mesh
The “Data Plane” Service Mesh
CONFIDENTIAL
| ©2020 F514
Service Mesh Product Goals
NGINX Service Mesh controls communications between pods and external apps
Secure Traffic
End-to-end encryption (Mutual TLS / mTLS), ACLs
Manage All Service Traffic
Load Balance, Circuit breaker, B|G, Rate Limiting…
Orchestration
Injection and sidecar management, K8s API integration
Measure Traffic
Generate transaction traces and real-time monitoring
| ©2020 F515
Why NGINX Service Mesh?
Data Plane Matters
| ©2020 F516
Why NGINX Service Mesh?
• Complete Microservices Traffic Management and Security
• E/W (sidecar) and N/S (NGINX KIC) Ingress and Egress
• Security policy definition, enforcement, and governance
• Turn-key and Platform Agnostic
• Everything you need is included, no need to piecemeal
• Run in any K8s environment, anywhere
• Data Plane Matters
• Brings the world’s best software reverse proxy to container traffic
management
| ©2020 F517
What is the NGINX Service Mesh?
Data Plane
East/West traffic
Control
Plane
Management
Plane
Infrastructure
Kubernetes VMware AWS Bare Metal
SVC SVCSVCSVCSVC SVC
Conf DbKubernetes Service Registry Inventory VMware, AWS… Inventory
| ©2020 F518
What is the NGINX Service Mesh?
Data Plane
East/West traffic
Control
Plane
Management
Plane
Infrastructure
Kubernetes VMware AWS Bare Metal
Conf DbKubernetes Service Registry Inventory VMware, AWS… Inventory
SVC SVCSVCSVCSVC SVC
| ©2020 F519
What is the NGINX Service Mesh?
Data Plane
East/West traffic
Control
Plane
Management
Plane
Infrastructure
Kubernetes VMware AWS Bare Metal
NGINX Service Mesh control plane
SVC SVCSVCSVCSVC SVC
Topology Policies
Conf DbKubernetes Service Registry Inventory VMware, AWS… InventoryCLI / API
$>_
| ©2020 F520
What is the NGINX Service Mesh?
Data Plane
East/West traffic
Control
Plane
Management
Plane
Infrastructure
Kubernetes VMware AWS Bare Metal
NGINX Service Mesh control plane Topology Policies
Conf DbKubernetes Service Registry Inventory VMware, AWS… Inventory
SPIRE
SVC SVCSVCSVCSVC SVC
CLI / API
$>_
| ©2020 F521
What is the NGINX Service Mesh?
Data Plane
East/West traffic
Control
Plane
Management
Plane
Infrastructure
Kubernetes VMware AWS Bare Metal
NGINX Service Mesh control plane Topology Policies
Conf DbKubernetes Service Registry Inventory VMware, AWS… Inventory
SPIRE Grafana OpenTracing
SVC SVCSVCSVCSVC SVC
CLI / API
$>_
| ©2020 F522
What is the NGINX Service Mesh?
Data Plane
East/West traffic
Control
Plane
Management
Plane
Infrastructure
Kubernetes VMware AWS Bare Metal
NGINX Service Mesh control plane Topology Policies
Conf DbKubernetes Service Registry Inventory VMware, AWS… Inventory
SPIRE Grafana OpenTracing
SVC SVCSVCSVCSVC SVC
CLI / API
$>_
NGINX
Ingress
NGINX
Egress
| ©2020 F523
What is the NGINX Service Mesh?
Data Plane
East/West traffic
Control
Plane
Management
Plane
Infrastructure
Kubernetes VMware AWS Bare Metal
NGINX Service Mesh control plane Topology Policies
Conf DbKubernetes Service Registry Inventory VMware, AWS… Inventory
SPIRE Grafana OpenTracing
NGINX Controller
Centralized management
Service Mesh connector Integrations
SVC SVCSVCSVCSVC SVC
CLI / API
$>_
NGINX
Ingress
NGINX
Egress
| ©2020 F524
NSM Components
• NSM runs within a K8s cluster
• Securely manages ingress/egress
traffic to external services
• Can be deployed in any K8s cluster
platform
| ©2020 F525
Data PlaneControl Plane
| ©2020 F526
NSM Demo Time!
CONFIDENTIAL
| ©2020 F527
NSM Features
CONFIDENTIAL
| ©2020 F528
Security
• Zero-trust model
• mTLS enforcement
• Service identity
• Access control CRDs
• Access control via mTLS
• Config validation
• Single source of truth for network (K8s) and identity
(Spire)
• Ingress mTLS
• Egress opt-in allowlist
• Iptables pod firewalling
SVC
| ©2020 F529
Integrated N/S Ingress/Egress
• NGINX Plus for sidecars and KIC
• Ingress traffic treated as S2S service
traffic
• Full integration with Spire identity and
SSL key store
• mTLS for ingress into NSM
• Egress name service support
• Egress opt-in allowlist
• Sidecar ”default route” to KIC
| ©2020 F530
Traffic Management
• Full support for microservice traffic models
− Circuit Breaker
− Blue/Green
− Canary
− Weighted distribution
• Rate shaping and QoS/priority queueing
• Container-based load balancing
• Dynamic service availability
• SSL keepalive for performance
SVC
| ©2020 F531
Lightweight andAgile
• Data Plane Matters
• Control plane designed to
optimize NGINX Plus data plane
• Standards-based: SPIFFE, SMI-
spec
• Single CLI for management of all
mesh services
• CI/CD pipeline’able for
orchestrated deployment and
policy management
| ©2020 F532
A reality check…
Service Mesh technology addresses one specific set of problems
It’s not a magic bullet that makes all applications ‘better’
There are many other, well-proven ways to address the same problems
Service Mesh technology is very complex ever-evolving
Cost of operating a mesh in production can be high, and there can be many
risks
| ©2020 F533
WhenAm I Ready For A Service Mesh?
✓ You have a mature, fully-automated CI/CD pipeline (GitOps-enabled)
✓ You are fully invested in microservices and using Kubernetes
✓ You are deploying frequently to production (at least once per day)
✓ You have a zero-trust production environment (so need mTLS)
✓ You need/want additional visibility of container traffic interaction
| ©2020 F534 CONFIDENTIAL
Where To Start?
Define Your Microservice Mesh Needs
GET AHEAD OF THE NEED
• Why a mesh?
• What goals are you trying to solve with a mesh?
• Who will own/manage the mesh?
• Where will the mesh be deployed?
• Decide if you want to build your own components or use a complete
mesh.
• Plan. Plan. Test.
| ©2020 F535
How To Get NSM
• Download
− downloads.f5.com
• Docs
− docs.nginx.com/nginx-service-mesh
• Tools/Support
− github.com/nginxinc/nginx-service-mesh SVC
Data Plane Matters! A Deep Dive and Demo on NGINX Service Mesh

More Related Content

PPTX
Control Kubernetes Ingress and Egress Together with NGINX
PDF
NGINX DevSecOps Workshop
PDF
Nim tames sprawl
PPTX
Flexible, Powerful, and Easy-to-Use Ingress Load Balancing with NGINX and Ope...
PDF
Découvrez NGINX AppProtect
PDF
Control Kubernetes Ingress and Egress Together with NGINX
PDF
Strengthen Security and Traffic Visibility on Amazon EKS with NGINX
PDF
Relevez les défis Kubernetes avec NGINX
Control Kubernetes Ingress and Egress Together with NGINX
NGINX DevSecOps Workshop
Nim tames sprawl
Flexible, Powerful, and Easy-to-Use Ingress Load Balancing with NGINX and Ope...
Découvrez NGINX AppProtect
Control Kubernetes Ingress and Egress Together with NGINX
Strengthen Security and Traffic Visibility on Amazon EKS with NGINX
Relevez les défis Kubernetes avec NGINX

What's hot (20)

PDF
Get the Most Out of Kubernetes with NGINX
PDF
Fundamentals of microservices
PPTX
NGINX Basics and Best Practices Workshop
PDF
How to Get Started With NGINX
PPTX
NGINX Controller: Configuration, Management, and Troubleshooting at Scale
PPTX
NGINX Unit at Scale: Use Cases and the Future of Unit
PDF
Securing Your Apps & APIs in the Cloud
PPTX
Production-Grade Kubernetes With NGINX Ingress Controller
PDF
Deep Dive: Automating the Application and Security Pipeline with NGINX and An...
PPTX
NGINX: Back to Basics – APCJ
PDF
Secured APIM-as-a-Service
PDF
Replacing and Augmenting F5 BIG-IP with NGINX Plus - EMEA
PDF
Application Security with NGINX
PPTX
Migrating from BIG-IP Deployment to NGINX ADC
PDF
Driving Success In The Cloud With NGINX
PPTX
Securing Kubernetes Clusters with NGINX Plus Ingress Controller & NAP
PPTX
NGINX Lunch and Learn Event: Kubernetes and the NGINX Plus Ingress controller
PDF
Kubernetes Networking
PDF
What's New with NGINX Application Security Solutions
PDF
Secure, Strengthen, Automate, and Scale Modern Workloads with Red Hat & NGINX
Get the Most Out of Kubernetes with NGINX
Fundamentals of microservices
NGINX Basics and Best Practices Workshop
How to Get Started With NGINX
NGINX Controller: Configuration, Management, and Troubleshooting at Scale
NGINX Unit at Scale: Use Cases and the Future of Unit
Securing Your Apps & APIs in the Cloud
Production-Grade Kubernetes With NGINX Ingress Controller
Deep Dive: Automating the Application and Security Pipeline with NGINX and An...
NGINX: Back to Basics – APCJ
Secured APIM-as-a-Service
Replacing and Augmenting F5 BIG-IP with NGINX Plus - EMEA
Application Security with NGINX
Migrating from BIG-IP Deployment to NGINX ADC
Driving Success In The Cloud With NGINX
Securing Kubernetes Clusters with NGINX Plus Ingress Controller & NAP
NGINX Lunch and Learn Event: Kubernetes and the NGINX Plus Ingress controller
Kubernetes Networking
What's New with NGINX Application Security Solutions
Secure, Strengthen, Automate, and Scale Modern Workloads with Red Hat & NGINX
Ad

Similar to Data Plane Matters! A Deep Dive and Demo on NGINX Service Mesh (20)

PDF
Service Mesh: Two Big Words But Do You Need It?
PPTX
Building a Service Mesh with NGINX Owen Garrett.pptx
PPTX
NGINX, Istio, and the Move to Microservices and Service Mesh
PPTX
MRA AMA Part 6: Service Mesh Models
PPTX
Do You Need A Service Mesh?
PDF
MRA AMA: Ingenious: The Journey to Service Mesh using a Microservices Demo App
PDF
MRA AMA Part 8: Secure Inter-Service Communication
PDF
What is a Service Mesh and what can it do for your Microservices
PDF
Service mesh in Microservice World to Manage end to end service communications
PDF
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
PDF
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
PPTX
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
PDF
Microservices with NGINX pdf
PDF
App Simplified - Use a Mesh from Day 0.pdf
PDF
InfoQ_NGINX_Fundamentals_of_Microservices.pptx.pdf
PPTX
The 3 Models in the NGINX Microservices Reference Architecture
PPTX
Do I Need A Service Mesh.pptx
PPTX
CloudNativeLondon 2017: "What is a Service Mesh, and Do I Need One when Devel...
PPTX
apidays LIVE Hong Kong 2021 - Zero Trust security with Service Mesh by Lauren...
PDF
Docker microservices and the service mesh
Service Mesh: Two Big Words But Do You Need It?
Building a Service Mesh with NGINX Owen Garrett.pptx
NGINX, Istio, and the Move to Microservices and Service Mesh
MRA AMA Part 6: Service Mesh Models
Do You Need A Service Mesh?
MRA AMA: Ingenious: The Journey to Service Mesh using a Microservices Demo App
MRA AMA Part 8: Secure Inter-Service Communication
What is a Service Mesh and what can it do for your Microservices
Service mesh in Microservice World to Manage end to end service communications
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
Microservices with NGINX pdf
App Simplified - Use a Mesh from Day 0.pdf
InfoQ_NGINX_Fundamentals_of_Microservices.pptx.pdf
The 3 Models in the NGINX Microservices Reference Architecture
Do I Need A Service Mesh.pptx
CloudNativeLondon 2017: "What is a Service Mesh, and Do I Need One when Devel...
apidays LIVE Hong Kong 2021 - Zero Trust security with Service Mesh by Lauren...
Docker microservices and the service mesh
Ad

More from NGINX, Inc. (20)

PDF
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
PDF
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
PDF
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
PPTX
Get Hands-On with NGINX and QUIC+HTTP/3
PPTX
Managing Kubernetes Cost and Performance with NGINX & Kubecost
PDF
Manage Microservices Chaos and Complexity with Observability
PDF
Accelerate Microservices Deployments with Automation
PDF
Unit 2: Microservices Secrets Management 101
PDF
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
PDF
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
PDF
Easily View, Manage, and Scale Your App Security with F5 NGINX
PDF
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
PDF
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
PPTX
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
PPTX
Protecting Apps from Hacks in Kubernetes with NGINX
PPTX
NGINX Kubernetes API
PPTX
Successfully Implement Your API Strategy with NGINX
PPTX
Installing and Configuring NGINX Open Source
PPTX
Shift Left for More Secure Apps with F5 NGINX
PPTX
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
Get Hands-On with NGINX and QUIC+HTTP/3
Managing Kubernetes Cost and Performance with NGINX & Kubecost
Manage Microservices Chaos and Complexity with Observability
Accelerate Microservices Deployments with Automation
Unit 2: Microservices Secrets Management 101
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
Easily View, Manage, and Scale Your App Security with F5 NGINX
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Protecting Apps from Hacks in Kubernetes with NGINX
NGINX Kubernetes API
Successfully Implement Your API Strategy with NGINX
Installing and Configuring NGINX Open Source
Shift Left for More Secure Apps with F5 NGINX
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx

Recently uploaded (20)

PDF
Approach and Philosophy of On baking technology
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
KodekX | Application Modernization Development
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
cuic standard and advanced reporting.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
DOCX
The AUB Centre for AI in Media Proposal.docx
Approach and Philosophy of On baking technology
Diabetes mellitus diagnosis method based random forest with bat algorithm
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
20250228 LYD VKU AI Blended-Learning.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
MYSQL Presentation for SQL database connectivity
Agricultural_Statistics_at_a_Glance_2022_0.pdf
KodekX | Application Modernization Development
Advanced methodologies resolving dimensionality complications for autism neur...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Digital-Transformation-Roadmap-for-Companies.pptx
Review of recent advances in non-invasive hemoglobin estimation
Encapsulation_ Review paper, used for researhc scholars
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
cuic standard and advanced reporting.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
The AUB Centre for AI in Media Proposal.docx

Data Plane Matters! A Deep Dive and Demo on NGINX Service Mesh

  • 1. NGINX Service Mesh (NSM) DATA PLANE MATTERS Alan Murphy, PM NGINX Service Mesh
  • 2. | ©2020 F52 NGINX Service Mesh:Agenda • What is a Service Mesh? • What does a Service Mesh solve? • NGINX Service Mesh Architecture • Demo Time! • Q&A
  • 3. | ©2020 F53 What’s In A Service Mesh! CONFIDENTIAL
  • 4. | ©2020 F54 L7 Logic (Ingress) L3-L4 Networking L3 – L7 Network Management == Service Mesh An Overly Simplified Picture
  • 5. | ©2020 F55 WHAT’S MISSING IN K8S AND WHAT DO YOU REALLY WANT AND NEED FROM A MESH? What Is A Service Mesh? Service mesh aims to improve application traffic control, observability and security for distributed systems. - The New Stack
  • 6. | ©2020 F56 WHAT’S MISSING IN K8S AND WHAT DO YOU REALLY WANT AND NEED FROM A MESH? What Is A Service Mesh? • A service mesh adds L7 traffic management & security: • sidecar deployment • policy management • application availability/health, • Service mesh isn’t just one “thing”, it’s a lot of managed and dependent components • Takes over where K8s networking stops (service/pod IP endpoints) • “Traffic management for containers”
  • 7. | ©2020 F57 What DoesA Service Mesh Do? Service Mesh controls communications between pods and external apps Secure Traffic End-to-end encryption (Mutual TLS / mTLS), ACLs Manage All Service Traffic Load Balance, Circuit breaker, B|G, Rate Limiting… Orchestration Injection and sidecar management, K8s API integration Measure Traffic Generate transaction traces and real-time monitoring
  • 8. | ©2020 F58 What Is A Sidecar? © 2017 F5 Networks A Sidecar is a containerized service that another containerized service depends on for some function: “Helper Containers” • Not just networking, can be used for any separationof process:API GW, logging, data mining, etc. In our world, a Sidecar would be a reverse proxy that sits beside an application service container (in the same pod) and provides all inbound and outbound network routing to that application container App Pod
  • 9. | ©2020 F59 HowAre Sidecars Deployed? © 2017 F5 Networks Separate Container In The App Pod • The separate container is attached to the app service container in a pod • Networking in the app container is altered via a policy from the mesh that tells the app “You can only talk to your sidecar for network access.” • Policy and architecture are defined and orchestrated via the control plane,managed with a combo of ConfigMap and control plane. • A Service Mesh takes care of auto-associating the sidecar with the app container in the same pod via Sidecar Injection App Pod
  • 10. | ©2020 F510 What DoesA Service Mesh Actually Do? © 2017 F5 Networks • Proxy • Orchestration • Policy Management • Policy Enforcement • Monitoring Data Plane Control Plane Management Plane Data Plane Data + Control Planes …[sidecar] proxies cache the state of the mesh but aren’t regarded as the source of truth for the state of the mesh. - Lee Calcote, O’Reilly
  • 11. | ©2020 F511 Service Mesh Policies © 2017 F5 Networks Network Policy • Serviceto servicerouting • Serviceavailability • Servicediscovery Access Policy • IP allow/deny • Allow/Deny • JWT Security Policy • SSL/mTLSTermination • DDoS • WAF E F THE MOST IMPORTANT (AND DIFFICULT) PART
  • 12. | ©2020 F512 I DON’T SAY THAT OFTEN, BUT SERIOUSLY: SECURITY It’s ReallyAll About Security: Data Plane Enforcement • Service Security • Identity Management • SSL Key Management • Injection Policies • Network Security • L3/L4 Networking Control • mTLS Between Services • Access Control • Auditing/Governance • Policy and Traffic Monitoring • Zero Trust • Cluster-wide L7 Networking Policies
  • 13. | ©2020 F513 NSM Service Mesh The “Data Plane” Service Mesh CONFIDENTIAL
  • 14. | ©2020 F514 Service Mesh Product Goals NGINX Service Mesh controls communications between pods and external apps Secure Traffic End-to-end encryption (Mutual TLS / mTLS), ACLs Manage All Service Traffic Load Balance, Circuit breaker, B|G, Rate Limiting… Orchestration Injection and sidecar management, K8s API integration Measure Traffic Generate transaction traces and real-time monitoring
  • 15. | ©2020 F515 Why NGINX Service Mesh? Data Plane Matters
  • 16. | ©2020 F516 Why NGINX Service Mesh? • Complete Microservices Traffic Management and Security • E/W (sidecar) and N/S (NGINX KIC) Ingress and Egress • Security policy definition, enforcement, and governance • Turn-key and Platform Agnostic • Everything you need is included, no need to piecemeal • Run in any K8s environment, anywhere • Data Plane Matters • Brings the world’s best software reverse proxy to container traffic management
  • 17. | ©2020 F517 What is the NGINX Service Mesh? Data Plane East/West traffic Control Plane Management Plane Infrastructure Kubernetes VMware AWS Bare Metal SVC SVCSVCSVCSVC SVC Conf DbKubernetes Service Registry Inventory VMware, AWS… Inventory
  • 18. | ©2020 F518 What is the NGINX Service Mesh? Data Plane East/West traffic Control Plane Management Plane Infrastructure Kubernetes VMware AWS Bare Metal Conf DbKubernetes Service Registry Inventory VMware, AWS… Inventory SVC SVCSVCSVCSVC SVC
  • 19. | ©2020 F519 What is the NGINX Service Mesh? Data Plane East/West traffic Control Plane Management Plane Infrastructure Kubernetes VMware AWS Bare Metal NGINX Service Mesh control plane SVC SVCSVCSVCSVC SVC Topology Policies Conf DbKubernetes Service Registry Inventory VMware, AWS… InventoryCLI / API $>_
  • 20. | ©2020 F520 What is the NGINX Service Mesh? Data Plane East/West traffic Control Plane Management Plane Infrastructure Kubernetes VMware AWS Bare Metal NGINX Service Mesh control plane Topology Policies Conf DbKubernetes Service Registry Inventory VMware, AWS… Inventory SPIRE SVC SVCSVCSVCSVC SVC CLI / API $>_
  • 21. | ©2020 F521 What is the NGINX Service Mesh? Data Plane East/West traffic Control Plane Management Plane Infrastructure Kubernetes VMware AWS Bare Metal NGINX Service Mesh control plane Topology Policies Conf DbKubernetes Service Registry Inventory VMware, AWS… Inventory SPIRE Grafana OpenTracing SVC SVCSVCSVCSVC SVC CLI / API $>_
  • 22. | ©2020 F522 What is the NGINX Service Mesh? Data Plane East/West traffic Control Plane Management Plane Infrastructure Kubernetes VMware AWS Bare Metal NGINX Service Mesh control plane Topology Policies Conf DbKubernetes Service Registry Inventory VMware, AWS… Inventory SPIRE Grafana OpenTracing SVC SVCSVCSVCSVC SVC CLI / API $>_ NGINX Ingress NGINX Egress
  • 23. | ©2020 F523 What is the NGINX Service Mesh? Data Plane East/West traffic Control Plane Management Plane Infrastructure Kubernetes VMware AWS Bare Metal NGINX Service Mesh control plane Topology Policies Conf DbKubernetes Service Registry Inventory VMware, AWS… Inventory SPIRE Grafana OpenTracing NGINX Controller Centralized management Service Mesh connector Integrations SVC SVCSVCSVCSVC SVC CLI / API $>_ NGINX Ingress NGINX Egress
  • 24. | ©2020 F524 NSM Components • NSM runs within a K8s cluster • Securely manages ingress/egress traffic to external services • Can be deployed in any K8s cluster platform
  • 25. | ©2020 F525 Data PlaneControl Plane
  • 26. | ©2020 F526 NSM Demo Time! CONFIDENTIAL
  • 27. | ©2020 F527 NSM Features CONFIDENTIAL
  • 28. | ©2020 F528 Security • Zero-trust model • mTLS enforcement • Service identity • Access control CRDs • Access control via mTLS • Config validation • Single source of truth for network (K8s) and identity (Spire) • Ingress mTLS • Egress opt-in allowlist • Iptables pod firewalling SVC
  • 29. | ©2020 F529 Integrated N/S Ingress/Egress • NGINX Plus for sidecars and KIC • Ingress traffic treated as S2S service traffic • Full integration with Spire identity and SSL key store • mTLS for ingress into NSM • Egress name service support • Egress opt-in allowlist • Sidecar ”default route” to KIC
  • 30. | ©2020 F530 Traffic Management • Full support for microservice traffic models − Circuit Breaker − Blue/Green − Canary − Weighted distribution • Rate shaping and QoS/priority queueing • Container-based load balancing • Dynamic service availability • SSL keepalive for performance SVC
  • 31. | ©2020 F531 Lightweight andAgile • Data Plane Matters • Control plane designed to optimize NGINX Plus data plane • Standards-based: SPIFFE, SMI- spec • Single CLI for management of all mesh services • CI/CD pipeline’able for orchestrated deployment and policy management
  • 32. | ©2020 F532 A reality check… Service Mesh technology addresses one specific set of problems It’s not a magic bullet that makes all applications ‘better’ There are many other, well-proven ways to address the same problems Service Mesh technology is very complex ever-evolving Cost of operating a mesh in production can be high, and there can be many risks
  • 33. | ©2020 F533 WhenAm I Ready For A Service Mesh? ✓ You have a mature, fully-automated CI/CD pipeline (GitOps-enabled) ✓ You are fully invested in microservices and using Kubernetes ✓ You are deploying frequently to production (at least once per day) ✓ You have a zero-trust production environment (so need mTLS) ✓ You need/want additional visibility of container traffic interaction
  • 34. | ©2020 F534 CONFIDENTIAL Where To Start? Define Your Microservice Mesh Needs GET AHEAD OF THE NEED • Why a mesh? • What goals are you trying to solve with a mesh? • Who will own/manage the mesh? • Where will the mesh be deployed? • Decide if you want to build your own components or use a complete mesh. • Plan. Plan. Test.
  • 35. | ©2020 F535 How To Get NSM • Download − downloads.f5.com • Docs − docs.nginx.com/nginx-service-mesh • Tools/Support − github.com/nginxinc/nginx-service-mesh SVC