Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Awesome tools to level up your Spring Cloud architecture - Pivotal webinar 2016

Awesome tools to level up your Spring Cloud architecture - Pivotal webinar 2016

Getting up and running with Spring Cloud is a breeze. But once the initial setup is done, it needs to be complemented with an ecosystem that can cope with the extra operational complexity and quality concerns. While running Spring Cloud in production for over a year, Pivotal has integrated some interesting tools for documentation, operations and testing.

During this talk you will see a demo of an integrated platform based on Spring Cloud, including tools like Spring Cloud Contract, wiremock, saboteur, ELK, Spinnaker, Spring Boot Admin and more. One of these tools is a dashboard for visualising Pivotal’s Spring Cloud microservice architecture, which has recently been open sourced.

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

http://connect.pivotal.io/OSS_Webinar_8-Tools-Spring-Cloud-Arch_Q416_8-Awesome-Tools-for-Spring-Cloud-Architecture.html

Andreas Evers

December 08, 2016
Tweet

More Decks by Andreas Evers

Other Decks in Technology

Transcript

  1. © 2016 Pivotal Awesome Tools to Level Up Your Spring

    Cloud Architecture Andreas Evers, Principal Consultant, Ordina
  2. ZUUL EUREKA CONFIG SERVER SPRING BOOT µS HYSTRIX DASHBOARD TURBINE

    CONFIG BUS DATA FLOW ZIPKIN (SLEUTH) ATLAS TASK STREAM
  3. ZUUL EUREKA CONFIG SERVER SPRING BOOT µS HYSTRIX DASHBOARD TURBINE

    SPRING BOOT ADMIN MICROSERVICES DASHBOARD SPINNAKER CONFIG BUS DATA FLOW ZIPKIN (SLEUTH) ATLAS TASK PROMETHEUS CONTRACT REST DOCS SONAR / OWASP / … WIREMOCK TROUBLEMAKER ELK STREAM SABOTEUR
  4. • Fairly simple to integrate with Pivotal Cloud Foundry •

    Use a Prometheus exporter • Scrape metrics for PCF deployments, but also BOSH metrics
  5. 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? “
  6. 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? “
  7. Which versions are deployed where? Are my deployments successful? Which

    versions do my dependencies have? Where can I find everything related to my services? “
  8. HTTP 500 Random Data Malformed Data Empty Response Total Network

    Partition Remote Service Not Listening to Port Packet Loss TCP Connection Timeout (~ firewall)
  9. Six principles for building fault tolerant microservices on the JVM

    by Christopher Batey https://www.youtube.com/watch?v=dKWNZnuZhd0
  10. 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); } }
  11. interface V1{}; interface V2{}; class Car { @JsonView(V1.class) private String

    brand; @JsonView(V2.class) private int doors; ... }
  12. @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); } }
  13. AWS re:Invent 2016: Multi-Region Delivery Netflix Style (DEV311) by Andy

    Glover https://www.youtube.com/watch?v=1HiilTXQo4w
  14. ZUUL EUREKA CONFIG SERVER SPRING BOOT µS HYSTRIX DASHBOARD TURBINE

    SPRING BOOT ADMIN MICROSERVICES DASHBOARD SPINNAKER CONFIG BUS DATA FLOW ZIPKIN (SLEUTH) ATLAS TASK PROMETHEUS CONTRACT REST DOCS SONAR / OWASP / … WIREMOCK TROUBLEMAKER ELK STREAM SABOTEUR
  15. 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 FLOW ZIPKIN (SLEUTH) ATLAS TASK PCF METRICS* CONTRACT REST DOCS SONAR / OWASP / … WIREMOCK TROUBLEMAKER PCF LOG SEARCH PCF METRICS* STREAM SABOTEUR
  16. • Cloud Foundry Service Broker / BOSH release • NetflixOSS

    and more as native managed PCF services • Simple install and configure NetflixOSS • Reduce setup time and cost across many environments • Simple to operate, upgrade with zero downtime • PCF managed • dramatically lower ops requirement • Security • OAUTH2, HTTPS, PCF UAA integration, Role based access control SPRING CLOUD SERVICES FOR PCF