Awesome tools to level up your spring cloud architecture pivotal webinar 2016 final

59
© 2016 Pivotal Awesome Tools to Level Up Your Spring Cloud Architecture Andreas Evers, Principal Consultant, Ordina

Transcript of Awesome tools to level up your spring cloud architecture pivotal webinar 2016 final

Page 1: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

© 2016 Pivotal

Awesome Tools to Level Up Your Spring Cloud Architecture

Andreas Evers, Principal Consultant, Ordina

Page 2: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 3: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 4: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

ZUUL

EUREKA

CONFIG SERVERSPRING BOOT µS

HYSTRIX DASHBOARD

TURBINE

CONFIG BUS

DATA FLOW

ZIPKIN (SLEUTH)

ATLAS

TASK

STREAM

Page 5: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

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

Page 6: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 7: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 8: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 9: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 10: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 11: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 12: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 13: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 14: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

https://ordina-jworks.github.io/monitoring/2016/09/23/Monitoring-with-Prometheus.html

Page 15: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 16: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

• Fairly simple to integrate with Pivotal Cloud Foundry• Use a Prometheus exporter• Scrape metrics for PCF deployments, but also BOSH

metrics

Page 17: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

Graphite

InfluxDB

OpenTSDB

NewRelic

AppDynamics

https://prometheus.io/docs/introduction/comparison/

Page 18: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 19: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 20: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 21: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 22: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

Modelling Microservices at Spotify by Petter Måhlénhttps://www.youtube.com/watch?v=7XDA044tl8k

Page 23: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

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?

Page 24: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

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?

Page 25: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

Which versions are deployed where?

Are my deployments successful?

Which versions do my dependencies have?

Where can I find everything related to my services?

Page 26: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 27: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 28: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 29: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 30: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 31: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 32: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 33: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

SABOTEUR

WIREMOCK

Page 34: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

HTTP 500Random DataMalformed DataEmpty Response

Total Network PartitionRemote Service Not Listening to Port Packet LossTCP Connection Timeout (~ firewall)

Page 35: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

Six principles for building fault tolerant microservices on the JVM by Christopher Bateyhttps://www.youtube.com/watch?v=dKWNZnuZhd0

Page 36: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 37: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 38: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 39: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

Returns 10 propertiesUses property 1-2

Page 40: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

Uses property 1-2

Uses property 3-4

Uses property 3-5

Uses property 4-5

Returns 10 properties

Page 41: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

Returns 10 propertiesUses property 1-2

Consumer 1 uses property 1-2

PR

Page 42: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

Returns 10 propertiesUses property 1-2

Page 43: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

Sonarqube / OWASP / FindSecBugs / …

Page 44: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 45: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 46: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

generatedsnippets

manually written

template

generated HTML

integrationtests

Page 47: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

interface CompactView {};

class Car {

@JsonView(CompactView.class) private String brand;

private int doors;

...

}

@RestControllerclass CarController {

@JsonView(CompactView.class) @GetMapping("/car") public String getCar() { return new Car("BMW", 5); } }

Page 48: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

interface V1{};interface V2{};

class Car {

@JsonView(V1.class) private String brand;

@JsonView(V2.class) private int doors;

...

}

Page 49: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

@RestControllerclass 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); }}

Page 50: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 51: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 52: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 53: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 54: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

AWS re:Invent 2016: Multi-Region Delivery Netflix Style (DEV311) by Andy Gloverhttps://www.youtube.com/watch?v=1HiilTXQo4w

Page 55: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

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

Page 56: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

ZUUL

SPRING CLOUD SERVICES

SPRING CLOUD SERVICESSPRING 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

TROUBLEMAKERPCF LOG SEARCH PCF METRICS*

STREAM

SABOTEUR

Page 57: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

• 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

Page 58: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final
Page 59: Awesome tools to level up your spring cloud architecture   pivotal webinar 2016 final

59

Twitter: twitter.com/andreasevers

Tech blog: ordina-jworks.github.io

Demo environment: TVH: www.tvh.com