a macro perspective on the toolbox for microservices · 2020-06-10 · spring cloud service a...

43
CADEC 2020.01.23 & 2020.01.29 | CALLISTAENTERPRISE.SE SPRING CLOUD + KUBERNETES + ISTIO = ? A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES MAGNUS LARSSON

Upload: others

Post on 16-Jul-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

CADEC 2020.01.23 & 2020.01.29 | CALLISTAENTERPRISE.SE

SPRING CLOUD + KUBERNETES + ISTIO = ?

A MACRO PERSPECTIVE ONTHE TOOLBOX FOR MICROSERVICES

MAGNUS LARSSON

Page 2: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

AGENDA

• Why?

• Challenges

• Open Source to the rescue!

• Overlaps

• Demo

• Summary

Page 3: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

WHY?

?• Easier to scale• Faster releases

• Requires• Autonomous components• Share nothing architecture

• Forms a distributed system!

Page 4: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

CHALLENGES

?

Page 5: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

CHALLENGES

WHERE ARE THE SERVICES?WHICH SERVICE TO CALL?

DISCOVERY SERVER

A-1

?B-2

B-3B-1

B

Page 6: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

CHALLENGES

WHERE ARE THE SERVICES?WHICH SERVICE TO CALL?

DISCOVERY SERVER

HOW TO HIDE PRIVATE SERVICES?HOW TO PROTECT PUBLIC SERVICES?

EDGE SERVER

Service A

Client

Edge Server

Service CService B

Page 7: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

CHALLENGES

WHERE ARE THE SERVICES?WHICH SERVICE TO CALL?

DISCOVERY SERVER

WHERE IS MY CONFIGURATION?ARE ALL SERVICES CONFIGURATION UP TO DATE?

CENTRALIZED CONFIGURATION

HOW TO HIDE PRIVATE SERVICES?HOW TO PROTECT PUBLIC SERVICES?

EDGE SERVER

CONFIG

CONFIG

CONFIG

CONFIG

CONFIG

CONFIG

Page 8: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

CHALLENGES

WHERE ARE THE SERVICES?WHICH SERVICE TO CALL?

DISCOVERY SERVER

WHERE ARE THE LOGS?

HOW TO CORRELATE LOGSFROM DIFFERENT SERVICES?

LOG ANALYSIS

WHERE IS MY CONFIGURATION?ARE ALL SERVICES CONFIGURATION UP TO DATE?

CENTRALIZED CONFIGURATION

HOW TO HIDE PRIVATE SERVICES?HOW TO PROTECT PUBLIC SERVICES?

EDGE SERVER

Page 9: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

CHALLENGES

WHERE ARE THE SERVICES?WHICH SERVICE TO CALL?

DISCOVERY SERVER

WHERE ARE THE LOGS?

HOW TO CORRELATE LOGSFROM DIFFERENT SERVICES?

LOG ANALYSIS

WHERE IS MY CONFIGURATION?ARE ALL SERVICES CONFIGURATION UP TO DATE?

CENTRALIZED CONFIGURATION

HOW TO • DEPLOY SERVICES?• SCALE SERVICES?• UPGRADE SERVICES?• RESTART FAILING SERVICES?

SERVICE MANAGEMENT

HOW TO HIDE PRIVATE SERVICES?HOW TO PROTECT PUBLIC SERVICES?

EDGE SERVER

OBSERVE

COMPAREACT

CURRENT STATE è DESIRED STATE

Page 10: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

CHALLENGES

WHERE ARE THE SERVICES?WHICH SERVICE TO CALL?

DISCOVERY SERVER

WHERE ARE THE LOGS?

HOW TO CORRELATE LOGSFROM DIFFERENT SERVICES?

LOG ANALYSIS

WHERE IS MY CONFIGURATION?ARE ALL SERVICES CONFIGURATION UP TO DATE?

CENTRALIZED CONFIGURATION

WHAT HARDWARE RESOURCES ARE USED?MONITORING

