SlideShare a Scribd company logo
1
The new smart way to develop Microservices for Istio
- Eclipse MicroProfile
Emily Jiang, Java Champion, Liberty Architect for MicroProfile and CDI @IBM
@emilyfhjiang
2
Agile & DevOps & Cloud & Microservices
+ + + serviceC
serviceB
serviceA
3
Microservices spiderweb
4
Orchestrator
connect, manage and secure your
microservices
5
Service Mesh
A network for services, not bytes
● Observability
● Resiliency
● Traffic Control
● Security
● Policy Enforcement
6
Istio
A service mesh designed to connect,
manage and secure your microservices
7
Istio Architecture
8
cloud-native microservice
1. RESTful – like cattle not pet, communicative
2. Configurable
3. Fault tolerance
4. Can be discovered
5. Secure
6. Traceable, monitorable
7. Able to communicate with the cloud infrastructure
9
How to develop cloud-native microservice
for Istio?
10
Community
Driven
Lightweight, Iterative
Processes
Specs, APIs, TCKs
NO Reference
Implementation
11
Open specifications
Wide vendor support
REST services
OpenAPI support
Security
Fault Tolerance
Configuration
Metrics
Health
Open Tracing
https://wiki.eclipse.org/MicroProfile/Implementation
Quarkus
12
openliberty.io
Jan Dec
19.0.0.2
19.0.0.1 19.0.0.3
4-week release cadence
13
13
MicroProfile 1.0 (Fall 2016)
jaxrs-2.0
cdi-1.2
jsonp-1.0
MicroProfile 1.1 (August 2017)
microProfile-1.0
mpConfig-1.0
MicroProfile 1.2 (Sept 2017)
microProfile-1.1
mpConfig-1.1
mpFaultTolerance-1.0
mpHealth-1.0
mpMetrics-1.0
mpJwt-1.0
2017
2018
MicroProfile 1.3 (Dec 2017)
MicroProfile 1.2
mpConfig-1.2
mpMetrics-1.1
mpOpenApi-1.0
mpOpenTracing-1.0
mpRestClient-1.0
MicroProfile 1.4 (June 2018)
MicroProfile 1.3
mpConfig-1.3
mpFaultTolerance-1.1
mpJwt-1.1
mpOpenTracing-1.1
mpRestClient-1.1
2019
MicroProfile 2.0.1 (July 2018)
MicroProfile 1.4
jaxrs-2.1 // Java EE 8
cdi-2.0 // Java EE 8
jsonp-1.1 // Java EE 8
jsonb-1.0 // Java EE 8
MicroProfile 2.1 (Oct 2018)
MicroProfile 2.0
mpOpenTracing-1.2
MicroProfile 2.2 (Feb 2019)
Fault Tolerance 2.0
OpenAPI 1.1
OpenTracing 1.3
Rest Client 1.2
14
There’s a good chance you’ll use REST APIs
15
Eclipse MicroProfile
JAX-RS JSON-PCDIRest Client JSON-B
microprofile.io
16
JAX-RS
B
@ApplicationPath("System")
public class SystemApplication extends
Application {}
@Path("properties")
public class PropertiesResource {
@GET
@Produces(MediaType.APPLICATION_JSON)
public JsonObject getProperties() {…}
}
17
MicroProfile REST Client
BA
@Inject
@RestClient
private SystemClient defaultRestClient;
@Dependent
@RegisterRestClient
@RegisterProvider(UnknownUrlExceptionMapper.class)
@Path("/properties")
public interface SystemClient {
@GET
@Produces(MediaType.APPLICATION_JSON)
public Properties getProperties() throws
UnknownUrlException, ProcessingException;
}
io.openliberty.guides.inventory.client.SystemClient/mp-rest/url=http://localhost:9080/system
18
CDI
BA
public class InventoryManager {
@Inject
private SystemClient systemClient;
…
}
19
JSON-B & JSON-P
A B
...
@GET
@Produces(MediaType.APPLICATION_JSON)
public InventoryList listContents() {
return manager.list();
}
public class InventoryList {
private List<SystemData> systems;
public InventoryList(List<SystemData> systems) {
this.systems = systems;
}
public List<SystemData> getSystems() {
return systems;
}
public int getTotal() {
return systems.size();
}
}
20
Handling 100s of Services
21
Eclipse MicroProfile
JAX-RS JSON-PCDI
Config
Fault
Tolerance
JWT
Propagation
Open API
Rest Client JSON-B
microprofile.io
22
Where were we...?
A B
23
MicroProfile OpenAPI
A B
openapi: 3.0.0
info:
title: Inventory App
description: App for storing JVM system properties of various
hosts.
license:
name: Eclipse Public License - v 1.0
url: https://www.eclipse.org/legal/epl-v10.html
version: "1.0"
servers: - url: http://localhost:{port} description: Simple Open
Liberty.
variables:
port:
description: Server HTTP port.
default: "9080"
paths:
/inventory/systems:
get:
summary: List inventory contents.
description: Returns the currently stored host:properties pairs
in the inventory.
operationId: listContents
responses:
200:
description: host:properties pairs stored in the inventory.
content:
application/json:
schema:
$ref: '#/components/schemas/InventoryList’
….
http://localhost:9080/openapi/ui
@Operation( summary = "List
inventory contents.",
description = "Returns the
stored host:properties pairs.")
24
MicroProfile JWT
A B
@GET
@RolesAllowed({ "admin", "user" })
@Path("{hostname}")
@Produces(MediaType.APPLICATION_JSON)
public Response getPropertiesForHost(@PathParam("hostname") String hostname,
@Context HttpHeaders httpHeaders) {…}
25
MicroProfile Fault Tolerance
A B
@Fallback(fallbackMethod = "fallbackForGet")
public Properties get(String hostname) throws
IOException {
return invUtils.getProperties(hostname);
}
26
A
MicroProfile Config
B
@Inject
@ConfigProperty(name =
"io_openliberty_guides_inventory_inMaintenance")
private Provider<Boolean> inMaintenance;
config_ordinal=100
io_openliberty_guides_inventory_inMaintenance=false
{
"config_ordinal":150,
"io_openliberty_guides_inventory_inMaintenance":true
}
27
Handling 100s of collaborating services requires a strong
operations focus
28
Eclipse MicroProfile
Health Check Metrics Open Tracing
microprofile.io
JAX-RS JSON-PCDI
Config
Fault
Tolerance
JWT
Propagation
Open API
Rest Client JSON-B
29
Where were we...?
A B
30
MicroProfile Health
A B
@Health
@ApplicationScoped
public class InventoryResource implements HealthCheck {
...
public boolean isHealthy() {...}
@Override
public HealthCheckResponse call() {
if (!isHealthy()) {
return
HealthCheckResponse.named(“InventoryResource”).withData(…).down().build();
}
return
HealthCheckResponse.named(“InventoryResource”).withData(…).up().build();
}
}
31
MicroProfile Metrics
A B
@Timed(name = "inventoryPropertiesRequestTime",
absolute = true,
description = "Time needed to get the properties of" +
"a system from the given hostname")
public Properties get(String hostname) {
return invUtils.getProperties(hostname);
}
32
MicroProfile OpenTracing
A B
@Traced(value = true, operationName = "InventoryManager.list")
public InventoryList list() {
return new InventoryList(systems);
}
JAX-RS methods are
automatically
traced by default
33
Eclipse MicroProfile
 Open specifications
 Wide vendor support
 REST services
 OpenAPI support
 Security
 Fault Tolerance
 Configuration
 Metrics
 Health
 Open Tracing
34
How to get started?
35
Into the cloud
36
Microservice Deployment
microprofile.io
Kubernetes IstioDocker
Health CheckMetrics Open Tracing
JAX-RS JSON-PCDI
Config
Fault
Tolerance
JWT
Propagation
Open API
Rest Client JSON-B
37
MicroProfile Config with Kubernetes
A B
env:
- name: GREETING
valueFrom:
configMapKeyRef:
name: greeting-config
key: message
kubectl create configmap greeting-config --from-literal
message=Greetings...
@Inject
@ConfigProperty(name = "GREETING")
private String greeting;
38
MicroProfile Health with Kubernetes
A B
readinessProbe:
httpGet:
path: /health
port: 9080
initialDelaySeconds: 15
periodSeconds: 5
failureThreshold: 1
39
MicroProfile Open Tracing
7 http headers required
by Istio propagated
All JAX-RS requests
traced
40
Istio & MicroProfile - Putting it all together
41
Useful Links
• https://microprofile.io
• https://openliberty.io/guides
• https://docs.docker.com/get-started/
• https://kubernetes.io/docs/tutorials/kubernetes-basics/
• https://istio.io/docs/setup/kubernetes/quick-start/
• https://github.com/eclipse/microprofile-service-mesh
• https://www.eclipse.org/community/eclipse_newsletter/2018/septemb
er/MicroProfile_istio.php
4242
Thank you!

More Related Content

PPTX
Cloud nativeworkshop
PPTX
Cloud nativemicroservices jax-london2020
PPTX
K8s security best practices
PDF
Retrofit
PDF
What Prometheus means for monitoring vendors
PDF
Hacking the Mesh: Extending Istio with WebAssembly Modules | DevNation Tech Talk
PPTX
Building Your Own IoT Platform using FIWARE GEis
PDF
How abusing the Docker API led to remote code execution same origin bypass an...
Cloud nativeworkshop
Cloud nativemicroservices jax-london2020
K8s security best practices
Retrofit
What Prometheus means for monitoring vendors
Hacking the Mesh: Extending Istio with WebAssembly Modules | DevNation Tech Talk
Building Your Own IoT Platform using FIWARE GEis
How abusing the Docker API led to remote code execution same origin bypass an...

What's hot (20)

PDF
10thMeetup-20190420-REST API Design Principles 되새기기
PPTX
Service Discovery using etcd, Consul and Kubernetes
PDF
JDD 2016 - Michał Balinski, Oleksandr Goldobin - Practical Non Blocking Micro...
PPTX
Fiware cloud developers week brussels
PDF
London HUG 19/5 - Kubernetes and vault
PDF
Vulnerability Exploitation in Docker Container Environments
PDF
Microservices in Go_Dessi_Massimiliano_Codemotion_2017_Rome
PPTX
Security best practices for kubernetes deployment
PDF
Kubernetes deployment on bare metal with container linux
PPTX
Intro to the FIWARE Lab
PDF
CDI Telco Framework & Arquillian presentation at Mobicents Summit, Sochi 2011
PPTX
Building Microservices with Spring Cloud and Netflix OSS
ODP
Deploy Mediawiki Using FIWARE Lab Facilities
PDF
Container Security Deep Dive & Kubernetes
KEY
OpenStack APIs: Present and Future (Beta Talk)
PDF
Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)
PDF
Take Control of your Integration Testing with TestContainers
PPTX
How to deploy spark instance using ansible 2.0 in fiware lab v2
PDF
Reactive applications Linux Day 2013
PDF
Se lancer dans l'aventure microservices avec Spring Cloud - Julien Roy
10thMeetup-20190420-REST API Design Principles 되새기기
Service Discovery using etcd, Consul and Kubernetes
JDD 2016 - Michał Balinski, Oleksandr Goldobin - Practical Non Blocking Micro...
Fiware cloud developers week brussels
London HUG 19/5 - Kubernetes and vault
Vulnerability Exploitation in Docker Container Environments
Microservices in Go_Dessi_Massimiliano_Codemotion_2017_Rome
Security best practices for kubernetes deployment
Kubernetes deployment on bare metal with container linux
Intro to the FIWARE Lab
CDI Telco Framework & Arquillian presentation at Mobicents Summit, Sochi 2011
Building Microservices with Spring Cloud and Netflix OSS
Deploy Mediawiki Using FIWARE Lab Facilities
Container Security Deep Dive & Kubernetes
OpenStack APIs: Present and Future (Beta Talk)
Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)
Take Control of your Integration Testing with TestContainers
How to deploy spark instance using ansible 2.0 in fiware lab v2
Reactive applications Linux Day 2013
Se lancer dans l'aventure microservices avec Spring Cloud - Julien Roy
Ad

