SlideShare a Scribd company logo
DoIT International confidential │ Do not distribute
Istio
An open-source platform to connect, manage, and secure
microservices
DoIT International confidential │ Do not distribute
DoIT International
Vadim Solovey Yoram Ben-Yaacov
DoIT International confidential │ Do not distribute
DoIT International
DoIT International confidential │ Do not distribute
DoIT International confidential │ Do not distribute
DoIT International confidential │ Do not distribute
Agenda
â—Ź Kubernetes Overview with focus on Networking
â—Ź Flannel. What. Why. How.
● What’s still missing?
â—Ź Istio Key Concepts & Architecture
â—Ź More about Istio (features, roadmap, production readiness)
DoIT International confidential │ Do not distribute
Kubernetes Overview
Docker by itself is suffice when using containers in production
â—Ź What if the application is composed of multiple containers?
â—Ź What if you feel that putting all your containers on the same host sucks?
â—Ź What about deploying a new version of your application without service interruption?
â—Ź What about container failure management?
DoIT International confidential │ Do not distribute
Kubernetes Overview
Cluster control plane (AKA master)
â—Ź API Server
â—Ź Cluster state store
â—Ź Controller-Manager Server
â—Ź Scheduler
The Kubernetes Node
â—Ź Kubelet
â—Ź Container runtime
â—Ź Kube Proxy
Add-ons and other dependencies
â—Ź DNS
â—Ź Ingress controller
â—Ź Heapster (resource monitoring)
â—Ź Dashboard (GUI)
Federation
Kubernetes == container cluster management tool
DoIT International confidential │ Do not distribute
Kubernetes Networking
Little reminder on the Kubernetes networking concepts:
â—Ź All containers can communicate with all other containers without NAT
â—Ź All nodes can communicate with all containers (and vice-versa) without NAT
â—Ź The IP that a container sees itself as is the same IP that others see it as
You can’t just take two computers running Docker and expect Kubernetes
to work...
DoIT International confidential │ Do not distribute
Kubernetes Networking
There are many different networking options that offer these capabilities for
Kubernetes:
â—Ź Contiv
â—Ź Flannel
â—Ź Nuage Networks
â—Ź OpenVSwitch
â—Ź OVN
â—Ź Project Calico
â—Ź Romana
â—Ź Weave Net
DoIT International confidential │ Do not distribute
Flannel
DoIT International confidential │ Do not distribute
What's the problem is dude?
DoIT International confidential │ Do not distribute
What's the problem is dude?
â—Ź Well, now we have mash of services that can speak with each other without
any control…
â—Ź The way that microservices interact with each other at runtime needs to be:
â—‹ Monitored
â—‹ Managed
â—‹ Controlled
DoIT International confidential │ Do not distribute
Isti WHAT?
Istio is “an open platform to connect, manage, and secure microservices”
â—Ź An easy way to create a network of deployed services with:
â—‹ Load balancing
â—‹ Service-to-service authentication
â—‹ Monitoring
â—‹ and more
â—Ź No change in service code is require.
DoIT International confidential │ Do not distribute
Isti WHAT?
Kubernetes → Greek for "helmsman of a ship"
Istio → Greek word for 'sail'
DoIT International confidential │ Do not distribute
Istio's Key Capabilities
â—Ź Traffic Management:
â—‹ Control the flow of traffic and API calls between services
â—Ź Observability:
â—‹ Dependencies between services
â—‹ Nature and flow of traffic between services
DoIT International confidential │ Do not distribute
Istio's Key Capabilities
â—Ź Policy Enforcement:
â—‹ Apply organizational policy to the interaction between services
â—‹ Ensure access policies are enforced
â—‹ Ensure resources are fairly distributed among consumers
â—‹ Policy changes made by configuring the mesh, not by changing
application code
â—Ź Service Identity and Security:
â—‹ Provide services in the mesh with a verifiable identity
â—‹ Protect service traffic
DoIT International confidential │ Do not distribute
Istio's Key Capabilities
â—Ź Platform Support:
â—‹ Designed to run in a variety of environments
â–  Ones that span Cloud
â–  On-premise
â–  Kubernetes
â–  Mesos
â–  etc.
â—Ź Integration and Customization:
â—‹ Integrate with existing solutions for ACLs, logging, monitoring, quotas,
auditing and more
DoIT International confidential │ Do not distribute
Istio’s Architecture
An Istio service mesh is logically split into a data plane and a control plane
â—Ź Data plane: Set of intelligent proxies (Envoy)
â—Ź Control plane: Managing and configuring proxies to route traffic, as well as
enforcing policies at runtime
DoIT International confidential │ Do not distribute
Istio’s Architecture
DoIT International confidential │ Do not distribute
Istio’s Architecture - Envoy
â—Ź Extended version of the Envoy proxy
â—Ź A high-performance proxy developed in C++
â—Ź Mediate all inbound and outbound traffic
â—Ź Deployed as a sidecar to the relevant service
â—Ź Allows to add Istio capabilities to an existing deployment with no need to re-
architect or rewrite code
DoIT International confidential │ Do not distribute
Istio’s Architecture - Envoy
Istio leverages Envoy’s many built-in features such as:
â—Ź Dynamic service discovery
â—Ź Load balancing
â—Ź TLS termination
â—Ź HTTP/2
â—Ź gRPC proxying
â—Ź Circuit breakers
â—Ź Health checks
â—Ź Staged rollouts with %-based traffic split
â—Ź Fault injection
â—Ź Rich metrics
DoIT International confidential │ Do not distribute
Istio’s Architecture - Mixer
â—Ź A generic intermediation layer between application code and
infrastructure backends
â—Ź Moves policy decisions out of the app layer and into configuration
â—Ź The app code does a fairly simple integration with Mixer
DoIT International confidential │ Do not distribute
Istio’s Architecture - Mixer
â—Ź Responsible for:
â—‹ Enforcing access control and usage policies
â—‹ Collecting telemetry data
â—Ź Extracts request level attributes
â—Ź Includes a flexible plugin model to interface with a variety of host
environments and infrastructure backends
DoIT International confidential │ Do not distribute
Istio’s Architecture - Mixer
Mixer Adapters:
DoIT International confidential │ Do not distribute
Istio’s Architecture - Pilot
â—Ź The core component used for traffic management in Istio is Pilot
â—Ź Specify rules to route traffic between Envoy proxies
â—Ź Specify failure recovery features such as timeouts, retries, and circuit
breakers
â—Ź Maintains a canonical model of all the services in the mesh
DoIT International confidential │ Do not distribute
Istio’s Architecture - Pilot
â—Ź Collecting and validating configuration and propagating it to the various Istio
components
â—Ź Abstracts environment-specific implementation details from Mixer and
Envoy
â—Ź Traffic management rules (i.e. generic layer-4 rules and layer-7 HTTP/gRPC
routing rules) can be programmed at runtime via Pilot
DoIT International confidential │ Do not distribute
Istio’s Architecture - Pilot
DoIT International confidential │ Do not distribute
Istio’s Architecture - Istio-Auth
â—Ź Provides strong service-to-service and end-user authentication using mutual
TLS
â—Ź Can be used to upgrade unencrypted traffic in the service mesh
â—Ź Provides the ability to enforce policy based on service identity rather than
network controls
â—Ź Future releases of Istio will add:
â—‹ Fine-grained access control
â—‹ Auditing to control and monitor
DoIT International confidential │ Do not distribute
Benefits of Istio
Fleet-wide Visibility:
â—Ź Produces detailed monitoring data about application and network behaviors
â—Ź Rendered using Prometheus & Grafana
â—Ź Can be easily extended to send metrics and logs to any collection,
aggregation and querying system
â—Ź Enables analysis of performance hotspots and diagnosis of distributed
failure modes with Zipkin tracing
DoIT International confidential │ Do not distribute
Benefits of Istio
Resiliency and efficiency:
â—Ź Operators need to assume that the network will be unreliable
â—Ź Operators can use retries, load balancing, flow-control (HTTP/2), and circuit-
breaking to compensate
â—Ź Istio provides a uniform approach to configuring these features, making it
easier to operate a highly resilient service mesh
DoIT International confidential │ Do not distribute
Benefits of Istio
Developer productivity:
â—Ź Developer can focus on building service features in their language of choice,
while Istio handles resiliency and networking challenges
â—Ź Developers are freed from having to bake solutions to distributed systems
problems into their code
â—Ź Improves productivity by providing common functionality supporting A/B
testing, canarying, and fault injection
DoIT International confidential │ Do not distribute
Benefits of Istio
Policy Driven Ops:
â—Ź Decouples cluster operators from the feature development cycle
â—Ź Allowing improvements to security, monitoring, scaling, and service topology
to be rolled out without code changes
â—Ź Operators can route a precise subset of production traffic to qualify a new
service release
DoIT International confidential │ Do not distribute
Benefits of Istio
Policy Driven Ops:
â—Ź Can inject failures or delays into traffic to test the resilience of the service
mesh
â—Ź Set up rate limits to prevent services from being overloaded
â—Ź Can be used to enforce compliance rules, defining ACLs between services
DoIT International confidential │ Do not distribute
Benefits of Istio
Secure by default:
It is a common fallacy of distributed computing that the network is secure
â—Ź Enables operators to authenticate and secure all communication between
services using a mutual TLS connection
â—Ź Aligned with the emerging SPIFFE specification
â—Ź Based on similar systems that have been tested extensively inside Google
DoIT International confidential │ Do not distribute
Benefits of Istio
Incremental Adoption:
â—Ź Designed to be completely transparent to the services running in the mesh
â—Ź Allowing teams to incrementally adopt features of Istio over time
DoIT International confidential │ Do not distribute
Key Concepts in Istio - Traffic Management
Each Envoy instance maintains:
â—Ź Load balancing information based on the information it gets from Pilot
â—Ź Periodic health-checks of other instances
DoIT International confidential │ Do not distribute
Key Concepts in Istio - Traffic Management Benefits
DoIT International confidential │ Do not distribute
Key Concepts in Istio - Traffic Management
Communication between services:
â—Ź Clients of a service have no knowledge of
different versions of the service
â—Ź Envoy determines its actual choice of
service version dynamically based on the
routing rules specified by the operator
using Pilot
DoIT International confidential │ Do not distribute
Key Concepts in Istio - Traffic Management
Ingress and Egress Envoys:
â—Ź Istio assumes that all traffic entering and leaving the service mesh transits
through Envoy proxies.
â—Ź For user-facing services operators can:
â—‹ conduct A/B testing
â—‹ Deploy canary services
â—‹ Etc...
â—Ź By routing traffic to external web services via Envoy, operators can add
failure recovery features such as circuit breakers, impose rate limits via
Mixer, and provide authentication using Istio-Auth
DoIT International confidential │ Do not distribute
Key Concepts in Istio - Traffic Management
DoIT International confidential │ Do not distribute
Key Concepts in Istio - Traffic Management
Handling Failures:
Provides a set of out-of-the-box opt-in failure recovery features
Features include:
â—Ź Timeouts
â—Ź Retries with timeout budgets and variable jitter between retries
â—Ź Limits on number of concurrent connections and requests to upstream services
â—Ź Active health checks on each member of the load balancing pool
● Fine-grained circuit breakers (passive health checks) – applied per instance in the load balancing
pool
DoIT International confidential │ Do not distribute
Key Concepts in Istio - Traffic Management
Fault Injection:
â—Ź Protocol-specific fault injection into the network
â—Ź Faults can be injected into requests that match specific criteria
â—Ź Restriction of the % of requests that should be subjected to faults
â—Ź Two types of faults can be injected:
â—‹ Delays: Timing failures, mimicking increased network latency, or an overloaded upstream
service
â—‹ Aborts: Crash failures that mimic failures in upstream services. Usually manifest in the form
of HTTP error codes, or TCP connection failures.
DoIT International confidential │ Do not distribute
Key Concepts in Istio - Traffic Management
Rules Configuration:
â—Ź Simple Domain-specific language (DSL)
â—Ź The DSL allows the operator to configure service-level properties such as:
â—Ź Routes
â—Ź Circuit breakers
â—Ź Timeouts
â—Ź Retries
â—Ź Injecting faults in the request path
â—Ź Set up common continuous deployment tasks such as:
â—‹ Canary rollouts
â—‹ A/B testing
â—‹ Staged rollouts with %-based traffic splits
â—‹ Etc.
DoIT International confidential │ Do not distributeDoIT International confidential │ Do not distribute
Demo Time!
Vadim Solovey
DoIT International confidential │ Do not distribute
Meet the Bookshelf App
DoIT International confidential │ Do not distribute
Istio’ized Bookshelf
DoIT International confidential │ Do not distributeDoIT International confidential │ Do not distribute
Thank you!
Vadim Solovey Yoram Ben
Yaacov
DoIT International confidential │ Do not distribute
Istio vs Linkerd
Istio linkerd
Maturity < 1y >2y
Deployment Transparent proxy sidecar Standalone RPC routing proxy
Programming languages C++ Scala/JVM
Memory and CPU Low Significantly higher than Envoy’s
Configuration language Extensive Minimalist
Host-to-Host authentication using Kubernetes Supported Not supported
API-driven routing Supported Not supported
Hot reloads Supported Not supported explicitly
External registries (E.g. Consul) Not supported Supported
Tracing sprinkles Not supported Supported
DoIT International confidential │ Do not distributeDoIT International confidential │ Do not distribute
Thank you (again…)!
Vadim Solovey Yoram Ben
Yaacov

