SlideShare a Scribd company logo
1 of 50
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

Istio - A Service Mesh for Microservices as Scale
Istio - A Service Mesh for Microservices as ScaleIstio - A Service Mesh for Microservices as Scale
Istio - A Service Mesh for Microservices as ScaleRam Vennam
 
2017 Microservices Practitioner Virtual Summit: The Mechanics of Deploying En...
2017 Microservices Practitioner Virtual Summit: The Mechanics of Deploying En...2017 Microservices Practitioner Virtual Summit: The Mechanics of Deploying En...
2017 Microservices Practitioner Virtual Summit: The Mechanics of Deploying En...Ambassador Labs
 
KubeCon NA 2017: Ambassador and Envoy (Envoy Salon)
KubeCon NA 2017: Ambassador and Envoy (Envoy Salon)KubeCon NA 2017: Ambassador and Envoy (Envoy Salon)
KubeCon NA 2017: Ambassador and Envoy (Envoy Salon)Ambassador Labs
 
Istio Triangle Kubernetes Meetup Aug 2019
Istio Triangle Kubernetes Meetup Aug 2019Istio Triangle Kubernetes Meetup Aug 2019
Istio Triangle Kubernetes Meetup Aug 2019Ram Vennam
 
Microservices with Spring Cloud and Netflix OSS
Microservices with Spring Cloud and Netflix OSSMicroservices with Spring Cloud and Netflix OSS
Microservices with Spring Cloud and Netflix OSSDenis Danov
 
Microservice API Gateways with NGINX
Microservice API Gateways with NGINXMicroservice API Gateways with NGINX
Microservice API Gateways with NGINXGeoffrey Filippi
 
Don't Assume Your API Gateway is Ready for Microservices
Don't Assume Your API Gateway is Ready for MicroservicesDon't Assume Your API Gateway is Ready for Microservices
Don't Assume Your API Gateway is Ready for MicroservicesAmbassador Labs
 
Istio Playground
Istio PlaygroundIstio Playground
Istio PlaygroundQAware GmbH
 
Putting microservices on a diet with Istio
Putting microservices on a diet with IstioPutting microservices on a diet with Istio
Putting microservices on a diet with IstioQAware GmbH
 
From zero to hero with Kubernetes and Istio
From zero to hero with Kubernetes and IstioFrom zero to hero with Kubernetes and Istio
From zero to hero with Kubernetes and IstioSergii Bishyr
 
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Ambassador Labs
 
Using an API Gateway for Microservices
Using an API Gateway for MicroservicesUsing an API Gateway for Microservices
Using an API Gateway for MicroservicesNGINX, Inc.
 
2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...
2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...
2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...Ambassador Labs
 
Istio: Using nginMesh as the service proxy
Istio: Using nginMesh as the service proxyIstio: Using nginMesh as the service proxy
Istio: Using nginMesh as the service proxyLee Calcote
 

What's hot (20)

Istio on Kubernetes
Istio on KubernetesIstio on Kubernetes
Istio on Kubernetes
 
Istio
Istio Istio
Istio
 
Istio - A Service Mesh for Microservices as Scale
Istio - A Service Mesh for Microservices as ScaleIstio - A Service Mesh for Microservices as Scale
Istio - A Service Mesh for Microservices as Scale
 
Istio presentation jhug
Istio presentation jhugIstio presentation jhug
Istio presentation jhug
 
2017 Microservices Practitioner Virtual Summit: The Mechanics of Deploying En...
2017 Microservices Practitioner Virtual Summit: The Mechanics of Deploying En...2017 Microservices Practitioner Virtual Summit: The Mechanics of Deploying En...
2017 Microservices Practitioner Virtual Summit: The Mechanics of Deploying En...
 
KubeCon NA 2017: Ambassador and Envoy (Envoy Salon)
KubeCon NA 2017: Ambassador and Envoy (Envoy Salon)KubeCon NA 2017: Ambassador and Envoy (Envoy Salon)
KubeCon NA 2017: Ambassador and Envoy (Envoy Salon)
 
Istio Triangle Kubernetes Meetup Aug 2019
Istio Triangle Kubernetes Meetup Aug 2019Istio Triangle Kubernetes Meetup Aug 2019
Istio Triangle Kubernetes Meetup Aug 2019
 
Microservices with Spring Cloud and Netflix OSS
Microservices with Spring Cloud and Netflix OSSMicroservices with Spring Cloud and Netflix OSS
Microservices with Spring Cloud and Netflix OSS
 
Microservice API Gateways with NGINX
Microservice API Gateways with NGINXMicroservice API Gateways with NGINX
Microservice API Gateways with NGINX
 
Don't Assume Your API Gateway is Ready for Microservices
Don't Assume Your API Gateway is Ready for MicroservicesDon't Assume Your API Gateway is Ready for Microservices
Don't Assume Your API Gateway is Ready for Microservices
 