Similar to New and smart way to develop microservice for istio with micro profile (20)

PPTX
Cloud nativemicroservices jax-london2020
PPTX
MicroProfile, Docker, Kubernetes, Istio and Open Shift lab @dev nexus
PPTX
MicroProfile as the Istio Programming Model | Virtual Eclipse Community Meetup
PPTX
Micro profile and istio
PPTX
Master a Cloud Native Standard - MicroProfile.pptx
PPTX
TechEvent Eclipse Microprofile
PPTX
The new and smart way to build microservices - Eclipse MicroProfile
PPTX
Introduction to Eclipse Microprofile
PPTX
Cloud native programming model comparison
PPTX
Building cloud native microservices
PPTX
Cloud native programming model comparison
PDF
Master a Cloud Native Standard - MicroProfile.pdf
PDF
Master a Cloud Native Standard - MicroProfile.pdf
PPTX
Microservices made easy JavaCro 2021
PDF
Creando microservicios con Java y Microprofile - Nicaragua JUG
PPTX
Hands-on cloud-native Java with MicroProfile, Kubernetes and Istio at Javantura
PDF
Creando microservicios con java micro profile y tomee - CUNORI 2020
PPTX
Seriously Open Cloud Native Java Microservices
PDF
Hybrid Cloud Application Development without vendor lockin
PDF
Eclipse microprofile config and OSGi config admin - E Jiang
Cloud nativemicroservices jax-london2020
MicroProfile, Docker, Kubernetes, Istio and Open Shift lab @dev nexus
MicroProfile as the Istio Programming Model | Virtual Eclipse Community Meetup
Micro profile and istio
Master a Cloud Native Standard - MicroProfile.pptx
TechEvent Eclipse Microprofile
The new and smart way to build microservices - Eclipse MicroProfile
Introduction to Eclipse Microprofile
Cloud native programming model comparison
Building cloud native microservices
Cloud native programming model comparison
Master a Cloud Native Standard - MicroProfile.pdf
Master a Cloud Native Standard - MicroProfile.pdf
Microservices made easy JavaCro 2021
Creando microservicios con Java y Microprofile - Nicaragua JUG
Hands-on cloud-native Java with MicroProfile, Kubernetes and Istio at Javantura
Creando microservicios con java micro profile y tomee - CUNORI 2020
Seriously Open Cloud Native Java Microservices
Hybrid Cloud Application Development without vendor lockin
Eclipse microprofile config and OSGi config admin - E Jiang
Ad

