SlideShare ist ein Scribd-Unternehmen logo
1 von 63
Downloaden Sie, um offline zu lesen
Managing
Microservices
with Istio on
OpenShift
oc whoami
$ oc whoami
rmarting, jromanmartin
$ oc describe user rmarting jromanmartin
Name: Jose Roman Martin Gil
Created: 43 years ago
Labels: father, husband, friend, runner, curious, red hatter,
developer (in any order)
Annotations: Principal Middleware Architect @ Red Hat
Identities:
mailto: rmarting@redhat.com
GitHub: https://github.com/rmarting
Twitter: https://twitter.com/jromanmartin
LinkedIn: https://www.linkedin.com/in/jromanmartin/
oc whoami
$ oc whoami
cvicens, _cvicens, carlosvicens
$ oc describe user cvicens
Name: Carlos Vicens Alonso
Created: 43 years ago
Labels: father, husband, red hatter, developer, tinkerer (in
any order)
Annotations: Senior Specialist Solution Architect @ Red Hat
Identities:
mailto: cvicensa@redhat.com
GitHub: https://github.com/cvicens
Twitter: https://twitter.com/_cvicens
LinkedIn: https://www.linkedin.com/in/carlosvicens/
Medium: https://medium.com/@carlos.vicens.alonso
Have you ever woken up at night feeling uneasy
and sweaty wondering if your app is a monolith?
… I have
True story
…any given night
_shy_developer
Now I’m a believer… I love microservices…
I hate monoliths…
What next? How do I move on?
True story
… same night, but later
Same _shy_developer, now converted
We’ll break something in a mesh...
We’ll walk you through a plausible route to find
the root cause of the problem
...the butler did it!
Sorry I couldn’t help it
Little spoiler!
(although we hate spoilers!)
MICROSERVICES ARCHITECTURE
Microservices Architecture
Runtime
Service
Runtime
Service
Runtime
Service
Runtime
Service
Runtime
Service
Runtime
Service
Runtime
Service
Application Server
HTML Javascript Web
ServiceServiceService
Service Service Service
Data Access
Runtime
Service
Runtime
Service
Microservices Architecture
DISTRIBUTED
Runtime
Service
Runtime
Service
Runtime
Service
Runtime
Service
Runtime
Service
Runtime
Service
Runtime
Service
Application Server
HTML Javascript Web
ServiceServiceService
Service Service Service
Data Access
Runtime
Service
Runtime
Service
Distributed Architecture
Service ServiceService
Service ServiceService
Service ServiceService
Eight Fallacies of Distributed Computing
1. The network is reliable
2. Latency is zero
3. Bandwidth is infinite
4. The network is secure
5. Topology doesn’t change
6. There is one administrator
7. Transport cost is zero
8. The network is homogeneous
Source: https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing
Photo: Icon made by Freepik from www.flaticon.com
HOW TO DEAL WITH THE COMPLEXITY?
Deployment
Service
Container
INFRASTRUCTURE
Service
Container
Service
Container
Configuration
Spring Cloud
Config Server
Service
Config
Service
Config
Service
Config
INFRASTRUCTURE
Service Discovery
Service
Spring Cloud
Config Server
Netflix Eureka
Netflix Ribbon Config
Service
Config
Service
Config
Svc Discovery Svc Discovery Svc Discovery
INFRASTRUCTURE
Dynamic Routing
Spring Cloud
Config Server
Service
Netflix Eureka
Netflix Ribbon Config
Service
Config
Service
Config
Svc Discovery Svc Discovery Svc Discovery
Routing Routing Routing
Netflix Zuul
Server
INFRASTRUCTURE
Fault Tolerance
Spring Cloud
Config Server
Service
Netflix Eureka
Netflix Ribbon Config
Service
Config
Service
Config
Svc Discovery Svc Discovery Svc Discovery
Routing Routing Routing
Netflix Zuul
Server
Circuit Breaker Circuit Breaker Circuit Breaker
INFRASTRUCTURE
Tracing and Visibility
Spring Cloud
Config Server
Service
Netflix Eureka
Netflix Ribbon Config
Service
Config
Service
Config
Svc Discovery Svc Discovery Svc Discovery
Routing Routing Routing
Netflix Zuul
Server
Circuit Breaker Circuit Breaker Circuit Breaker
Tracing Tracing Tracing
ZipKin Server
INFRASTRUCTURE
Polyglot Applications
Existing Applications
What About …?
There should be a BETTER WAY
Mmm maybe ... addressing the complexity
WITHIN the infrastructure
Then?
SERVICE MESH
A Dedicated Network for Service-to-Service Communications
Microservices Evolution
Service
Config
Svc Discovery
Routing
Circuit Breaker
Tracing
Service
Platform
Container Platform
(+ Service Mesh)
...2014 2018
Microservices without Service Mesh
Container
JVM
service A
discovery
load-balancer
resiliency
metrics
tracing
app logic
ff
Container
JVM
service B
discovery
load-balancer
resiliency
metrics
tracing
app logic
Container
JVM
service C
discovery
load-balancer
resiliency
metrics
tracing
app logic
Service Mesh Architecture
POD
ENVOY
SERVICE
POD
ENVOY
SERVICE
POD
ENVOY
SERVICE
Pilot Mixer Citadel
Applies security,
route rules, policies
and reports traffic
telemetry at the pod
level
Jaeger
OpenShift Service Mesh
OBSERVABILITY
POLICY ENFORCEMENT
SERVICE IDENTITY
& SECURITY
TRAFFIC MANAGEMENT
DIST. TRANSACTION
MONITORING
SERVICE DEPENDENCY
ANALYSIS
ROOT CAUSE ANALYSIS
DISTRIBUTED CONTEXT
PROPAGATION
PERFORMANCE /
LATENCY OPTIMIZATION
DISTRIBUTED TRACING
CONFIGURATION
VALIDATION
METRICS COLLECTION
AND GRAPHS
SERVICE GRAPH
REPRESENTATION
SERVICE DISCOVERY &
HEALTH COMPUTATION
Istio JaegerKiali
MAISTRA (Kubernetes Operator)
Service Mesh Ecosystem
Observe Observe
Secure
ControlConnect
Jaeger
Prometheus
Grafana
Kiali
Istio
SERVICE MESH FEATURES
FAULT TOLERANCE
Circuit Breaker without Service Mesh
SERVICE
A
SERVICE
B
SERVICE
C
CB CB
coupled to the service code
Circuit Breaker with Service Mesh
POD
SERVICE
A
ENVOY
POD
SERVICE
B
ENVOY
POD
SERVICE
C
ENVOY
transparent to the services
Circuit Breaker with Service Mesh
POD
SERVICE
A
ENVOY
POD
SERVICE
B
ENVOY
POD
SERVICE
C
ENVOY
improved response time with global circuit status
Timeouts and Retries with Service Mesh
POD
SERVICE
A
ENVOY
POD
SERVICE
B
ENVOY
POD
SERVICE
C
ENVOY
configure timeouts and retries, transparent to the services
timeout: 10 sec
retry: 5
timeout: 15 sec
retry: 5
Rate Limits with Service Mesh
POD
SERVICE
A
ENVOY
POD
SERVICE
B
ENVOY
POD
SERVICE
C
ENVOY
limit invocation rates, transparent to the services
max 500
concurrent reqs
max 100
connections
DYNAMIC ROUTING
Dynamic Routing without Service Mesh
Gateway
Service
SERVICE
A
SERVICE
B:1
SERVICE
B:2
Netflix Zuul
Server
custom code to enable dynamic routing
Canary Deployment with Service Mesh
POD
SERVICE
A
ENVOY
POD
SERVICE
B:v2
ENVOY
POD
SERVICE
B:v1
ENVOY
50% traffic
50% traffic
Dark Launches with Service Mesh
POD
SERVICE
A
ENVOY
POD
SERVICE
B:v2
ENVOY
POD
SERVICE
B:v1
ENVOY
100% traffic
mirror traffic
SERVICE SECURITY
Secure Communication without Service Mesh
SERVICE
A
SERVICE
B
SERVICE
C
TLS TLS TLS TLS
coupled to the service code
Secure Communication with Service Mesh
POD
SERVICE
A
ENVOY
POD
SERVICE
B
ENVOY
POD
SERVICE
C
ENVOY
mutual TLS authentication, transparent to the services
TLS TLS
Control Service Access with Service Mesh
POD
SERVICE
A
ENVOY
POD
SERVICE
B
ENVOY
POD
SERVICE
C
ENVOY
control the service access flow, transparent to the services
CHAOS ENGINEERING
Chaos Engineering without Service Mesh
SERVICE
A
SERVICE
B
SERVICE
C
Netflix
Chaos Monkeys
Netflix
Spinnaker
random
termination
Chaos Engineering with Service Mesh
POD
SERVICE
A
ENVOY
POD
SERVICE
B
ENVOY
POD
SERVICE
C
ENVOY
inject delays, transparent to the services
10 sec delay
in 10% of requests
Chaos Engineering with Service Mesh
inject protocol-specific errors, transparent to the services
POD
SERVICE
A
ENVOY
POD
SERVICE
B
ENVOY
POD
SERVICE
C
ENVOY
HTTP 400
in 5% of requests
DISTRIBUTED TRACING
Distributed Tracing without Service Mesh
SERVICE
A
SERVICE
B
SERVICE
C
Spring Sleuth
ZipKin
Spring Sleuth
ZipKin
Spring Sleuth
ZipKin
code to enable dynamic tracing
Distributed Tracing with Service Mesh
POD
SERVICE
A
ENVOY
POD
SERVICE
B
ENVOY
POD
SERVICE
C
ENVOY
discovers service relationships and process times,
transparent to the services
SERVICE A SERVICE B SERVICE C
210 ms 720 ms
930 ms
OBSERVABILITY
Metrics
Envoymesh
Mixer
Check(attributes) Report([ ]attributes)
Operator
Supplied
Config
Prometheus
Grafana
Backends
GUIs
Adapters
OthersKiali
Requests
Responses● Mixer collects metrics
from Envoy
● Adapters in the Mixer
normalize and forward
to monitoring backends
● Metrics backend can be
swapped at runtime
KIALI
What are my microservices doing?
Service graph with dynamic traffic visualization
… And Why?
Services view focus on Istio configuration
Validation of Istio objects.
Tracing with Jaeger
Jaeger UI integrated into Kiali for 360º observability view
The network is reliable. Circuit Breaking and Load Balancing
Latency is zero. Timeouts and Retries
Bandwidth is infinite Rating and Limiting
The network is secure Mutual TLS
Topology doesn't change Service Discovery
There is one administrator Role Based Access Control
Transport cost is zero gRPC and Protobuf
The network is homogeneous. Dynamic Routing - A/B, Canary
Then?
NO ANIMALS were harmed during the making of this demo
NO CODE was changed either… almost :-)
DEMO TIME!
1. Coolstore works properly
2. Break Catalog (2 pods, 1 down)
3. Notice (Kiali, Grafana, Jaeger)
4. Find the root cause
5. Fix → retry policy (2 pods, 1 down, avoid the one down!)
Demo explained...
2. New version Inventory
3. Distribute load
4. Break inventory (2 versions, 1 version down)
5. Notice (Kiali, Grafana, Jaeger)
6. Find …
7. Fix → circuit breaker (avoid damaged version)
TAKEWAY
Distributed Services Platform
ANY
INFRASTRUCTURE
OpenShift Container Platform
(Enterprise Kubernetes)
Amazon Web Services Microsoft Azure Google CloudOpenStackDatacenterLaptop
OpenShift Service Mesh
(Istio + Kiali + Jaeger)
ANY
APPLICATION
Service
CONTAINER
Service
CONTAINER
Service
CONTAINER
Service
CONTAINER
Service
CONTAINER
try it at http://learn.openshift.com
Get Started!
● https://istio.io/docs/
● https://maistra.io/
● https://www.kiali.io/
● https://github.com/redhat-developer-demos/istio-tutorial
● https://github.com/rmarting/service-mesh-meetup (This Demo)
Questions?
Thank you!

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