HOW TO • DEPLOY SERVICES?• SCALE SERVICES?• UPGRADE SERVICES?• RESTART FAILING SERVICES?

SERVICE MANAGEMENT

HOW TO HIDE PRIVATE SERVICES?HOW TO PROTECT PUBLIC SERVICES?

EDGE SERVER

Page 11: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

CHALLENGES

WHERE ARE THE SERVICES?WHICH SERVICE TO CALL?

DISCOVERY SERVER

WHERE ARE THE LOGS?

HOW TO CORRELATE LOGSFROM DIFFERENT SERVICES?

LOG ANALYSIS

WHERE IS MY CONFIGURATION?ARE ALL SERVICES CONFIGURATION UP TO DATE?

CENTRALIZED CONFIGURATION

WHAT HARDWARE RESOURCES ARE USED?MONITORING

HOW TO • DEPLOY SERVICES?• SCALE SERVICES?• UPGRADE SERVICES?• RESTART FAILING SERVICES?

SERVICE MANAGEMENT

HOW ARE MY SERVICES PERFORMING?

OBSERVABILITY

HOW TO HIDE PRIVATE SERVICES?HOW TO PROTECT PUBLIC SERVICES?

EDGE SERVER

Page 12: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

CHALLENGES

WHERE ARE THE SERVICES?WHICH SERVICE TO CALL?

DISCOVERY SERVER

WHERE ARE THE LOGS?

HOW TO CORRELATE LOGSFROM DIFFERENT SERVICES?

LOG ANALYSIS

WHERE IS MY CONFIGURATION?ARE ALL SERVICES CONFIGURATION UP TO DATE?

CENTRALIZED CONFIGURATION

WHAT HARDWARE RESOURCES ARE USED?MONITORING

HOW TO • DEPLOY SERVICES?• SCALE SERVICES?• UPGRADE SERVICES?• RESTART FAILING SERVICES?

SERVICE MANAGEMENT

HOW ARE MY SERVICES PERFORMING?

OBSERVABILITY

HOW TO HIDE PRIVATE SERVICES?HOW TO PROTECT PUBLIC SERVICES?

EDGE SERVER

HOW TO CONTROL ROUTING?• RATE LIMITING• CANARY & BLUE/GREEN UPGRADES

TRAFFIC MANAGMENT

Page 13: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

CHALLENGES

WHERE ARE THE SERVICES?WHICH SERVICE TO CALL?

DISCOVERY SERVER

WHERE ARE THE LOGS?

HOW TO CORRELATE LOGSFROM DIFFERENT SERVICES?

LOG ANALYSIS

WHERE IS MY CONFIGURATION?ARE ALL SERVICES CONFIGURATION UP TO DATE?

CENTRALIZED CONFIGURATION

WHO IS CALLING WHO?DISTRIBUTED TRACING

WHAT HARDWARE RESOURCES ARE USED?MONITORING

HOW TO • DEPLOY SERVICES?• SCALE SERVICES?• UPGRADE SERVICES?• RESTART FAILING SERVICES?

SERVICE MANAGEMENT

HOW ARE MY SERVICES PERFORMING?

OBSERVABILITY

HOW TO HIDE PRIVATE SERVICES?HOW TO PROTECT PUBLIC SERVICES?

EDGE SERVER

HOW TO CONTROL ROUTING?• RATE LIMITING• CANARY & BLUE/GREEN UPGRADES

TRAFFIC MANAGMENT

Page 14: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

CHALLENGES

WHERE ARE THE SERVICES?WHICH SERVICE TO CALL?

DISCOVERY SERVER

WHERE ARE THE LOGS?

HOW TO CORRELATE LOGSFROM DIFFERENT SERVICES?

LOG ANALYSIS

WHERE IS MY CONFIGURATION?ARE ALL SERVICES CONFIGURATION UP TO DATE?

CENTRALIZED CONFIGURATION

WHO IS CALLING WHO?DISTRIBUTED TRACING

