Delivering
Microservices
OVerview
● Pipeline
● Ecosystem
● Microservice
Pipeline
Pipeline
● Version control - everything is in version control
● Commit Build - build, unit-test, static analysis/inspect
● Artifact Repository/Registry - store build once deploy many
● Deployment - options, ecosystem adds challenge
● Quality - automated acceptance testing
● Release - blue green?
Pipeline
Pipeline, rugged
● OWASP ZAP - Penetration and dynamic
testing
● Jmeter - Performance
● Resilience - Chaos Monkey and Simian Army
● Strong versioning - M.m.p.revision/hash
Ecosystem
EcoSystem, ours
● Discovery - Eureka locating services for the purpose of load balancing and
failover of middle-tier servers.
● Configuration - externalized configuration in a distributed system
● API gateway - Zuul is a gateway service that provides dynamic routing,
monitoring, resiliency, security
● Admin - Spring Boot Admin is a simple application to manage and monitor your
Spring Boot Applications.
● Tracing - Zipkin is an open source project that provides mechanisms for
sending, receiving, storing, and visualizing traces.
EcoSystem, resilience
● Monitoring - ELK, Sysdig
● Service-to-service calls
● Load balancing
● Circuit Breakers
● Global locks
● Leadership election and cluster state
● Distributed messaging
● Security
MIcroservice
Microservices
● Vets-service
● Visits-service
● Customer-service
Microservices
?
Discussion
References
https://github.com/paruff/spring-petclinic-microservices

Delivering microservices