Istio Playground
Istio PlaygroundIstio Playground
Istio Playground
 
Putting microservices on a diet with Istio
Putting microservices on a diet with IstioPutting microservices on a diet with Istio
Putting microservices on a diet with Istio
 
Kong API
Kong APIKong API
Kong API
 
API Gateway study
API Gateway studyAPI Gateway study
API Gateway study
 
Istio a service mesh
Istio   a service meshIstio   a service mesh
Istio a service mesh
 
From zero to hero with Kubernetes and Istio
From zero to hero with Kubernetes and IstioFrom zero to hero with Kubernetes and Istio
From zero to hero with Kubernetes and Istio
 
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
 
Using an API Gateway for Microservices
Using an API Gateway for MicroservicesUsing an API Gateway for Microservices
Using an API Gateway for Microservices
 
2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...
2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...
2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...
 
Istio: Using nginMesh as the service proxy
Istio: Using nginMesh as the service proxyIstio: Using nginMesh as the service proxy
Istio: Using nginMesh as the service proxy
 

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

Istio and Kubernetes Relationship
Istio and Kubernetes RelationshipIstio and Kubernetes Relationship
Istio and Kubernetes RelationshipKnoldus Inc.
 
Ato Z of Microservices Architecture by Systango
Ato Z of Microservices Architecture by SystangoAto Z of Microservices Architecture by Systango
Ato Z of Microservices Architecture by SystangoSystango
 
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...Weaveworks
 
Docker microservices and the service mesh
Docker microservices and the service meshDocker microservices and the service mesh
Docker microservices and the service meshDocker, Inc.
 
Service Mesh For Beginner
Service Mesh For BeginnerService Mesh For Beginner
Service Mesh For BeginnerMien Dinh
 
micro services architecture (FrosCon2014)
micro services architecture (FrosCon2014)micro services architecture (FrosCon2014)
micro services architecture (FrosCon2014)smancke
 
15-factor-apps.pdf
15-factor-apps.pdf15-factor-apps.pdf
15-factor-apps.pdfNilesh Gule
 
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...Weaveworks
 
Istio as an enabler for migrating to microservices (edition 2022)
Istio as an enabler for migrating to microservices (edition 2022)Istio as an enabler for migrating to microservices (edition 2022)
Istio as an enabler for migrating to microservices (edition 2022)Ahmed Misbah
 
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 MeetupPreparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 MeetupYashrajNayak4
 
MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021Ieva Navickaite
 
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthUSENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthNicolas Brousse
 
Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017Deepu K Sasidharan
 
Devoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipsterDevoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipsterJulien Dubois
 
The what, why and how of knative
The what, why and how of knativeThe what, why and how of knative
The what, why and how of knativeMofizur Rahman
 
A New Way of Thinking | NATS 2.0 & Connectivity
A New Way of Thinking | NATS 2.0 & ConnectivityA New Way of Thinking | NATS 2.0 & Connectivity
A New Way of Thinking | NATS 2.0 & ConnectivityNATS
 
Deep Dive into dockerized Microservices
Deep Dive into dockerized MicroservicesDeep Dive into dockerized Microservices
Deep Dive into dockerized Microservicesinovex GmbH
 
Yotpo microservices
Yotpo microservicesYotpo microservices
Yotpo microservicesRon Barabash
 

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

Istio and Kubernetes Relationship
Istio and Kubernetes RelationshipIstio and Kubernetes Relationship
Istio and Kubernetes Relationship
 
Ato Z of Microservices Architecture by Systango
Ato Z of Microservices Architecture by SystangoAto Z of Microservices Architecture by Systango
Ato Z of Microservices Architecture by Systango
 
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
 
Docker microservices and the service mesh
Docker microservices and the service meshDocker microservices and the service mesh
Docker microservices and the service mesh
 
Service Mesh For Beginner
Service Mesh For BeginnerService Mesh For Beginner
Service Mesh For Beginner
 
micro services architecture (FrosCon2014)
micro services architecture (FrosCon2014)micro services architecture (FrosCon2014)
micro services architecture (FrosCon2014)
 
15-factor-apps.pdf
15-factor-apps.pdf15-factor-apps.pdf
15-factor-apps.pdf
 
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
 
Istio as an enabler for migrating to microservices (edition 2022)
Istio as an enabler for migrating to microservices (edition 2022)Istio as an enabler for migrating to microservices (edition 2022)
Istio as an enabler for migrating to microservices (edition 2022)
 
Microservices
MicroservicesMicroservices
Microservices
 
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 MeetupPreparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
 
MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021
 
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthUSENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
 
Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017
 
Devoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipsterDevoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipster
 