More Related Content

What's hot (20)

PDF
Istio on Kubernetes
Daneyon Hansen
 
ODP
Istio
Arun prasath
 
PPTX
Istio - A Service Mesh for Microservices as Scale
Ram Vennam
 
PDF
Istio presentation jhug
Georgios Andrianakis
 
PDF
2017 Microservices Practitioner Virtual Summit: The Mechanics of Deploying En...
Ambassador Labs
 
PDF
KubeCon NA 2017: Ambassador and Envoy (Envoy Salon)
Ambassador Labs
 
PDF
Istio Triangle Kubernetes Meetup Aug 2019
Ram Vennam
 
PDF
Microservices with Spring Cloud and Netflix OSS
Denis Danov
 
PDF
Microservice API Gateways with NGINX
Geoffrey Filippi
 
PDF
Don't Assume Your API Gateway is Ready for Microservices
Ambassador Labs
 
PDF
Istio Playground
QAware GmbH
 
PDF
Putting microservices on a diet with Istio
QAware GmbH
 
PDF
Kong API
Patrick Pierson
 
PDF
API Gateway study
Rafael Gonzaga
 
PPTX
Istio a service mesh
Chandresh Pancholi
 
PDF
From zero to hero with Kubernetes and Istio
Sergii Bishyr
 