FICO Open Shift presentation
FICO Open Shift presentationFICO Open Shift presentation
FICO Open Shift presentation
 
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer DemandPaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
 
Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2
Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2
Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2
 
JavaOne 2016: The Deploy Master: From Basic to Zero Downtime, Blue/Green, A/B...
JavaOne 2016: The Deploy Master: From Basic to Zero Downtime, Blue/Green, A/B...JavaOne 2016: The Deploy Master: From Basic to Zero Downtime, Blue/Green, A/B...
JavaOne 2016: The Deploy Master: From Basic to Zero Downtime, Blue/Green, A/B...
 
OpenShift Meetup - Tokyo - Service Mesh and Serverless Overview
OpenShift Meetup - Tokyo - Service Mesh and Serverless OverviewOpenShift Meetup - Tokyo - Service Mesh and Serverless Overview
OpenShift Meetup - Tokyo - Service Mesh and Serverless Overview
 
OpenShift: Devops Made Easy
OpenShift: Devops Made EasyOpenShift: Devops Made Easy
OpenShift: Devops Made Easy
 
Openshift: The power of kubernetes for engineers - Riga Dev Days 18
Openshift: The power of kubernetes for engineers - Riga Dev Days 18Openshift: The power of kubernetes for engineers - Riga Dev Days 18
Openshift: The power of kubernetes for engineers - Riga Dev Days 18
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
 