Recently uploaded (20)

PDF
Sims 4 Historia para lo sims 4 para jugar
PDF
RPKI Status Update, presented by Makito Lay at IDNOG 10
PPT
isotopes_sddsadsaadasdasdasdasdsa1213.ppt
PDF
Cloud-Scale Log Monitoring _ Datadog.pdf
PPTX
522797556-Unit-2-Temperature-measurement-1-1.pptx
PPTX
international classification of diseases ICD-10 review PPT.pptx
PPTX
INTERNET------BASICS-------UPDATED PPT PRESENTATION
PPTX
Module 1 - Cyber Law and Ethics 101.pptx
PPT
Design_with_Watersergyerge45hrbgre4top (1).ppt
PDF
Slides PDF The World Game (s) Eco Economic Epochs.pdf
PDF
An introduction to the IFRS (ISSB) Stndards.pdf
PPTX
Internet___Basics___Styled_ presentation
PDF
Decoding a Decade: 10 Years of Applied CTI Discipline
PPTX
CHE NAA, , b,mn,mblblblbljb jb jlb ,j , ,C PPT.pptx
PPTX
Introuction about WHO-FIC in ICD-10.pptx
PPTX
E -tech empowerment technologies PowerPoint
PPTX
Slides PPTX World Game (s) Eco Economic Epochs.pptx
PDF
The Internet -By the Numbers, Sri Lanka Edition
PDF
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
PPT
tcp ip networks nd ip layering assotred slides
Sims 4 Historia para lo sims 4 para jugar
RPKI Status Update, presented by Makito Lay at IDNOG 10
isotopes_sddsadsaadasdasdasdasdsa1213.ppt
Cloud-Scale Log Monitoring _ Datadog.pdf
522797556-Unit-2-Temperature-measurement-1-1.pptx
international classification of diseases ICD-10 review PPT.pptx
INTERNET------BASICS-------UPDATED PPT PRESENTATION
Module 1 - Cyber Law and Ethics 101.pptx
Design_with_Watersergyerge45hrbgre4top (1).ppt
Slides PDF The World Game (s) Eco Economic Epochs.pdf
An introduction to the IFRS (ISSB) Stndards.pdf
Internet___Basics___Styled_ presentation
Decoding a Decade: 10 Years of Applied CTI Discipline
CHE NAA, , b,mn,mblblblbljb jb jlb ,j , ,C PPT.pptx
Introuction about WHO-FIC in ICD-10.pptx
E -tech empowerment technologies PowerPoint
Slides PPTX World Game (s) Eco Economic Epochs.pptx
The Internet -By the Numbers, Sri Lanka Edition
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
tcp ip networks nd ip layering assotred slides