PDF
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Ambassador Labs
 
PPTX
Using an API Gateway for Microservices
NGINX, Inc.
 
PDF
2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...
Ambassador Labs
 
PDF
Istio: Using nginMesh as the service proxy
Lee Calcote
 
Istio on Kubernetes
Daneyon Hansen
 
Istio
Arun prasath
 
Istio - A Service Mesh for Microservices as Scale
Ram Vennam
 
Istio presentation jhug
Georgios Andrianakis
 
2017 Microservices Practitioner Virtual Summit: The Mechanics of Deploying En...
Ambassador Labs
 
KubeCon NA 2017: Ambassador and Envoy (Envoy Salon)
Ambassador Labs
 
Istio Triangle Kubernetes Meetup Aug 2019
Ram Vennam
 
Microservices with Spring Cloud and Netflix OSS
Denis Danov
 
Microservice API Gateways with NGINX
Geoffrey Filippi
 
Don't Assume Your API Gateway is Ready for Microservices
Ambassador Labs
 
Istio Playground
QAware GmbH
 
Putting microservices on a diet with Istio
QAware GmbH
 
Kong API
Patrick Pierson
 
API Gateway study
Rafael Gonzaga
 
Istio a service mesh
Chandresh Pancholi
 
From zero to hero with Kubernetes and Istio
Sergii Bishyr
 
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Ambassador Labs
 
