SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
© Copyright 2018 Pivotal Software, Inc. All rights Reserved. Version 1.0
Olga Maciaszek-Sharma, @olga_maciaszek
Jakub Pilimon, @JakubPilimon
Johannesburg, 09/04/2019
How to live in a
post-Spring-Cloud-Netflix world
Szczebrzeszyn
Chrząszczyżewoszyce
About Us
Olga Maciaszek-Sharma
(@olga_maciaszek)
Senior Software Engineer in Spring
Cloud team. Works mostly on:
● Spring Cloud Contract
● Spring Cloud Netflix
● Spring Cloud Gateway
● Spring Cloud OpenFeign
https://github.com/OlgaMaciaszek
Jakub Pilimon
(@JakubPilimon)
Developer Advocate, Trainer
● Domain-Driven Design
● Architecture
● Test-Driven Development
Blog: pillopl.github.io
https://github.com/ddd-by-examples
Spring + Netflix during Cloud-Native transition
Spring Cloud Netflix Eureka Client
Spring Cloud Netflix Eureka Server
Spring Cloud Netflix Archaius
Spring Cloud Netflix Ribbon
Spring Cloud Netflix Zuul
Spring Cloud Netflix Hystrix
Spring Cloud Netflix Hystrix Dashboard
Spring Cloud Netflix Turbine
Spring Cloud Netflix Hystrix Stream
Spring Cloud Netflix Turbine Stream
Netflix projects passed into maintenance or superseded
● Ribbon, 2016 -
https://github.com/Netflix/ribbon#project-status-on-maintenance
● Hystrix Dashboard → Atlas
● Zuul 1 → backward incompatible Zuul 2
● Archaius 1 → backward incompatible Archaius 2
● Hystrix, 2018 - https://github.com/Netflix/Hystrix#hystrix-status
Spring Cloud Netflix
Maintenance Mode
Greenwich RC1 announcement
Maintenance Mode
No new features
Fixes for blockers and security issues only
Considering and reviewing small PRs from the community
Spring + Netflix going into maintenance
Spring Cloud Netflix Eureka Client
Spring Cloud Netflix Eureka Server
Spring Cloud Netflix Archaius
Spring Cloud Netflix Ribbon
Spring Cloud Netflix Zuul
Spring Cloud Netflix Hystrix
Spring Cloud Netflix Hystrix Dashboard
Spring Cloud Netflix Turbine
Spring Cloud Netflix Hystrix Stream
Spring Cloud Netflix Turbine Stream
CardService
UserService
Proxy
FraudVerifier
Create
new user
Verify new user
Verify new card
Register
application
Create
new user
Demo
Old Stack
Card Application
Service
(Ribbon Load Balancer)
Zuul Proxy
(Hystrix, Hystrix
Dashboard)
User Service
(Hystrix, Hystrix
Dashboard)
Fraud
Verifier
Turbine App
Ignored
Service
Eureka
Service
Discovery
Spring Cloud New Stack
DEMO
Spring Cloud New Stack
Time to make the transition
Spring Cloud Netflix Ribbon → Spring Cloud Load Balancer
Currently `@LoadBalancerClietn` works with WebFlux only
Lacking implementations
Spring Cloud Netflix Ribbon still used in other
projects
Spring Cloud Netflix Zuul → Spring Cloud Gateway
Gateway: More than 20 Filters
As the infra is no longer blocking you, you can now move to reactive Web in your
services - but should you?
zuul:
● Non-reactive, Servlet-based
● Routing by serviceId by default
● Possibility to set up options via properties, including ignored
services, patterns and headers and ignoring sensitive headers
(true by default)
● Routes set in properties with limited config (id, serviceId,
path, url, stripPrefix, retrayable, sensitiveHeaders,
customSensitiveHeaders)
Gateway:
● Reactive, Netty-based
● Explicit route setup required
● Possibility to define routes both via properties and via functional
● configuration
● Predicates and Filters
● All headers passed on by default
Spring Cloud Hystrix → SC CircuitBreaker + Resilience4J
SC Hystrix:
● Uses Hystrix underneath
● Possibility to use via @HystrixCommand annotation
● Possibility to pass fallback method in annotation
SC XCircuitBreaker:
● A Spring Cloud abstraction for circuit breakers
https://github.com/spring-cloud-incubator/spring-cloud-circuitbreak
er
● Currently supports Hystrix and Resilience4J
● Using via injected CircuitBreakerFactory bean and its
create() method
● Possibility to configure by setting up
Customizer<CircuitBreakerFactory> bean in a
@Configurationclass
Spring Cloud Netflix Turbine → Micrometer + Prometheus
Turbine:
● Aggregated Hystrix metrics from various applications via HTTP
● Via the Turbine Stream, managed to collect those via messaging
Micrometer + Prometheus:
● Micrometer - a metrics collection facade
● Its aim is to allow you to time, count, and gauge your code with a
vendor neutral API
● One of the monitoring systems to which you can output the metrics
is Prometheus
Spring Cloud Netflix Archaius → SC Config Server
Demo
New Stack
Card Application
Service
(SC
LoadBalancerClient,
Micrometer)
Gateway
Proxy
(CircuitBreaker,
Micrometer)
User Service
([Resilience4J],
Micrometer)
Fraud Service
(Micrometer)
Prometheus
Ignored
Service
[Eureka
Service
Discovery]
We might say that they can switch from Hystrix to Resilience4J, but since it's external,
we will probably not show it.
Eureka Discovery can now be switched to a different solution, but it’s not in
maintenance.
Spring Cloud New Stack
Should you make the change?
At least 1 year from Greenwich GA, then, even though the team has to do some work
to enable the transition, it will be deprecated, might happen even already for Hoxton.
Possible Issues
Check out master and old-stack branches
https://github.com/OlgaMaciaszek/spring-cloud-n
etflix-demo
Check out our projects
Transforming How The World Builds Software
© Copyright 2019 Pivotal Software, Inc. All rights Reserved.

