SlideShare a Scribd company logo
Istio’s Programming Model – Eclipse
MicroProfile
Emily Jiang – Liberty Architect for CDI and MicroProfile, IBM
twitter: emilyfhjiang
Heiko Rupp –Platform Architect for Middleware monitoring, Red Hat
twitter: pilhuhn
1
What does MicroProfile do?
• Vendor-neutral programming model, designed in the
open, for Java microservices
• Provide core capabilities for building fault tolerant,
scalable microservices
• Increasing the rate and pace of innovation beyond
Java EE
Invite developers to join the MicroProfile community and influence the future http://microprofile.io/
What is Service Mesh?
A dedicated infrastructure layer to
make service to service
communication fast, safe and
reliable
Why do we need Service
Mesh?
What does ‘Service Mesh’ do?
A network for services, not
bytes
 Observability
 Resiliency
 Traffic Control
 Security
 Policy Enforcement
Istio
A service mesh designed to connect,
manage and secure your
microservices
Istio - Putting it all together
What does MicroProfile do?
• Vendor-neutral programming model, designed in the open, for Java
microservices
• Provide core capabilities for building fault tolerant, scalable, microservices
• Increasing the rate and pace of innovation beyond Java EE
Standardizing microservices in enterprise Java via the MicroProfile community
Config
Fault
Tolerance
Health
Check
Metrics
Security
(JWT)
Open
Tracing
Open API
Rest
Client
externalize
configuration
to improve
portability
build robust
behavior to
cope with
unexpected
failures
ensure
services are
running and
meeting
SLAs
understand
the
interactions
between
services
while running
provides role
based
access
control
(RBAC) for
microservice
endpoints
Tracing the
microservice
s invocation
chain
Easily
document
microservcie
APIs
Simplify the
creation of
rest clients
Invite developers to join the MicroProfile community and influence the future http://microprofile.io/
MicroProfile and Istio
Capability Istio MicroProfile
Routing
Load balancing
√
Config microservices specify config
properties
Inject config to
microservices
Health Check of Istio
services
Use k8s liveness
and readiness
probe
Provide health
status
Metrics √ √
Distributed Tracing Display tracing
correlation
Auto-propagate 7
headers required by
Istio
API √
Security √ √
mTLS √
RBAC √ √
MicroProfile and Istio
Capability Istio MicroProfile
Routing
Load balancing
√
Fault Injection √
Fault Handling on
http
√ √
Timeout √ √
Retry √ √
CircuitBreaker √ √
Bulkhead
(semaphore)
√ √
Bulkhead
(threadpool)
√
Fallback √
Fault Handling on
https
√
MicroProfile Service Mesh working group
Work in MicroProfile community
Define the specification in microprofile-service-mesh
(https://github.com/eclipse/microprofile-service-mesh)
Sample microservices
https://github.com/eclipse/microprofile-service-mesh-service-a/
https://github.com/eclipse/microprofile-service-mesh-service-b
Istio and MicroProfile - Putting it all together
MicroProfile Config
ConfigMap
io_openliberty_guides_port_number
MicroProfile Health Check
/health
livenessProbe:
httpGet:
path: "/health"
port: 9080
initialDelaySeconds: 60
readinessProbe:
httpGet:
path: "/health/live"
port: 9080
initialDelaySeconds: 5
MicroProfile Metrics
Add more metrics
MicroProfile Open API
/openapi
MicroProfile JWT
Propagate
authentication info
MicroProfile Open Tracing
7 http headers required
by Istio propagated
All JAX-RS
requests traced
MicroProfile Fault Tolerance
Retry
Timeout
CircuitBreaker
Bulkhead
Fallback
Retry
Timeout
CircuitBreaker
Fault Tolerance difference
• Http request only
(Retry,Timeout,
CircuitBreaker), Connection
pool (tcp and http)
• Apply to all communications
• Fine-grained to individual
method
Fault Tolerance Conflict scenario
Multiple microservices use http
for communication
MicroProfile Fault Tolerance with Istio – current
approach
@Retry
@Timeout
@CircuitBreaker
@Bulkhead
@Fallback
Retry
Timeout
CircuitBreaker
Bulkhead
MP_Fault_Tolerance_NonFallback_Enabled = false
Ecosystem to be – more complementary
MP Config
MP Config
source
Demo Time
References
• https://www.eclipse.org/community/eclipse_newsletter/2018/september/MicroProf
ile_istio.php
• https://medium.com/@pilhuhn/working-on-microprofile-service-mesh-istio-and-
kiali-26d6c01b45cc
• Code sample to demonstrate cloud-native microservices
o https://github.com/eclipse/microprofile-service-mesh
o https://github.com/eclipse/microprofile-service-mesh-service-a/
o https://github.com/eclipse/microprofile-service-mesh-service-b/
• http://microprofile.io
• http://openliberty.io
• https://thorntail.io/
25

More Related Content

PPTX
Micro profile and istio
PPTX
Basics of Microservice Architecture
PPTX
Contiv kubernetes-microservices-feb25-v0.3
PDF
Application Centric Infrastructure (ACI)
PDF
【Cisco OpenStack Seminar 2015.10.26】 Cisco UCS Integrated Infrastructure - En...
PDF
Istio service mesh: past, present, future (TLV meetup)
PPTX
Istio - A Service Mesh for Microservices as Scale
PDF
APPLICATION CENTRIC INFRASTRUCTURE
Micro profile and istio
Basics of Microservice Architecture
Contiv kubernetes-microservices-feb25-v0.3
Application Centric Infrastructure (ACI)
【Cisco OpenStack Seminar 2015.10.26】 Cisco UCS Integrated Infrastructure - En...
Istio service mesh: past, present, future (TLV meetup)
Istio - A Service Mesh for Microservices as Scale
APPLICATION CENTRIC INFRASTRUCTURE

What's hot (20)

PPTX
Cisco on Cisco - Sharing Cisco IT's Experience
PPTX
Istio Mesh – Managing Container Deployments at Scale
PPTX
It security
PPTX
Group-based Policy for Networking
PDF
Primend Praktiline Konverents - Rakenduse keskne IT infrastruktuur / Cisco Ap...
PDF
Why OpenDaylight
PPTX
Navigating the service mesh landscape with Istio, Consul Connect, and Linkerd
PPTX
OpenStack at Cisco, June 2015
PPTX
Micro segmentation – a perfect fit for microservices
PDF
Microservices: Notes From The Field
PPTX
PPTX
Microservice architecture
PDF
Microservice Architecture
PDF
Introduction to the DevNet Sandbox and IVT
PDF
CSTA - Cisco Security Technical Alliances, New Ecosystem Program Built on the...
PPTX
O'Reilly 2017: "Introduction to Service Meshes"
PPTX
DEVNET-1112 The DevNet Hackathon Awards
PPTX
DEVNET-1117 Open Source DevCenter Launched within DevNet
PDF
Securing danish healthcare using cloudnative
PPTX
Managing Microservices at Scale
Cisco on Cisco - Sharing Cisco IT's Experience
Istio Mesh – Managing Container Deployments at Scale
It security
Group-based Policy for Networking
Primend Praktiline Konverents - Rakenduse keskne IT infrastruktuur / Cisco Ap...
Why OpenDaylight
Navigating the service mesh landscape with Istio, Consul Connect, and Linkerd
OpenStack at Cisco, June 2015
Micro segmentation – a perfect fit for microservices
Microservices: Notes From The Field
Microservice architecture
Microservice Architecture
Introduction to the DevNet Sandbox and IVT
CSTA - Cisco Security Technical Alliances, New Ecosystem Program Built on the...
O'Reilly 2017: "Introduction to Service Meshes"
DEVNET-1112 The DevNet Hackathon Awards
DEVNET-1117 Open Source DevCenter Launched within DevNet
Securing danish healthcare using cloudnative
Managing Microservices at Scale
Ad

Similar to MicroProfile as the Istio Programming Model | Virtual Eclipse Community Meetup (20)

PPTX
Cloud nativemicroservices jax-london2020
PPTX
Cloud nativemicroservices jax-london2020
PPTX
New and smart way to develop microservice for istio with micro profile
PDF
MicroProfile Panel - Sept 2016
PPTX
Cloud nativeworkshop
PDF
Master a Cloud Native Standard - MicroProfile.pdf
PPTX
Seriously Open Cloud Native Java Microservices
PDF
Istio, a Modern Services Mesh.pdf
PDF
Master a Cloud Native Standard - MicroProfile.pdf
PPTX
APIdays Helsinki 2019 - Impact of Microservices Architecture on API Managemen...
PPTX
Introduction to Eclipse Microprofile
PPTX
ISTIO Deep Dive
PPTX
Master a Cloud Native Standard - MicroProfile.pptx
PDF
Api observability
PPTX
TechEvent Eclipse Microprofile
PDF
2018 11 lightweight-microservices-microprofile
PDF
Lightweight Java EE with MicroProfile
PDF
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
PPTX
Microservices made easy JavaCro 2021
PDF
Creando microservicios con Java y Microprofile - Nicaragua JUG
Cloud nativemicroservices jax-london2020
Cloud nativemicroservices jax-london2020
New and smart way to develop microservice for istio with micro profile
MicroProfile Panel - Sept 2016
Cloud nativeworkshop
Master a Cloud Native Standard - MicroProfile.pdf
Seriously Open Cloud Native Java Microservices
Istio, a Modern Services Mesh.pdf
Master a Cloud Native Standard - MicroProfile.pdf
APIdays Helsinki 2019 - Impact of Microservices Architecture on API Managemen...
Introduction to Eclipse Microprofile
ISTIO Deep Dive
Master a Cloud Native Standard - MicroProfile.pptx
Api observability
TechEvent Eclipse Microprofile
2018 11 lightweight-microservices-microprofile
Lightweight Java EE with MicroProfile
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
Microservices made easy JavaCro 2021
Creando microservicios con Java y Microprofile - Nicaragua JUG
Ad

Recently uploaded (20)

PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
top salesforce developer skills in 2025.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
Transform Your Business with a Software ERP System
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
ai tools demonstartion for schools and inter college
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
Online Work Permit System for Fast Permit Processing
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Navsoft: AI-Powered Business Solutions & Custom Software Development
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
top salesforce developer skills in 2025.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Which alternative to Crystal Reports is best for small or large businesses.pdf
Transform Your Business with a Software ERP System
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Design an Analysis of Algorithms I-SECS-1021-03
CHAPTER 2 - PM Management and IT Context
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Wondershare Filmora 15 Crack With Activation Key [2025
VVF-Customer-Presentation2025-Ver1.9.pptx
ai tools demonstartion for schools and inter college
Understanding Forklifts - TECH EHS Solution
Online Work Permit System for Fast Permit Processing
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...

MicroProfile as the Istio Programming Model | Virtual Eclipse Community Meetup

Editor's Notes

  • #3: See http://microprofile.io/ Graphic shows the community members for MicroProfile who are contributing to the technical direction and development of core capabilities that MicroProfile offers. These form the essential building blocks of microservices and are currently absent from the Java EE specification. By taking a community driven approach to their development, the broader Java developer community can increase the rate and pace of innovation, and prove the technology through the community prior to offering the capabilities to Oracle to standardizes as part of a future Java EE specification. As MicroProfile is an open source Eclipse project, multiple vendors provide implementations of the MicroProfile specification following the tradition of Java EE itself which provides a vendor neutral specification for enterprise application development. This helps optimize the portability of apps built using the MicroProfile specification and avoids vendor lock-in.
  • #6: If we were to reimagine the network that connects our microservices, what would we want out of it? Think of the kernel’s TCP/IP stack today. Do we care where in the planet an IP address is or how to route to it? No How about discovering MAC address associated with the IP or the next hop router? Nope. Do we care about packet loss or congestion control? Heck no. Essentially, the kernel provides a reliable communication fabric at Layer 4. It frees you from having to deal with discovery, failure recovery, flow control, and a host of other issues that you may not even be aware of. Isn’t this a nice property to have at the services layer, that is, layer-7? We seem to be having some similar issues: discovery, resiliency, routing, etc. and other issues specific such as load balancing, monitoring, policy enforcement, authentication and authorization, etc.
  • #8: Service mesh data plane: Touches every packet/request in the system. Responsible for service discovery, health checking, routing, load balancing, authentication/authorization, and observability. Service mesh control plane: Provides policy and configuration for all of the running data planes in the mesh. Does not touch any packets/requests in the system. The control plane turns all of the data planes into a distributed system. Our service mesh is built using Envoy sidecars. If you look at the big picture, its very similar to a SDN (software defined networking). The sidecars on the data plane carry traffic. Traffic is transparently intercepted using iptable rules in the pod namespace. The Istio control plane takes care of managing and configuring the data plane. The Pilot is responsible for providing service discovery to envoys and managing their configuration as well. The mixer handles policy enforcement, while Istio-auth takes care of authentication and authorization. We’ll talk about the mixer and Istio-auth later.
  • #9: See http://microprofile.io/ Graphic shows the community members for MicroProfile who are contributing to the technical direction and development of core capabilities that MicroProfile offers. These form the essential building blocks of microservices and are currently absent from the Java EE specification. By taking a community driven approach to their development, the broader Java developer community can increase the rate and pace of innovation, and prove the technology through the community prior to offering the capabilities to Oracle to standardizes as part of a future Java EE specification. As MicroProfile is an open source Eclipse project, multiple vendors provide implementations of the MicroProfile specification following the tradition of Java EE itself which provides a vendor neutral specification for enterprise application development. This helps optimize the portability of apps built using the MicroProfile specification and avoids vendor lock-in.
  • #13: Service mesh data plane: Touches every packet/request in the system. Responsible for service discovery, health checking, routing, load balancing, authentication/authorization, and observability. Service mesh control plane: Provides policy and configuration for all of the running data planes in the mesh. Does not touch any packets/requests in the system. The control plane turns all of the data planes into a distributed system. Our service mesh is built using Envoy sidecars. If you look at the big picture, its very similar to a SDN (software defined networking). The sidecars on the data plane carry traffic. Traffic is transparently intercepted using iptable rules in the pod namespace. The Istio control plane takes care of managing and configuring the data plane. The Pilot is responsible for providing service discovery to envoys and managing their configuration as well. The mixer handles policy enforcement, while Istio-auth takes care of authentication and authorization. We’ll talk about the mixer and Istio-auth later.
  • #23: MicroProfile Fault Tolerance offers Retry, Timeout, Bulkhead, CircuitBreaker, Fallback Istio offers Failure handling: Timeout, retries, limits on number of concurrent connections, circuit breakers Istio can not offer fallback Microservices need both of them sometimes How to set up a ecosystem of MicroProfile Fault Tolerance with Istio Use MicroProfile Fault Tolerance without Istio’s Fault Handling Use Istio’s Fault Handling with MicroProfile Fault Tolerance fallback MicroProfile Fault Tolerance is configurable and flexible The Fault Tolerance policies except fallback can be switched off via a configuration property called MP_Fault_Tolerance_NonFallback_Enabled with the value of false. Unique feature from MicroProfile Fault Tolerance where other Fault Tolerance third party libraries cannot offer easily
  • #24: MicroProfile FT triggers plugin to generate Istio config rules. For http invocation, set MP_Fault_Tolerance_NonFallback_Enabled to false Istio config rules will be automatically treated as a config source understood by MicroProfile config. Any value change in the file will be able to feed back to the application. For http traffic, Istio manages all FT except Retry where MP FT will provide For other traffic, Istio pretends it manages it but it is not capable. Devops can config the rules by changing the parameters. All the changes will be translated to FT properties and then MP FT obeys the order. For Devops, it is seemless.