Using an API Gateway for Microservices
NGINX, Inc.
 
2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...
Ambassador Labs
 
Istio: Using nginMesh as the service proxy
Lee Calcote
 

Similar to An Open-Source Platform to Connect, Manage, and Secure Microservices (20)

PDF
Istio and Kubernetes Relationship
Knoldus Inc.
 
PDF
Stop reinventing the wheel with Istio by Mete Atamel (Google)
Codemotion
 
PDF
Istio
Diego Pacheco
 
PDF
Managing Microservices With The Istio Service Mesh on Kubernetes
Iftach Schonbaum
 
PDF
Service Mesh For Beginner
Mien Dinh
 
PPTX
Connecting All Abstractions with Istio
VMware Tanzu
 
PDF
Securing Microservices with Istio
Daniel Berg
 
PDF
Introduction to Istio Service Mesh
Georgios Andrianakis
 
PPTX
ISTIO Deep Dive
Yong Feng
 
PPTX
Microservices With Istio Service Mesh
Natanael Fonseca
 
PPTX
Introduction to Istio for APIs and Microservices meetup
Daniel Ciruli
 
PDF
21st Docker Switzerland Meetup - ISTIO
Niklaus Hirt
 
PPTX
Istio Security Overview
Michael Furman
 
PDF
Api observability
Red Hat
 
PDF
Istio service mesh: past, present, future (TLV meetup)
elevran
 
PDF
Managing microservices with Istio Service Mesh
Rafik HARABI
 
PDF
Service Mesh in Practice
Ballerina
 
PDF
Open Source Networking Days- Service Mesh
CloudOps2005
 
PDF
Introduction to Istio on Kubernetes
Jonh Wendell
 
PDF
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
CodeOps Technologies LLP
 
Istio and Kubernetes Relationship
Knoldus Inc.
 
Stop reinventing the wheel with Istio by Mete Atamel (Google)
Codemotion
 
Istio
Diego Pacheco
 
Managing Microservices With The Istio Service Mesh on Kubernetes
Iftach Schonbaum
 
Service Mesh For Beginner
Mien Dinh
 
Connecting All Abstractions with Istio
VMware Tanzu
 
Securing Microservices with Istio
Daniel Berg
 
Introduction to Istio Service Mesh
Georgios Andrianakis
 
ISTIO Deep Dive
Yong Feng
 
Microservices With Istio Service Mesh
Natanael Fonseca
 
Introduction to Istio for APIs and Microservices meetup
Daniel Ciruli
 
21st Docker Switzerland Meetup - ISTIO
Niklaus Hirt
 
Istio Security Overview
Michael Furman
 
Api observability
Red Hat
 
Istio service mesh: past, present, future (TLV meetup)
elevran
 
Managing microservices with Istio Service Mesh
Rafik HARABI
 
Service Mesh in Practice
Ballerina
 
Open Source Networking Days- Service Mesh
CloudOps2005
 
Introduction to Istio on Kubernetes
Jonh Wendell
 
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
CodeOps Technologies LLP
 
Ad

More from DoiT International (19)

PPTX
Terraform Modules Restructured
DoiT International
 
PPTX
GAN training with Tensorflow and Tensor Cores
DoiT International
 
PDF
Orchestrating Redis & K8s Operators
DoiT International
 
PPTX
K8s best practices from the field!
DoiT International
 
PDF
Is your Elastic Cluster Stable and Production Ready?
DoiT International
 
PPTX
Applying ML for Log Analysis
DoiT International
 
PPTX
GCP for AWS Professionals
DoiT International
 
PPTX
Cloud Dataflow - A Unified Model for Batch and Streaming Data Processing
DoiT International
 
PPTX
AWS Cyber Security Best Practices
DoiT International
 
PPTX
Google Cloud Spanner Preview
DoiT International
 
PPTX
Amazon Athena Hands-On Workshop
DoiT International
 
PDF
AWS Athena vs. Google BigQuery for interactive SQL Queries
DoiT International
 
PPTX
Google BigQuery 101 & What’s New
DoiT International
 
PDF
Running Production-Grade Kubernetes on AWS
DoiT International
 
PPTX
Scaling Jenkins with Kubernetes by Ami Mahloof
DoiT International
 
PPTX
CI Implementation with Kubernetes at LivePerson by Saar Demri
DoiT International
 
PPTX
Kubernetes @ Nanit by Chen Fisher
DoiT International
 
PDF
Dataflow - A Unified Model for Batch and Streaming Data Processing
DoiT International
 
PPTX
Kubernetes - State of the Union (Q1-2016)
DoiT International
 
Terraform Modules Restructured
DoiT International
 
GAN training with Tensorflow and Tensor Cores
DoiT International
 
Orchestrating Redis & K8s Operators
DoiT International
 
K8s best practices from the field!
DoiT International
 
