Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Awesome Tools to Level Up Your Spring Cloud Architecture - Spring I/O 2017

496 views

Published on

Documenting, testing, troubleshooting, and monitoring highly distributed systems in microservice architectures is hard. Finding quality, complementary tools in the wilds of open source can be even harder. Join this talk for a pragmatic look at taming some of the challenges of running microservices in production.

Published in: Technology

Awesome Tools to Level Up Your Spring Cloud Architecture - Spring I/O 2017

  1. 1. Awesome Tools to Level Up Your Spring Cloud Architecture Andreas Evers @andreasevers
  2. 2. ZUUL EUREKA CONFIG SERVERSPRING BOOT µS HYSTRIX DASHBOARD TURBINE CONFIG BUS DATA FLOW ZIPKIN (SLEUTH) ATLAS TASK STREAM
  3. 3. ZUUL EUREKA CONFIG SERVERSPRING BOOT µS HYSTRIX DASHBOARD TURBINE SPRING BOOT ADMIN MICROSERVICES DASHBOARD SPINNAKER CONFIG BUS DATA FLOWZIPKIN (SLEUTH) ATLAS TASK PROMETHEUS CONTRACT REST DOCS SONAR / OWASP / … WIREMOCK TROUBLEMAKERELK STREAM SABOTEUR
  4. 4. https://ordina-jworks.github.io/monitoring/2016/09/23/Monitoring-with-Prometheus.html
  5. 5. Graphite InfluxDB OpenTSDB NewRelic AppDynamics Dynatrace https://prometheus.io/docs/introduction/comparison/
  6. 6. Modelling Microservices at Spotify by Petter Måhlén https://www.youtube.com/watch?v=7XDA044tl8k
  7. 7. What’s the compliancy & maturity of the services? How can I accommodate recruitment & knowledge sharing? What is the technical debt of the services? Which teams do I need to chase? Are budget & priorities in line with the architectural goals? How do I manage change in a DevOps organisation? “
  8. 8. What functionality can I reuse? Which resources are exposed by what services? Which events & messages are sent back and forth? Which services are impacted by a change? How does a functional flow travel through the layers of the architecture? What is coming up, & can I define the future state of the ecosystem? “
  9. 9. Which versions are deployed where? Are my deployments successful? Which versions do my dependencies have? Where can I find everything related to my services? “
  10. 10. SABOTEUR WIREMOCK
  11. 11. HTTP 500 Random Data Malformed Data Empty Response Total Network Partition Remote Service Not Listening to Port Packet Loss TCP Connection Timeout (~ firewall)
  12. 12. Six principles for building fault tolerant microservices on the JVM by Christopher Batey https://www.youtube.com/watch?v=dKWNZnuZhd0
  13. 13. Returns 10 propertiesUses property 1-2
  14. 14. Uses property 1-2 Uses property 3-4 Uses property 3-5 Uses property 4-5 Returns 10 properties
  15. 15. Returns 10 propertiesUses property 1-2 Consumer 1 uses property 1-2 PR
  16. 16. Returns 10 propertiesUses property 1-2
  17. 17. Sonarqube / OWASP / FindSecBugs / …
  18. 18. generated snippets manually written template generated HTML integration tests
  19. 19. interface CompactView{}; class Car { @JsonView(CompactView.class) private String brand; private int doors; ... } @RestController class CarController { @JsonView(CompactView.class) @GetMapping("/car") public String getCar() { return new Car("BMW", 5); } }
  20. 20. interface V1{}; interface V2{}; class Car { @JsonView(V1.class) private String brand; @JsonView(V2.class) private int doors; ... }
  21. 21. @RestController class CarController { @GetMapping(path = "/car", produces = "application/vnd.pvt.car.v1+json") @JsonView(V1.class) public String getCarV1() { return new Car("BMW", 5); } @GetMapping(path = "/car", produces = "application/vnd.pvt.car.v2+json") @JsonView(V2.class) public String getCarV2() { return new Car("BMW", 5); } }
  22. 22. AWS re:Invent 2016: Multi-Region Delivery Netflix Style (DEV311) by Andy Glover https://www.youtube.com/watch?v=1HiilTXQo4w
  23. 23. ZUUL EUREKA CONFIG SERVERSPRING BOOT µS HYSTRIX DASHBOARD TURBINE SPRING BOOT ADMIN MICROSERVICES DASHBOARD SPINNAKER CONFIG BUS DATA FLOWZIPKIN (SLEUTH) ATLAS TASK PROMETHEUS CONTRACT REST DOCS SONAR / OWASP / … WIREMOCK TROUBLEMAKERELK STREAM SABOTEUR
  24. 24. ZUUL SPRING CLOUD SERVICES SPRING CLOUD SERVICES SPRING BOOT µS SPRING CLOUD SERVICES SPRING CLOUD SERVICES PCF APPS MANAGER MICROSERVICES DASHBOARD CONCOURSE, SPINNAKER CONFIG BUS DATA FLOWZIPKIN (SLEUTH) ATLAS TASK PCF METRICS* CONTRACT REST DOCS SONAR / OWASP / … WIREMOCK TROUBLEMAKER PCF LOG SEARCH PCF METRICS* STREAM SABOTEUR
  25. 25. 66 @spring_io #springio17 TWITTER: twitter.com/andreasevers TECH BLOG: ordina-jworks.github.io DEMO ENVIRONMENT: TVH: www.tvh.com

×