Contenu connexe

Tendances

Tendances (20)

Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for Unknowns
Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for UnknownsTectonic Summit 2016: Multi-Cluster Kubernetes: Planning for Unknowns
Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for Unknowns
 
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an EnterpriseKubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
 
Kubernetes and the Rise of Application-centric Computing
Kubernetes and the Rise of Application-centric ComputingKubernetes and the Rise of Application-centric Computing
Kubernetes and the Rise of Application-centric Computing
 
Gdsc muk - innocent
Gdsc   muk - innocentGdsc   muk - innocent
Gdsc muk - innocent
 
OMG Namespaces! | Raffaele Di Fazio
OMG Namespaces! | Raffaele Di FazioOMG Namespaces! | Raffaele Di Fazio
OMG Namespaces! | Raffaele Di Fazio
 
Updating Kubernetes With Helm Charts: Build, Test, Deploy with Codefresh and...
 Updating Kubernetes With Helm Charts: Build, Test, Deploy with Codefresh and... Updating Kubernetes With Helm Charts: Build, Test, Deploy with Codefresh and...
Updating Kubernetes With Helm Charts: Build, Test, Deploy with Codefresh and...
 
Openstack days sv building highly available services using kubernetes (preso)
Openstack days sv   building highly available services using kubernetes (preso)Openstack days sv   building highly available services using kubernetes (preso)
Openstack days sv building highly available services using kubernetes (preso)
 
Istio canaries and kubernetes
Istio  canaries and kubernetesIstio  canaries and kubernetes
Istio canaries and kubernetes
 
Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...
 
Kubernetes extensibility
Kubernetes extensibilityKubernetes extensibility
Kubernetes extensibility
 
Spinnaker on Kubernetes
Spinnaker on KubernetesSpinnaker on Kubernetes
Spinnaker on Kubernetes
 
Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...
Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...
Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...
 
Intro to Helm for Kubernetes
Intro to Helm for KubernetesIntro to Helm for Kubernetes
Intro to Helm for Kubernetes
 
Level-up your gaming telemetry using Kafka Streams | DevNation Tech Talk
Level-up your gaming telemetry using Kafka Streams | DevNation Tech TalkLevel-up your gaming telemetry using Kafka Streams | DevNation Tech Talk
Level-up your gaming telemetry using Kafka Streams | DevNation Tech Talk
 
Kubernetes Native Serverless solution: Kubeless
Kubernetes Native Serverless solution: KubelessKubernetes Native Serverless solution: Kubeless
Kubernetes Native Serverless solution: Kubeless
 
Getting started with Azure Container Service (AKS)
Getting started with Azure Container Service (AKS)Getting started with Azure Container Service (AKS)
Getting started with Azure Container Service (AKS)
 
Using source code management patterns to configure and secure your Kubernetes...
Using source code management patterns to configure and secure your Kubernetes...Using source code management patterns to configure and secure your Kubernetes...
Using source code management patterns to configure and secure your Kubernetes...
 
Knative And Pivotal Function As a Service
Knative And Pivotal Function As a ServiceKnative And Pivotal Function As a Service
Knative And Pivotal Function As a Service
 
Kubernetes @ Nanit by Chen Fisher
Kubernetes @ Nanit by Chen FisherKubernetes @ Nanit by Chen Fisher
Kubernetes @ Nanit by Chen Fisher
 
Kubernetes extensibility: crd & operators
Kubernetes extensibility: crd & operators Kubernetes extensibility: crd & operators
Kubernetes extensibility: crd & operators
 

Similaire à How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Jakub Pilimon

Similaire à How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Jakub Pilimon (20)

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
 
