Upload
spring-by-pivotal
View
997
Download
0
Embed Size (px)
Citation preview
© 2016 Pivotal
Awesome Tools to Level Up Your Spring Cloud Architecture
Andreas Evers, Principal Consultant, Ordina
ZUUL
EUREKA
CONFIG SERVERSPRING BOOT µS
HYSTRIX DASHBOARD
TURBINE
CONFIG BUS
DATA FLOW
ZIPKIN (SLEUTH)
ATLAS
TASK
STREAM
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
https://ordina-jworks.github.io/monitoring/2016/09/23/Monitoring-with-Prometheus.html
• Fairly simple to integrate with Pivotal Cloud Foundry• Use a Prometheus exporter• Scrape metrics for PCF deployments, but also BOSH
metrics
Graphite
InfluxDB
OpenTSDB
NewRelic
AppDynamics
https://prometheus.io/docs/introduction/comparison/
Modelling Microservices at Spotify by Petter Måhlénhttps://www.youtube.com/watch?v=7XDA044tl8k
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?
“
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?
“
Which versions are deployed where?
Are my deployments successful?
Which versions do my dependencies have?
Where can I find everything related to my services?
“
SABOTEUR
WIREMOCK
HTTP 500Random DataMalformed DataEmpty Response
Total Network PartitionRemote Service Not Listening to Port Packet LossTCP Connection Timeout (~ firewall)
Six principles for building fault tolerant microservices on the JVM by Christopher Bateyhttps://www.youtube.com/watch?v=dKWNZnuZhd0
Returns 10 propertiesUses property 1-2
Uses property 1-2
Uses property 3-4
Uses property 3-5
Uses property 4-5
Returns 10 properties
Returns 10 propertiesUses property 1-2
Consumer 1 uses property 1-2
PR
Returns 10 propertiesUses property 1-2
Sonarqube / OWASP / FindSecBugs / …
generatedsnippets
manually written
template
generated HTML
integrationtests
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); } }
interface V1{};interface V2{};
class Car {
@JsonView(V1.class) private String brand;
@JsonView(V2.class) private int doors;
...
}
@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); }}
AWS re:Invent 2016: Multi-Region Delivery Netflix Style (DEV311) by Andy Gloverhttps://www.youtube.com/watch?v=1HiilTXQo4w
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
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
• 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
59
Twitter: twitter.com/andreasevers
Tech blog: ordina-jworks.github.io
Demo environment: TVH: www.tvh.com