Transforming Application Delivery with PaaS and Linux Containers
Transforming Application Delivery with PaaS and Linux ContainersTransforming Application Delivery with PaaS and Linux Containers
Transforming Application Delivery with PaaS and Linux Containers
 
Kubernetes The New Research Platform
Kubernetes The New Research PlatformKubernetes The New Research Platform
Kubernetes The New Research Platform
 
Automated Image Builds in OpenShift and Kubernetes
Automated Image Builds in OpenShift and KubernetesAutomated Image Builds in OpenShift and Kubernetes
Automated Image Builds in OpenShift and Kubernetes
 
OpenShift Overview - Red Hat Open House 2017
OpenShift Overview - Red Hat Open House 2017OpenShift Overview - Red Hat Open House 2017
OpenShift Overview - Red Hat Open House 2017
 
Cloud-Native Drupal: a survival guide
Cloud-Native Drupal: a survival guideCloud-Native Drupal: a survival guide
Cloud-Native Drupal: a survival guide
 
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
 
Monoliths to Microservices with Jave EE and Spring Boot
Monoliths to Microservices with Jave EE and Spring BootMonoliths to Microservices with Jave EE and Spring Boot
Monoliths to Microservices with Jave EE and Spring Boot
 
OpenShift pour le developpement cloud native - 20171214
OpenShift pour le developpement cloud native - 20171214OpenShift pour le developpement cloud native - 20171214
OpenShift pour le developpement cloud native - 20171214
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSA
 