The what, why and how of knative
The what, why and how of knativeThe what, why and how of knative
The what, why and how of knative
 
A New Way of Thinking | NATS 2.0 & Connectivity
A New Way of Thinking | NATS 2.0 & ConnectivityA New Way of Thinking | NATS 2.0 & Connectivity
A New Way of Thinking | NATS 2.0 & Connectivity
 
Microservice architecture
Microservice architectureMicroservice architecture
Microservice architecture
 
Deep Dive into dockerized Microservices
Deep Dive into dockerized MicroservicesDeep Dive into dockerized Microservices
Deep Dive into dockerized Microservices
 
Yotpo microservices
Yotpo microservicesYotpo microservices
Yotpo microservices
 

More from DoiT International

Terraform Modules Restructured
Terraform Modules RestructuredTerraform Modules Restructured
Terraform Modules RestructuredDoiT International
 
GAN training with Tensorflow and Tensor Cores
GAN training with Tensorflow and Tensor CoresGAN training with Tensorflow and Tensor Cores
GAN training with Tensorflow and Tensor CoresDoiT International
 
Orchestrating Redis & K8s Operators
Orchestrating Redis & K8s OperatorsOrchestrating Redis & K8s Operators
Orchestrating Redis & K8s OperatorsDoiT International
 
K8s best practices from the field!
K8s best practices from the field!K8s best practices from the field!
K8s best practices from the field!DoiT International
 
Is your Elastic Cluster Stable and Production Ready?
Is your Elastic Cluster Stable and Production Ready?Is your Elastic Cluster Stable and Production Ready?
Is your Elastic Cluster Stable and Production Ready?DoiT International
 
Cloud Dataflow - A Unified Model for Batch and Streaming Data Processing
Cloud Dataflow - A Unified Model for Batch and Streaming Data ProcessingCloud Dataflow - A Unified Model for Batch and Streaming Data Processing
Cloud Dataflow - A Unified Model for Batch and Streaming Data ProcessingDoiT International
 
AWS Cyber Security Best Practices
AWS Cyber Security Best PracticesAWS Cyber Security Best Practices
AWS Cyber Security Best PracticesDoiT International
 
Amazon Athena Hands-On Workshop
Amazon Athena Hands-On WorkshopAmazon Athena Hands-On Workshop
Amazon Athena Hands-On WorkshopDoiT International
 
AWS Athena vs. Google BigQuery for interactive SQL Queries
AWS Athena vs. Google BigQuery for interactive SQL QueriesAWS Athena vs. Google BigQuery for interactive SQL Queries
AWS Athena vs. Google BigQuery for interactive SQL QueriesDoiT International
 
Google BigQuery 101 & What’s New
Google BigQuery 101 & What’s NewGoogle BigQuery 101 & What’s New
Google BigQuery 101 & What’s NewDoiT International
 
Running Production-Grade Kubernetes on AWS
Running Production-Grade Kubernetes on AWSRunning Production-Grade Kubernetes on AWS
Running Production-Grade Kubernetes on AWSDoiT International
 
Scaling Jenkins with Kubernetes by Ami Mahloof
Scaling Jenkins with Kubernetes by Ami MahloofScaling Jenkins with Kubernetes by Ami Mahloof
Scaling Jenkins with Kubernetes by Ami MahloofDoiT International
 
CI Implementation with Kubernetes at LivePerson by Saar Demri
CI Implementation with Kubernetes at LivePerson by Saar DemriCI Implementation with Kubernetes at LivePerson by Saar Demri
CI Implementation with Kubernetes at LivePerson by Saar DemriDoiT International
 
Kubernetes @ Nanit by Chen Fisher
Kubernetes @ Nanit by Chen FisherKubernetes @ Nanit by Chen Fisher
Kubernetes @ Nanit by Chen FisherDoiT International
 
Dataflow - A Unified Model for Batch and Streaming Data Processing
Dataflow - A Unified Model for Batch and Streaming Data ProcessingDataflow - A Unified Model for Batch and Streaming Data Processing
Dataflow - A Unified Model for Batch and Streaming Data ProcessingDoiT International
 
Kubernetes - State of the Union (Q1-2016)
Kubernetes - State of the Union (Q1-2016)Kubernetes - State of the Union (Q1-2016)
Kubernetes - State of the Union (Q1-2016)DoiT International
 

More from DoiT International (19)

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

Recently uploaded

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

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

  1. 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.
  2. 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.
  3. 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.
  4. 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”
  5. 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”
  6. 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.
  7. 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.
  8. 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.
  9. Failures happen, and operators need tools to stay on top of the health of clusters and their graphs of microservices.
  10. https://github.com/spiffe/svid/blob/master/SPECIFICATION.md
  11. 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.
  12. 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.
  13. 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.