Is your Elastic Cluster Stable and Production Ready?
DoiT International
 
Applying ML for Log Analysis
DoiT International
 
GCP for AWS Professionals
DoiT International
 
Cloud Dataflow - A Unified Model for Batch and Streaming Data Processing
DoiT International
 
AWS Cyber Security Best Practices
DoiT International
 
Google Cloud Spanner Preview
DoiT International
 
Amazon Athena Hands-On Workshop
DoiT International
 
AWS Athena vs. Google BigQuery for interactive SQL Queries
DoiT International
 
Google BigQuery 101 & What’s New
DoiT International
 
Running Production-Grade Kubernetes on AWS
DoiT International
 
Scaling Jenkins with Kubernetes by Ami Mahloof
DoiT International
 
CI Implementation with Kubernetes at LivePerson by Saar Demri
DoiT International
 
Kubernetes @ Nanit by Chen Fisher
DoiT International
 
Dataflow - A Unified Model for Batch and Streaming Data Processing
DoiT International
 
Kubernetes - State of the Union (Q1-2016)
DoiT International
 
Ad

Recently uploaded (20)

PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 

An Open-Source Platform to Connect, Manage, and Secure Microservices

  • 1. DoIT International confidential │ Do not distribute Istio An open-source platform to connect, manage, and secure microservices
  • 2. DoIT International confidential │ Do not distribute DoIT International Vadim Solovey Yoram Ben-Yaacov
  • 3. DoIT International confidential │ Do not distribute DoIT International
  • 4. DoIT International confidential │ Do not distribute
  • 5. DoIT International confidential │ Do not distribute
  • 6. DoIT International confidential │ Do not distribute Agenda â—Ź Kubernetes Overview with focus on Networking â—Ź Flannel. What. Why. How. â—Ź What’s still missing? â—Ź Istio Key Concepts & Architecture â—Ź More about Istio (features, roadmap, production readiness)
  • 7. DoIT International confidential │ Do not distribute Kubernetes Overview Docker by itself is suffice when using containers in production â—Ź What if the application is composed of multiple containers? â—Ź What if you feel that putting all your containers on the same host sucks? â—Ź What about deploying a new version of your application without service interruption? â—Ź What about container failure management?
  • 8. DoIT International confidential │ Do not distribute Kubernetes Overview Cluster control plane (AKA master) â—Ź API Server â—Ź Cluster state store â—Ź Controller-Manager Server â—Ź Scheduler The Kubernetes Node â—Ź Kubelet â—Ź Container runtime â—Ź Kube Proxy Add-ons and other dependencies â—Ź DNS â—Ź Ingress controller â—Ź Heapster (resource monitoring) â—Ź Dashboard (GUI) Federation Kubernetes == container cluster management tool
  • 9. DoIT International confidential │ Do not distribute Kubernetes Networking Little reminder on the Kubernetes networking concepts: â—Ź All containers can communicate with all other containers without NAT â—Ź All nodes can communicate with all containers (and vice-versa) without NAT â—Ź The IP that a container sees itself as is the same IP that others see it as You can’t just take two computers running Docker and expect Kubernetes to work...
  • 10. DoIT International confidential │ Do not distribute Kubernetes Networking There are many different networking options that offer these capabilities for Kubernetes: â—Ź Contiv â—Ź Flannel â—Ź Nuage Networks â—Ź OpenVSwitch â—Ź OVN â—Ź Project Calico â—Ź Romana â—Ź Weave Net
  • 11. DoIT International confidential │ Do not distribute Flannel
  • 12. DoIT International confidential │ Do not distribute What's the problem is dude?
  • 13. DoIT International confidential │ Do not distribute What's the problem is dude? â—Ź Well, now we have mash of services that can speak with each other without any control… â—Ź The way that microservices interact with each other at runtime needs to be: â—‹ Monitored â—‹ Managed â—‹ Controlled
  • 14. DoIT International confidential │ Do not distribute Isti WHAT? Istio is “an open platform to connect, manage, and secure microservices” â—Ź An easy way to create a network of deployed services with: â—‹ Load balancing â—‹ Service-to-service authentication â—‹ Monitoring â—‹ and more â—Ź No change in service code is require.
  • 15. DoIT International confidential │ Do not distribute Isti WHAT? Kubernetes → Greek for "helmsman of a ship" Istio → Greek word for 'sail'
  • 16. DoIT International confidential │ Do not distribute Istio's Key Capabilities â—Ź Traffic Management: â—‹ Control the flow of traffic and API calls between services â—Ź Observability: â—‹ Dependencies between services â—‹ Nature and flow of traffic between services
  • 17. DoIT International confidential │ Do not distribute Istio's Key Capabilities â—Ź Policy Enforcement: â—‹ Apply organizational policy to the interaction between services â—‹ Ensure access policies are enforced â—‹ Ensure resources are fairly distributed among consumers â—‹ Policy changes made by configuring the mesh, not by changing application code â—Ź Service Identity and Security: â—‹ Provide services in the mesh with a verifiable identity â—‹ Protect service traffic
  • 18. DoIT International confidential │ Do not distribute Istio's Key Capabilities â—Ź Platform Support: â—‹ Designed to run in a variety of environments â–  Ones that span Cloud â–  On-premise â–  Kubernetes â–  Mesos â–  etc. â—Ź Integration and Customization: â—‹ Integrate with existing solutions for ACLs, logging, monitoring, quotas, auditing and more
  • 19. DoIT International confidential │ Do not distribute Istio’s Architecture An Istio service mesh is logically split into a data plane and a control plane â—Ź Data plane: Set of intelligent proxies (Envoy) â—Ź Control plane: Managing and configuring proxies to route traffic, as well as enforcing policies at runtime
  • 20. DoIT International confidential │ Do not distribute Istio’s Architecture
  • 21. DoIT International confidential │ Do not distribute Istio’s Architecture - Envoy â—Ź Extended version of the Envoy proxy â—Ź A high-performance proxy developed in C++ â—Ź Mediate all inbound and outbound traffic â—Ź Deployed as a sidecar to the relevant service â—Ź Allows to add Istio capabilities to an existing deployment with no need to re- architect or rewrite code
  • 22. DoIT International confidential │ Do not distribute Istio’s Architecture - Envoy Istio leverages Envoy’s many built-in features such as: â—Ź Dynamic service discovery â—Ź Load balancing â—Ź TLS termination â—Ź HTTP/2 â—Ź gRPC proxying â—Ź Circuit breakers â—Ź Health checks â—Ź Staged rollouts with %-based traffic split â—Ź Fault injection â—Ź Rich metrics
  • 23. DoIT International confidential │ Do not distribute Istio’s Architecture - Mixer â—Ź A generic intermediation layer between application code and infrastructure backends â—Ź Moves policy decisions out of the app layer and into configuration â—Ź The app code does a fairly simple integration with Mixer
  • 24. DoIT International confidential │ Do not distribute Istio’s Architecture - Mixer â—Ź Responsible for: â—‹ Enforcing access control and usage policies â—‹ Collecting telemetry data â—Ź Extracts request level attributes â—Ź Includes a flexible plugin model to interface with a variety of host environments and infrastructure backends
  • 25. DoIT International confidential │ Do not distribute Istio’s Architecture - Mixer Mixer Adapters:
  • 26. DoIT International confidential │ Do not distribute Istio’s Architecture - Pilot â—Ź The core component used for traffic management in Istio is Pilot â—Ź Specify rules to route traffic between Envoy proxies â—Ź Specify failure recovery features such as timeouts, retries, and circuit breakers â—Ź Maintains a canonical model of all the services in the mesh
  • 27. DoIT International confidential │ Do not distribute Istio’s Architecture - Pilot â—Ź Collecting and validating configuration and propagating it to the various Istio components â—Ź Abstracts environment-specific implementation details from Mixer and Envoy â—Ź Traffic management rules (i.e. generic layer-4 rules and layer-7 HTTP/gRPC routing rules) can be programmed at runtime via Pilot
  • 28. DoIT International confidential │ Do not distribute Istio’s Architecture - Pilot
  • 29. DoIT International confidential │ Do not distribute Istio’s Architecture - Istio-Auth â—Ź Provides strong service-to-service and end-user authentication using mutual TLS â—Ź Can be used to upgrade unencrypted traffic in the service mesh â—Ź Provides the ability to enforce policy based on service identity rather than network controls â—Ź Future releases of Istio will add: â—‹ Fine-grained access control â—‹ Auditing to control and monitor
  • 30. DoIT International confidential │ Do not distribute Benefits of Istio Fleet-wide Visibility: â—Ź Produces detailed monitoring data about application and network behaviors â—Ź Rendered using Prometheus & Grafana â—Ź Can be easily extended to send metrics and logs to any collection, aggregation and querying system â—Ź Enables analysis of performance hotspots and diagnosis of distributed failure modes with Zipkin tracing
  • 31. DoIT International confidential │ Do not distribute Benefits of Istio Resiliency and efficiency: â—Ź Operators need to assume that the network will be unreliable â—Ź Operators can use retries, load balancing, flow-control (HTTP/2), and circuit- breaking to compensate â—Ź Istio provides a uniform approach to configuring these features, making it easier to operate a highly resilient service mesh
  • 32. DoIT International confidential │ Do not distribute Benefits of Istio Developer productivity: â—Ź Developer can focus on building service features in their language of choice, while Istio handles resiliency and networking challenges â—Ź Developers are freed from having to bake solutions to distributed systems problems into their code â—Ź Improves productivity by providing common functionality supporting A/B testing, canarying, and fault injection
  • 33. DoIT International confidential │ Do not distribute Benefits of Istio Policy Driven Ops: â—Ź Decouples cluster operators from the feature development cycle â—Ź Allowing improvements to security, monitoring, scaling, and service topology to be rolled out without code changes â—Ź Operators can route a precise subset of production traffic to qualify a new service release
  • 34. DoIT International confidential │ Do not distribute Benefits of Istio Policy Driven Ops: â—Ź Can inject failures or delays into traffic to test the resilience of the service mesh â—Ź Set up rate limits to prevent services from being overloaded â—Ź Can be used to enforce compliance rules, defining ACLs between services
  • 35. DoIT International confidential │ Do not distribute Benefits of Istio Secure by default: It is a common fallacy of distributed computing that the network is secure â—Ź Enables operators to authenticate and secure all communication between services using a mutual TLS connection â—Ź Aligned with the emerging SPIFFE specification â—Ź Based on similar systems that have been tested extensively inside Google
  • 36. DoIT International confidential │ Do not distribute Benefits of Istio Incremental Adoption: â—Ź Designed to be completely transparent to the services running in the mesh â—Ź Allowing teams to incrementally adopt features of Istio over time
  • 37. DoIT International confidential │ Do not distribute Key Concepts in Istio - Traffic Management Each Envoy instance maintains: â—Ź Load balancing information based on the information it gets from Pilot â—Ź Periodic health-checks of other instances
  • 38. DoIT International confidential │ Do not distribute Key Concepts in Istio - Traffic Management Benefits
  • 39. DoIT International confidential │ Do not distribute Key Concepts in Istio - Traffic Management Communication between services: â—Ź Clients of a service have no knowledge of different versions of the service â—Ź Envoy determines its actual choice of service version dynamically based on the routing rules specified by the operator using Pilot
  • 40. DoIT International confidential │ Do not distribute Key Concepts in Istio - Traffic Management Ingress and Egress Envoys: â—Ź Istio assumes that all traffic entering and leaving the service mesh transits through Envoy proxies. â—Ź For user-facing services operators can: â—‹ conduct A/B testing â—‹ Deploy canary services â—‹ Etc... â—Ź By routing traffic to external web services via Envoy, operators can add failure recovery features such as circuit breakers, impose rate limits via Mixer, and provide authentication using Istio-Auth
  • 41. DoIT International confidential │ Do not distribute Key Concepts in Istio - Traffic Management
  • 42. DoIT International confidential │ Do not distribute Key Concepts in Istio - Traffic Management Handling Failures: Provides a set of out-of-the-box opt-in failure recovery features Features include: â—Ź Timeouts â—Ź Retries with timeout budgets and variable jitter between retries â—Ź Limits on number of concurrent connections and requests to upstream services â—Ź Active health checks on each member of the load balancing pool â—Ź Fine-grained circuit breakers (passive health checks) – applied per instance in the load balancing pool
  • 43. DoIT International confidential │ Do not distribute Key Concepts in Istio - Traffic Management Fault Injection: â—Ź Protocol-specific fault injection into the network â—Ź Faults can be injected into requests that match specific criteria â—Ź Restriction of the % of requests that should be subjected to faults â—Ź Two types of faults can be injected: â—‹ Delays: Timing failures, mimicking increased network latency, or an overloaded upstream service â—‹ Aborts: Crash failures that mimic failures in upstream services. Usually manifest in the form of HTTP error codes, or TCP connection failures.
  • 44. DoIT International confidential │ Do not distribute Key Concepts in Istio - Traffic Management Rules Configuration: â—Ź Simple Domain-specific language (DSL) â—Ź The DSL allows the operator to configure service-level properties such as: â—Ź Routes â—Ź Circuit breakers â—Ź Timeouts â—Ź Retries â—Ź Injecting faults in the request path â—Ź Set up common continuous deployment tasks such as: â—‹ Canary rollouts â—‹ A/B testing â—‹ Staged rollouts with %-based traffic splits â—‹ Etc.
  • 45. DoIT International confidential │ Do not distributeDoIT International confidential │ Do not distribute Demo Time! Vadim Solovey
  • 46. DoIT International confidential │ Do not distribute Meet the Bookshelf App
  • 47. DoIT International confidential │ Do not distribute Istio’ized Bookshelf
  • 48. DoIT International confidential │ Do not distributeDoIT International confidential │ Do not distribute Thank you! Vadim Solovey Yoram Ben Yaacov
  • 49. DoIT International confidential │ Do not distribute Istio vs Linkerd Istio linkerd Maturity < 1y >2y Deployment Transparent proxy sidecar Standalone RPC routing proxy Programming languages C++ Scala/JVM Memory and CPU Low Significantly higher than Envoy’s Configuration language Extensive Minimalist Host-to-Host authentication using Kubernetes Supported Not supported API-driven routing Supported Not supported Hot reloads Supported Not supported explicitly External registries (E.g. Consul) Not supported Supported Tracing sprinkles Not supported Supported
  • 50. DoIT International confidential │ Do not distributeDoIT International confidential │ Do not distribute Thank you (again…)! Vadim Solovey Yoram Ben Yaacov