WHAT HARDWARE RESOURCES ARE USED?MONITORING

HOW TO • DEPLOY SERVICES?• SCALE SERVICES?• UPGRADE SERVICES?• RESTART FAILING SERVICES?

SERVICE MANAGEMENT

HOW ARE MY SERVICES PERFORMING?

OBSERVABILITY

HOW TO HIDE PRIVATE SERVICES?HOW TO PROTECT PUBLIC SERVICES?

EDGE SERVER

HOW TO CONTROL ROUTING?• RATE LIMITING• CANARY & BLUE/GREEN UPGRADES

TRAFFIC MANAGMENT

HOW TO HANDLE FAULTS?• SLOW OR NO RESPONSE• TEMPORARY FAULTS• OVERLOAD

RESILIENCE

Page 15: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

REQUIRED CAPABILITIES!

WHERE ARE THE SERVICES?WHICH SERVICE TO CALL?

DISCOVERY SERVER

WHERE ARE THE LOGS?

HOW TO CORRELATE LOGSFROM DIFFERENT SERVICES?

LOG ANALYSIS

WHERE IS MY CONFIGURATION?ARE ALL SERVICES CONFIGURATION UP TO DATE?

CENTRALIZED CONFIGURATION

WHO IS CALLING WHO?DISTRIBUTED TRACING

WHAT HARDWARE RESOURCES ARE USED?MONITORING

HOW TO • DEPLOY SERVICES?• SCALE SERVICES?• UPGRADE SERVICES?• RESTART FAILING SERVICES?

SERVICE MANAGEMENT

HOW ARE MY SERVICES PERFORMING?

OBSERVABILITY

HOW TO HIDE PRIVATE SERVICES?HOW TO PROTECT PUBLIC SERVICES?

EDGE SERVER

HOW TO CONTROL ROUTING?• RATE LIMITING• CANARY & BLUE/GREEN UPGRADES

TRAFFIC MANAGMENT

HOW TO HANDLE FAULTS?• SLOW OR NO RESPONSE• TEMPORARY FAULTS• OVERLOAD

RESILIENCE

Service D

Service A Service B Service C

Page 16: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

WHERE ARE WE?• Why?

• Challenges

• Open Source to the rescue!

• Overlaps

• Demo

• Summary

Page 17: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

THE EVOLUTION

2014

SPRINGCLOUD

Client

Service D

Spring Cloud

Service B

Spring Cloud

Service C

Spring Cloud

Service A

Spring Cloud

Spring Cloud = Application libraries + Services

Discovery Service

(Netflix Eureka)

Circuit BreakerDashboard

(Netflix Turbine + Hystrix Dashboard)

OAuthAuthorization

Server(spring-security)

Config Server(spring-cloud-config

+ GitHub)

Edge server (Netflix Zuul)

Event Bus(RabbitMQ)

Limited to microservices based on Java and Spring

Page 18: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

THE EVOLUTION

2013

GOOGLEKUBERNETES

DOCKER

2014

SPRINGCLOUD

Server

Docker engine

Container C Container D

Container A Container B

Page 19: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

THE EVOLUTION

2013

GOOGLEKUBERNETES

DOCKER

2014

SPRINGCLOUD

Server

Docker engine

Container C Container D

Container A Container B

>1 server required in production

• High Availability• Scalability

Page 20: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

THE EVOLUTION

Master Node Worker Node

Container Runtime

Container C Container D

Observe

Analyze

Act

The control loop

Desired StateStorage

Operator

Updates theDesired state

Reads theDesired state

Reads theActual state

Update the

Actual state

Container A Container B

Kubernetes: A Container Orchestrator

• A cluster of servers running Docker engine acting as one big server

• Enforces actual state = desired state

Page 21: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

THE EVOLUTION

2015

K8S V1.0CNCF

SERVICE MESH

ISTIO

20142013

GOOGLEKUBERNETES

DOCKERSPRINGCLOUD

2016 2017 2018