Load Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native ArchitectureLoad Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native Architecture
 
From on premises monolith to cloud microservices
From on premises monolith to cloud microservicesFrom on premises monolith to cloud microservices
From on premises monolith to cloud microservices
 
Red Hat OpenShift Operators - Operators ABC
Red Hat OpenShift Operators - Operators ABCRed Hat OpenShift Operators - Operators ABC
Red Hat OpenShift Operators - Operators ABC
 

Ähnlich wie Managing microservices with istio on OpenShift - Meetup

Ähnlich wie Managing microservices with istio on OpenShift - Meetup (20)

Building a scalable microservice architecture with envoy, kubernetes and istio
Building a scalable microservice architecture with envoy, kubernetes and istioBuilding a scalable microservice architecture with envoy, kubernetes and istio
Building a scalable microservice architecture with envoy, kubernetes and istio
 
Microservice 4.0 Journey - From Spring NetFlix OSS to Istio Service Mesh and ...
Microservice 4.0 Journey - From Spring NetFlix OSS to Istio Service Mesh and ...Microservice 4.0 Journey - From Spring NetFlix OSS to Istio Service Mesh and ...
Microservice 4.0 Journey - From Spring NetFlix OSS to Istio Service Mesh and ...
 
Introduction to Istio Service Mesh
Introduction to Istio Service MeshIntroduction to Istio Service Mesh
Introduction to Istio Service Mesh
 