Editor's Notes

  • #12: Flannel allows inter-pod communication between different hosts by providing an overlay software-defined network (SDN). This solves the main issue we had the Docker networking model. As I said before, when using Docker, each container has an IP address that allows it to communicate with other containers on the same host. When pods are placed in different hosts, they rely on their host IP address. Therefore, communication between them is possible by port-mapping. This is fine at a container-level, but applications running inside these containers can have a hard time if they need to advertise their external IP and port to everyone else. Flannel helps by giving each host a different IP subnet range. The Docker daemon will then assign IPs from this range to containers. Then containers can talk to each user using these unique IP addresses by means of packet encapsulation. Imagine that you have two containers, Container A and Container B. Container A is placed on Host Machine A, and Container B is placed on Host Machine B. When Container A wants to talk to Container B, it will use container B’s IP address as the destination address of his packet. This packet will then be encapsulated with an outer UDP packet between Host Machine A and Host Machine B, which will be sent by Host Machine A, and that will have Host Machine B’s IP address as the destination address. Once the packet arrives to Host Machine B, the encapsulation is removed and the packet is routed to the container using the inner IP address. The flannel configuration regarding the container/Host Machine mapping is stored in etcd. The routing is done by a flannel daemon called flanneld.
  • #13: Managing this runtime behavior is important because, while we have tools like Docker and Kubernetes to manage deployment and execution of service code, that’s not enough to make applications resilient and manageable. The way that microservices interact with each other at runtime—how traffic load flows through the system—needs to be monitored, managed, and controlled.
  • #14: Managing this runtime behavior is important because, while we have tools like Docker and Kubernetes to manage deployment and execution of service code, that’s not enough to make applications resilient and manageable. The way that microservices interact with each other at runtime—how traffic load flows through the system—needs to be monitored, managed, and controlled.
  • #15: Istio is described as: “an open platform to connect, manage, and secure microservices. Istio provides an easy way to create a network of deployed services with load balancing, service-to-service authentication, monitoring, and more, without requiring any changes in service code. You add Istio support to services by deploying a special sidecar proxy throughout your environment that intercepts all network communication between microservices, configured and managed using Istio’s control plane functionality”
  • #16: Istio is described as: “an open platform to connect, manage, and secure microservices. Istio provides an easy way to create a network of deployed services with load balancing, service-to-service authentication, monitoring, and more, without requiring any changes in service code. You add Istio support to services by deploying a special sidecar proxy throughout your environment that intercepts all network communication between microservices, configured and managed using Istio’s control plane functionality”
  • #26: Mixer is a highly modular and extensible component. One of it’s key functions is to abstract away the details of different policy and telemetry backend systems, allowing Envoy and Istio-based services to be agnostic of those backends, which keeps them portable. Mixer’s flexibility in dealing with different infrastructure backends is achieved by having a general-purpose plug-in model. Individual plug-ins are known as adapters and they allow Mixer to interface to different infrastructure backends that deliver core functionality, such as logging, monitoring, quotas, ACL checking, and more. Adapters enable Mixer to expose a single consistent API, independent of the backends in use. The exact set of adapters used at runtime is determined through configuration and can easily be extended to target new or custom infrastructure backends.
  • #27: Traffic Management: The core component used for traffic management in Istio is Pilot, which manages and configures all the Envoy proxy instances deployed in a particular Istio service mesh. It lets you specify what rules you want to use to route traffic between Envoy proxies and configure failure recovery features such as timeouts, retries, and circuit breakers. It also maintains a canonical model of all the services in the mesh and uses this to let Envoys know about the other instances in the mesh via its discovery service. Each Envoy instance maintains load balancing information based on the information it gets from Pilot and periodic health-checks of other instances in its load-balancing pool, allowing it to intelligently distribute traffic between destination instances while following its specified routing rules.
  • #28: Pilot is responsible for collecting and validating configuration and propagating it to the various Istio components. It abstracts environment-specific implementation details from Mixer and Envoy, providing them with an abstract representation of the user’s services that is independent of the underlying platform. In addition, traffic management rules (i.e. generic layer-4 rules and layer-7 HTTP/gRPC routing rules) can be programmed at runtime via Pilot.
  • #31: Failures happen, and operators need tools to stay on top of the health of clusters and their graphs of microservices.
  • #36: https://github.com/spiffe/svid/blob/master/SPECIFICATION.md
  • #38: Traffic Management: The core component used for traffic management in Istio is Pilot, which manages and configures all the Envoy proxy instances deployed in a particular Istio service mesh. It lets you specify what rules you want to use to route traffic between Envoy proxies and configure failure recovery features such as timeouts, retries, and circuit breakers. It also maintains a canonical model of all the services in the mesh and uses this to let Envoys know about the other instances in the mesh via its discovery service. Each Envoy instance maintains load balancing information based on the information it gets from Pilot and periodic health-checks of other instances in its load-balancing pool, allowing it to intelligently distribute traffic between destination instances while following its specified routing rules.
  • #39: Using Istio’s traffic management model essentially decouples traffic flow and infrastructure scaling, letting operators specify via Pilot what rules they want traffic to follow rather than which specific pods/VMs should receive traffic - Pilot and intelligent Envoy proxies look after the rest. So, for example, you can specify via Pilot that you want 5% of traffic for a particular service to go to a canary version irrespective of the size of the canary deployment, or send traffic to a particular version depending on the content of the request.
  • #44: While Envoy sidecar/proxy provides a host of failure recovery mechanisms to services running on Istio, it is still imperative to test the end-to-end failure recovery capability of the application as a whole. Misconfigured failure recovery policies (e.g., incompatible/restrictive timeouts across service calls) could result in continued unavailability of critical services in the application, resulting in poor user experience. Istio enables protocol-specific fault injection into the network, instead of killing pods, delaying or corrupting packets at TCP layer.Failures observed by the application layer are the same regardless of network level failures, and that more meaningful failures can be injected at the application layer (e.g., HTTP error codes) to exercise the resilience of an application. Operators can configure faults to be injected into requests that match specific criteria. Operators can further restrict the percentage of requests that should be subjected to faults. Two types of faults can be injected: delays and aborts. Delays are timing failures, mimicking increased network latency, or an overloaded upstream service. Aborts are crash failures that mimic failures in upstream services. Aborts usually manifest in the form of HTTP error codes, or TCP connection failures.