REDHATOPENSHIFT 3.0

GOOGLEGKE

AMAZONEKS

AZUREAKS

VMWAREPKS

2019

Service Mesh Control plane

Ingress Gateway

Service Mesh Proxy

Egress Gateway

Service Mesh Proxy

Microservice B

Service Mesh Proxy

Microservice A

Service Mesh Proxy

Service Mesh Data plane

ISTIO: Service mesh

Observability, Security, Resilience and Traffic Management

Page 22: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

THE EVOLUTION

2015

K8S V1.0CNCF

20142013

GOOGLEKUBERNETES

DOCKERSPRINGCLOUD

2016 2017 2018

REDHATOPENSHIFT 3.0

GOOGLEGKE

AMAZONEKS

AZUREAKS

VMWAREPKS

2019100% OPEN SOURCE

SERVICE MESH

ISTIO

Page 23: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

CAPABILITY MAPPING

HOW TO HANDLE FAULTS?• SLOW OR NO RESPONSE• TEMPORARY FAULTS• OVERLOAD

WHERE ARE THE SERVICES?WHICH SERVICE TO CALL?

WHERE ARE THE LOGS?

HOW TO HIDE PRIVATE SERVICES?HOW TO PROTECT PUBLIC SERVICES?

HOW TO • DEPLOY SERVICES?• SCALE SERVICES?• UPGRADE SERVICES?• RESTART FAILING SERVICES?

WHERE IS MY CONFIGURATION?ARE ALL SERVICES CONFIGURATION UP TO DATE?

RESILIENCEDISCOVERY SERVER

HOW TO CORRELATE LOGSFROM DIFFERENT SERVICES?

LOG ANALYSIS

CENTRALIZED CONFIGURATION

WHAT HARDWARE RESOURCES ARE USED?

WHO IS CALLING WHO?DISTRIBUTED TRACING

MONITORING

SERVICE MANAGEMENTOBSERVABILITYHOW ARE MY SERVICES PERFORMING?

EDGE SERVER

Service D

Service A Service B Service C

SPRING CLOUD

ISTIO

KUBERNETES

EFK

HOW TO CONTROL ROUTING?• RATE LIMITING• CANARY & BLUE/GREEN UPGRADES

TRAFFIC MANAGMENT

Page 24: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

WHERE ARE WE?• Why?

• Challenges

• Open Source to the rescue!

• Overlaps

• Demo

• Summary

Page 25: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

OVERLAPS

Capability Spring Cloud Kubernetes Istio

Service Discovery X XCentral Configuration X XEdge Server X X XDistributed Tracing X XResilience X X

Page 26: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

FEATURE COMPLETENESS, E.G. FOR AN EDGE SERVER

Feature Spring CloudGateway

KubernetesIngress Controller

IstioIngress Gateway

Security

- OAuth 2.0 & OIDC X X X- Automated provisioning and

renewal of certificatesX X

Routing

- URL path based X X X- Header based X XObservability XTraffic Management X

Page 27: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

OVERLAPS - HOW TO CHOOSE?

• Prefer platform over application library- Independence of microservice implementations

» E.g. language or frameworks

• Exceptions, i.e. use application library for

1. Managing trace ids in a microservice» Setting inbound trace id on outbound requests

2. Resilience mechanisms, e.g. timeout, retry and circuit breakers» Fine tuning often depends on business logic

Note: Platform based resilience is much better than none at al…

Page 28: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

OVERLAPS - SELECTIONS

Capability Spring Cloud Kubernetes Istio

Service Discovery X XCentral Configuration X XEdge Server X X XDistributed Tracing X XResilience X X

Page 29: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

OVERLAPS – SELECTIONS

Capability Spring Cloud Kubernetes Istio

Service Discovery Netflix EurekaSpring Cloud Load Balancer

Kube Proxy & Service objects

Central Configuration Spring Cloud Config server Config Maps & Secrets

Edge Server Spring Cloud Gateway Ingress Controller Ingress Gateway