2019 devoxx - apis, microservices, et le service mesh
2019 devoxx - apis, microservices, et le service mesh2019 devoxx - apis, microservices, et le service mesh
2019 devoxx - apis, microservices, et le service mesh
 
I'm a developer; should I care about a service mesh?
I'm a developer; should I care about a service mesh?I'm a developer; should I care about a service mesh?
I'm a developer; should I care about a service mesh?
 
OSCON 2019 - I'm a Developer, should I care about a service mesh?
OSCON 2019 - I'm a Developer, should I care about a service mesh?OSCON 2019 - I'm a Developer, should I care about a service mesh?
OSCON 2019 - I'm a Developer, should I care about a service mesh?
 
Cilium:: Application-Aware Microservices via BPF
Cilium:: Application-Aware Microservices via BPFCilium:: Application-Aware Microservices via BPF
Cilium:: Application-Aware Microservices via BPF
 
Dev conf .in cloud native reference architecture .advance
Dev conf .in cloud native reference architecture .advanceDev conf .in cloud native reference architecture .advance
Dev conf .in cloud native reference architecture .advance
 
Blowing up the Monolith: Practical Advice on Microservices
Blowing up the Monolith: Practical Advice on MicroservicesBlowing up the Monolith: Practical Advice on Microservices
Blowing up the Monolith: Practical Advice on Microservices
 
Api observability
Api observability Api observability
Api observability
 
Consul Connect - EPAM SEC - 22nd september 2018
Consul Connect - EPAM SEC - 22nd september 2018Consul Connect - EPAM SEC - 22nd september 2018
Consul Connect - EPAM SEC - 22nd september 2018
 
Testing in the 21st Century (ExpoQA)
Testing in the 21st Century (ExpoQA)Testing in the 21st Century (ExpoQA)
Testing in the 21st Century (ExpoQA)
 
Serhiy Kalinets "Building Service Mesh with .NET Core"
Serhiy Kalinets "Building Service Mesh with .NET Core"Serhiy Kalinets "Building Service Mesh with .NET Core"
Serhiy Kalinets "Building Service Mesh with .NET Core"
 
Techdays Helsinki - Creating the distributed apps of the future using dapr - ...
Techdays Helsinki - Creating the distributed apps of the future using dapr - ...Techdays Helsinki - Creating the distributed apps of the future using dapr - ...
Techdays Helsinki - Creating the distributed apps of the future using dapr - ...
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2
 
Managing microservices with Istio Service Mesh
Managing microservices with Istio Service MeshManaging microservices with Istio Service Mesh
Managing microservices with Istio Service Mesh
 
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
 
What is a Service Mesh and what can it do for your Microservices
What is a Service Mesh and what can it do for your MicroservicesWhat is a Service Mesh and what can it do for your Microservices
What is a Service Mesh and what can it do for your Microservices
 
Spring Boot & Spring Cloud on Pivotal Application Service
Spring Boot & Spring Cloud on Pivotal Application ServiceSpring Boot & Spring Cloud on Pivotal Application Service
Spring Boot & Spring Cloud on Pivotal Application Service
 
Building Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaBuilding Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache Kafka
 

Kürzlich hochgeladen

Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Kürzlich hochgeladen (20)

%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 

Managing microservices with istio on OpenShift - Meetup