Microservices with kubernetes @190316
Microservices with kubernetes @190316Microservices with kubernetes @190316
Microservices with kubernetes @190316
 
Sumo Logic Cert Jam - Advanced Metrics with Kubernetes
Sumo Logic Cert Jam - Advanced Metrics with KubernetesSumo Logic Cert Jam - Advanced Metrics with Kubernetes
Sumo Logic Cert Jam - Advanced Metrics with Kubernetes
 
Ultimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on KubernetesUltimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on Kubernetes
 
Resilient Microservices with Spring Cloud
Resilient Microservices with Spring CloudResilient Microservices with Spring Cloud
Resilient Microservices with Spring Cloud
 
AWS Community Day Bangkok 2019 - Hello ClaudiaJS
AWS Community Day Bangkok 2019 - Hello ClaudiaJSAWS Community Day Bangkok 2019 - Hello ClaudiaJS
AWS Community Day Bangkok 2019 - Hello ClaudiaJS
 
[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex Gervais
[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex Gervais[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex Gervais
[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex Gervais
 
The path to a serverless-native era with Kubernetes
The path to a serverless-native era with KubernetesThe path to a serverless-native era with Kubernetes
The path to a serverless-native era with Kubernetes
 
Better Deployments with Sub Environments Using Spring Cloud and Netflix Ribbon
Better Deployments with Sub Environments Using Spring Cloud and Netflix RibbonBetter Deployments with Sub Environments Using Spring Cloud and Netflix Ribbon
Better Deployments with Sub Environments Using Spring Cloud and Netflix Ribbon
 
Microservices and modularity with java
Microservices and modularity with javaMicroservices and modularity with java
Microservices and modularity with java
 
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 ...
 
Developing Serverless Applications on Kubernetes with Knative - OSCON 2019
Developing Serverless Applications on Kubernetes with Knative - OSCON 2019Developing Serverless Applications on Kubernetes with Knative - OSCON 2019
Developing Serverless Applications on Kubernetes with Knative - OSCON 2019
 
Confluent Operator as Cloud-Native Kafka Operator for Kubernetes
Confluent Operator as Cloud-Native Kafka Operator for KubernetesConfluent Operator as Cloud-Native Kafka Operator for Kubernetes
Confluent Operator as Cloud-Native Kafka Operator for Kubernetes
 
Session 8 - Creating Data Processing Services | Train the Trainers Program
Session 8 - Creating Data Processing Services | Train the Trainers ProgramSession 8 - Creating Data Processing Services | Train the Trainers Program
Session 8 - Creating Data Processing Services | Train the Trainers Program
 
Google Cloud Next '22 Recap: Serverless & Data edition
Google Cloud Next '22 Recap: Serverless & Data editionGoogle Cloud Next '22 Recap: Serverless & Data edition
Google Cloud Next '22 Recap: Serverless & Data edition
 
Running Docker in Production
Running Docker in ProductionRunning Docker in Production
Running Docker in Production
 
Deploying NGINX Plus & Kubernetes on Google Cloud Platform
Deploying NGINX Plus & Kubernetes on Google Cloud PlatformDeploying NGINX Plus & Kubernetes on Google Cloud Platform
Deploying NGINX Plus & Kubernetes on Google Cloud Platform
 
Netflix Architecture and Open Source
Netflix Architecture and Open SourceNetflix Architecture and Open Source
Netflix Architecture and Open Source
 
DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...
DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...
DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...
 
Springboot Microservices
Springboot MicroservicesSpringboot Microservices
Springboot Microservices
 

Plus de VMware Tanzu

Plus de VMware Tanzu (20)

What AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About It
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at Scale
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a Product
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
 
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense SolutionsSpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
 

Dernier

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Dernier (20)

8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodology
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
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
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
%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
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
%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
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 

How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Jakub Pilimon

  • 1. © Copyright 2018 Pivotal Software, Inc. All rights Reserved. Version 1.0 Olga Maciaszek-Sharma, @olga_maciaszek Jakub Pilimon, @JakubPilimon Johannesburg, 09/04/2019 How to live in a post-Spring-Cloud-Netflix world
  • 3. About Us Olga Maciaszek-Sharma (@olga_maciaszek) Senior Software Engineer in Spring Cloud team. Works mostly on: ● Spring Cloud Contract ● Spring Cloud Netflix ● Spring Cloud Gateway ● Spring Cloud OpenFeign https://github.com/OlgaMaciaszek Jakub Pilimon (@JakubPilimon) Developer Advocate, Trainer ● Domain-Driven Design ● Architecture ● Test-Driven Development Blog: pillopl.github.io https://github.com/ddd-by-examples
  • 4. Spring + Netflix during Cloud-Native transition Spring Cloud Netflix Eureka Client Spring Cloud Netflix Eureka Server Spring Cloud Netflix Archaius Spring Cloud Netflix Ribbon Spring Cloud Netflix Zuul Spring Cloud Netflix Hystrix Spring Cloud Netflix Hystrix Dashboard Spring Cloud Netflix Turbine Spring Cloud Netflix Hystrix Stream Spring Cloud Netflix Turbine Stream
  • 5. Netflix projects passed into maintenance or superseded ● Ribbon, 2016 - https://github.com/Netflix/ribbon#project-status-on-maintenance ● Hystrix Dashboard → Atlas ● Zuul 1 → backward incompatible Zuul 2 ● Archaius 1 → backward incompatible Archaius 2 ● Hystrix, 2018 - https://github.com/Netflix/Hystrix#hystrix-status
  • 6. Spring Cloud Netflix Maintenance Mode Greenwich RC1 announcement
  • 7. Maintenance Mode No new features Fixes for blockers and security issues only Considering and reviewing small PRs from the community
  • 8. Spring + Netflix going into maintenance Spring Cloud Netflix Eureka Client Spring Cloud Netflix Eureka Server Spring Cloud Netflix Archaius Spring Cloud Netflix Ribbon Spring Cloud Netflix Zuul Spring Cloud Netflix Hystrix Spring Cloud Netflix Hystrix Dashboard Spring Cloud Netflix Turbine Spring Cloud Netflix Hystrix Stream Spring Cloud Netflix Turbine Stream
  • 9. CardService UserService Proxy FraudVerifier Create new user Verify new user Verify new card Register application Create new user
  • 10. Demo Old Stack Card Application Service (Ribbon Load Balancer) Zuul Proxy (Hystrix, Hystrix Dashboard) User Service (Hystrix, Hystrix Dashboard) Fraud Verifier Turbine App Ignored Service Eureka Service Discovery
  • 11. Spring Cloud New Stack DEMO
  • 12. Spring Cloud New Stack Time to make the transition
  • 13. Spring Cloud Netflix Ribbon → Spring Cloud Load Balancer Currently `@LoadBalancerClietn` works with WebFlux only Lacking implementations Spring Cloud Netflix Ribbon still used in other projects
  • 14. Spring Cloud Netflix Zuul → Spring Cloud Gateway Gateway: More than 20 Filters As the infra is no longer blocking you, you can now move to reactive Web in your services - but should you? zuul: ● Non-reactive, Servlet-based ● Routing by serviceId by default ● Possibility to set up options via properties, including ignored services, patterns and headers and ignoring sensitive headers (true by default) ● Routes set in properties with limited config (id, serviceId, path, url, stripPrefix, retrayable, sensitiveHeaders, customSensitiveHeaders) Gateway: ● Reactive, Netty-based ● Explicit route setup required ● Possibility to define routes both via properties and via functional
  • 15. ● configuration ● Predicates and Filters ● All headers passed on by default
  • 16. Spring Cloud Hystrix → SC CircuitBreaker + Resilience4J SC Hystrix: ● Uses Hystrix underneath ● Possibility to use via @HystrixCommand annotation ● Possibility to pass fallback method in annotation SC XCircuitBreaker: ● A Spring Cloud abstraction for circuit breakers https://github.com/spring-cloud-incubator/spring-cloud-circuitbreak er ● Currently supports Hystrix and Resilience4J ● Using via injected CircuitBreakerFactory bean and its create() method ● Possibility to configure by setting up Customizer<CircuitBreakerFactory> bean in a @Configurationclass
  • 17. Spring Cloud Netflix Turbine → Micrometer + Prometheus Turbine: ● Aggregated Hystrix metrics from various applications via HTTP ● Via the Turbine Stream, managed to collect those via messaging Micrometer + Prometheus: ● Micrometer - a metrics collection facade ● Its aim is to allow you to time, count, and gauge your code with a vendor neutral API ● One of the monitoring systems to which you can output the metrics is Prometheus
  • 18. Spring Cloud Netflix Archaius → SC Config Server
  • 19. Demo New Stack Card Application Service (SC LoadBalancerClient, Micrometer) Gateway Proxy (CircuitBreaker, Micrometer) User Service ([Resilience4J], Micrometer) Fraud Service (Micrometer) Prometheus Ignored Service [Eureka Service Discovery] We might say that they can switch from Hystrix to Resilience4J, but since it's external, we will probably not show it. Eureka Discovery can now be switched to a different solution, but it’s not in maintenance.
  • 20. Spring Cloud New Stack Should you make the change? At least 1 year from Greenwich GA, then, even though the team has to do some work to enable the transition, it will be deprecated, might happen even already for Hoxton.
  • 22. Check out master and old-stack branches https://github.com/OlgaMaciaszek/spring-cloud-n etflix-demo
  • 23. Check out our projects
  • 24. Transforming How The World Builds Software © Copyright 2019 Pivotal Software, Inc. All rights Reserved.