Distributed Tracing • Spring Cloud Sleuth• Zipkin

• Jaeger• Zipkin

Resilience Resilience4J Timeout, Retries &Outlier Detection

• Spring Cloud Sleuth • Jaeger

Page 30: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

CAPABILITY MAPPING

HOW TO HANDLE FAULTS?• SLOW OR NO RESPONSE• TEMPORARY FAULTS• OVERLOAD

WHERE ARE THE SERVICES?WHICH SERVICE TO CALL?

WHERE ARE THE LOGS?

HOW TO HIDE PRIVATE SERVICES?HOW TO PROTECT PUBLIC SERVICES?

HOW TO • DEPLOY SERVICES?• SCALE SERVICES?• UPGRADE SERVICES?• RESTART FAILING SERVICES?

WHERE IS MY CONFIGURATION?ARE ALL SERVICES CONFIGURATION UP TO DATE?

RESILIENCEDISCOVERY SERVER

HOW TO CORRELATE LOGSFROM DIFFERENT SERVICES?

LOG ANALYSIS

CENTRALIZED CONFIGURATION

WHAT HARDWARE RESOURCES ARE USED?

WHO IS CALLING WHO?DISTRIBUTED TRACING

MONITORING

SERVICE MANAGEMENTOBSERVABILITYHOW ARE MY SERVICES PERFORMING?

EDGE SERVER

Service D

Service A Service B Service C

SPRING CLOUD

ISTIO

KUBERNETES

EFK

HOW TO CONTROL ROUTING?• RATE LIMITING• CANARY & BLUE/GREEN UPGRADES

TRAFFIC MANAGMENT

Page 31: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

Prometheus

Grafana

• Monitoring

SPRING CLOUD + KUBERNETES + ISTIO

MongoDB

MongoDB

MySQLReview

Product

RecommendationProduct Composite

• Service Management• Service Discovery• Configuration

Kubernetes

Resilience4J

• Resilience

Fluentd

KibanaElastic-search

• Log analysis

Istio Control Plane

Istio Proxy

Istio Proxy

Istio ProxyIstio ProxyIstio Proxy

Kiali

• Traffic Management• Security

• Observability• Distributed tracing Jaeger

Istio Ingress Gateway

• Edge Server

Istio ProxySpring Cloud Sleuth

• Distributed tracing

Page 32: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

WHERE ARE WE?

• Why?• Challenges• Open Source to the rescue!• Overlaps

• Demo- Observability- Logging- Tracing- Monitoring- Resilience

• Summary

Page 33: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

DEMO - OBSERVABILITY

Page 34: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

DEMO - CENTRALIZED LOGGING

Page 35: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

DEMO - CENTRALIZED LOGGING

Page 36: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

DEMO - DISTRIBUTED TRACING

Page 37: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

DEMO - DISTRIBUTED TRACING

Page 38: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

DEMO - MONITORING

Page 39: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

DEMO - RESILIENCE

Page 40: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

DEMO - RESILIENCE

Page 41: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

DEMO - RESILIENCE

Page 42: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

SUMMARY

• Microservices promise- Easier to scale- Faster release cycles

• Cooperating microservices è Distributed System- Inherent complexity- Can be managed with Open Source

» Application library, e.g. Spring Cloud» Container orchestrators, e.g. Kubernetes» Service mesh, e.g. Istio

• Handle overlaps

• Works great together!- …if used correctly

Page 43: A MACRO PERSPECTIVE ON THE TOOLBOX FOR MICROSERVICES · 2020-06-10 · Spring Cloud Service A Spring Cloud Spring Cloud = Application libraries + Services Discovery Service (Netflix

RECOMMENDED READING

• Book – Hands-on microserviceshttps://www.packtpub.com/web-development/hands-on-microservices-with-spring-boot-and-spring-cloud

• Blog series – Java & GO based microservices• https://callistaenterprise.se/blogg/teknik/

2015/05/20/blog-series-building-microservices/