New and smart way to develop microservice for istio with micro profile

  • 1. 1 The new smart way to develop Microservices for Istio - Eclipse MicroProfile Emily Jiang, Java Champion, Liberty Architect for MicroProfile and CDI @IBM @emilyfhjiang
  • 2. 2 Agile & DevOps & Cloud & Microservices + + + serviceC serviceB serviceA
  • 4. 4 Orchestrator connect, manage and secure your microservices
  • 5. 5 Service Mesh A network for services, not bytes ● Observability ● Resiliency ● Traffic Control ● Security ● Policy Enforcement
  • 6. 6 Istio A service mesh designed to connect, manage and secure your microservices
  • 8. 8 cloud-native microservice 1. RESTful – like cattle not pet, communicative 2. Configurable 3. Fault tolerance 4. Can be discovered 5. Secure 6. Traceable, monitorable 7. Able to communicate with the cloud infrastructure
  • 9. 9 How to develop cloud-native microservice for Istio?
  • 11. 11 Open specifications Wide vendor support REST services OpenAPI support Security Fault Tolerance Configuration Metrics Health Open Tracing https://wiki.eclipse.org/MicroProfile/Implementation Quarkus
  • 13. 13 13 MicroProfile 1.0 (Fall 2016) jaxrs-2.0 cdi-1.2 jsonp-1.0 MicroProfile 1.1 (August 2017) microProfile-1.0 mpConfig-1.0 MicroProfile 1.2 (Sept 2017) microProfile-1.1 mpConfig-1.1 mpFaultTolerance-1.0 mpHealth-1.0 mpMetrics-1.0 mpJwt-1.0 2017 2018 MicroProfile 1.3 (Dec 2017) MicroProfile 1.2 mpConfig-1.2 mpMetrics-1.1 mpOpenApi-1.0 mpOpenTracing-1.0 mpRestClient-1.0 MicroProfile 1.4 (June 2018) MicroProfile 1.3 mpConfig-1.3 mpFaultTolerance-1.1 mpJwt-1.1 mpOpenTracing-1.1 mpRestClient-1.1 2019 MicroProfile 2.0.1 (July 2018) MicroProfile 1.4 jaxrs-2.1 // Java EE 8 cdi-2.0 // Java EE 8 jsonp-1.1 // Java EE 8 jsonb-1.0 // Java EE 8 MicroProfile 2.1 (Oct 2018) MicroProfile 2.0 mpOpenTracing-1.2 MicroProfile 2.2 (Feb 2019) Fault Tolerance 2.0 OpenAPI 1.1 OpenTracing 1.3 Rest Client 1.2
  • 14. 14 There’s a good chance you’ll use REST APIs
  • 15. 15 Eclipse MicroProfile JAX-RS JSON-PCDIRest Client JSON-B microprofile.io
  • 16. 16 JAX-RS B @ApplicationPath("System") public class SystemApplication extends Application {} @Path("properties") public class PropertiesResource { @GET @Produces(MediaType.APPLICATION_JSON) public JsonObject getProperties() {…} }
  • 17. 17 MicroProfile REST Client BA @Inject @RestClient private SystemClient defaultRestClient; @Dependent @RegisterRestClient @RegisterProvider(UnknownUrlExceptionMapper.class) @Path("/properties") public interface SystemClient { @GET @Produces(MediaType.APPLICATION_JSON) public Properties getProperties() throws UnknownUrlException, ProcessingException; } io.openliberty.guides.inventory.client.SystemClient/mp-rest/url=http://localhost:9080/system
  • 18. 18 CDI BA public class InventoryManager { @Inject private SystemClient systemClient; … }
  • 19. 19 JSON-B & JSON-P A B ... @GET @Produces(MediaType.APPLICATION_JSON) public InventoryList listContents() { return manager.list(); } public class InventoryList { private List<SystemData> systems; public InventoryList(List<SystemData> systems) { this.systems = systems; } public List<SystemData> getSystems() { return systems; } public int getTotal() { return systems.size(); } }
  • 23. 23 MicroProfile OpenAPI A B openapi: 3.0.0 info: title: Inventory App description: App for storing JVM system properties of various hosts. license: name: Eclipse Public License - v 1.0 url: https://www.eclipse.org/legal/epl-v10.html version: "1.0" servers: - url: http://localhost:{port} description: Simple Open Liberty. variables: port: description: Server HTTP port. default: "9080" paths: /inventory/systems: get: summary: List inventory contents. description: Returns the currently stored host:properties pairs in the inventory. operationId: listContents responses: 200: description: host:properties pairs stored in the inventory. content: application/json: schema: $ref: '#/components/schemas/InventoryList’ …. http://localhost:9080/openapi/ui @Operation( summary = "List inventory contents.", description = "Returns the stored host:properties pairs.")
  • 24. 24 MicroProfile JWT A B @GET @RolesAllowed({ "admin", "user" }) @Path("{hostname}") @Produces(MediaType.APPLICATION_JSON) public Response getPropertiesForHost(@PathParam("hostname") String hostname, @Context HttpHeaders httpHeaders) {…}
  • 25. 25 MicroProfile Fault Tolerance A B @Fallback(fallbackMethod = "fallbackForGet") public Properties get(String hostname) throws IOException { return invUtils.getProperties(hostname); }
  • 26. 26 A MicroProfile Config B @Inject @ConfigProperty(name = "io_openliberty_guides_inventory_inMaintenance") private Provider<Boolean> inMaintenance; config_ordinal=100 io_openliberty_guides_inventory_inMaintenance=false { "config_ordinal":150, "io_openliberty_guides_inventory_inMaintenance":true }
  • 27. 27 Handling 100s of collaborating services requires a strong operations focus
  • 28. 28 Eclipse MicroProfile Health Check Metrics Open Tracing microprofile.io JAX-RS JSON-PCDI Config Fault Tolerance JWT Propagation Open API Rest Client JSON-B
  • 30. 30 MicroProfile Health A B @Health @ApplicationScoped public class InventoryResource implements HealthCheck { ... public boolean isHealthy() {...} @Override public HealthCheckResponse call() { if (!isHealthy()) { return HealthCheckResponse.named(“InventoryResource”).withData(…).down().build(); } return HealthCheckResponse.named(“InventoryResource”).withData(…).up().build(); } }
  • 31. 31 MicroProfile Metrics A B @Timed(name = "inventoryPropertiesRequestTime", absolute = true, description = "Time needed to get the properties of" + "a system from the given hostname") public Properties get(String hostname) { return invUtils.getProperties(hostname); }
  • 32. 32 MicroProfile OpenTracing A B @Traced(value = true, operationName = "InventoryManager.list") public InventoryList list() { return new InventoryList(systems); } JAX-RS methods are automatically traced by default
  • 33. 33 Eclipse MicroProfile  Open specifications  Wide vendor support  REST services  OpenAPI support  Security  Fault Tolerance  Configuration  Metrics  Health  Open Tracing
  • 34. 34 How to get started?
  • 36. 36 Microservice Deployment microprofile.io Kubernetes IstioDocker Health CheckMetrics Open Tracing JAX-RS JSON-PCDI Config Fault Tolerance JWT Propagation Open API Rest Client JSON-B
  • 37. 37 MicroProfile Config with Kubernetes A B env: - name: GREETING valueFrom: configMapKeyRef: name: greeting-config key: message kubectl create configmap greeting-config --from-literal message=Greetings... @Inject @ConfigProperty(name = "GREETING") private String greeting;
  • 38. 38 MicroProfile Health with Kubernetes A B readinessProbe: httpGet: path: /health port: 9080 initialDelaySeconds: 15 periodSeconds: 5 failureThreshold: 1
  • 39. 39 MicroProfile Open Tracing 7 http headers required by Istio propagated All JAX-RS requests traced
  • 40. 40 Istio & MicroProfile - Putting it all together
  • 41. 41 Useful Links • https://microprofile.io • https://openliberty.io/guides • https://docs.docker.com/get-started/ • https://kubernetes.io/docs/tutorials/kubernetes-basics/ • https://istio.io/docs/setup/kubernetes/quick-start/ • https://github.com/eclipse/microprofile-service-mesh • https://www.eclipse.org/community/eclipse_newsletter/2018/septemb er/MicroProfile_istio.php