2016-04-22 spring cloud star - gibb spring cloud... · 2016-04-22 · #devoxxfr spring cloud...
TRANSCRIPT
![Page 1: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/1.jpg)
#DevoxxFR
Spring Cloud *Discovery and Configuration
Systems Comparison by: Spencer Gibb
https://github.com/spencergibb/spring-cloud-starhttp://spencer.gibb.us @spencerbgibb
1
![Page 2: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/2.jpg)
Salt Lake City, Utah
![Page 3: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/3.jpg)
#DevoxxFR 3
![Page 4: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/4.jpg)
#DevoxxFR
Spring Cloud Roadmap
• Brixton RC2 Released: 22 April 2016
• Brixton GA Release: end of April (Maybe RC3)
• ‘Camden’ will follow Spring Boot 1.4: Q3 2016
• ‘Dalston’ will follow Spring 5 & Spring Boot 2.0: Q2 2017 (Java 8)
• Many Services Releases (SR) in between
4
![Page 5: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/5.jpg)
#DevoxxFR
Microservices
5
You must be this tall to ride
![Page 6: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/6.jpg)
#DevoxxFR
Service B
Service Registration & Discovery
6
Registry
Service A
![Page 7: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/7.jpg)
#DevoxxFR
DiscoveryClient
• @EnableDiscoveryClient
• ServiceInstance si = discoveryClient.choose(“serviceId”)
• RestTemplate
• @FeignClient
7
![Page 8: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/8.jpg)
#DevoxxFR
Service B
12 Factor Apps http://12factor.net
Distributed Configuration
8
Config
Service A
![Page 9: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/9.jpg)
#DevoxxFR
Service A
Context Lifecycle
9
BootstrapApplication
Context
Regular Application
ContextConfig
![Page 10: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/10.jpg)
#DevoxxFR
Environment
• @ConfigurationProperties
• @Value
• Environment
10
![Page 11: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/11.jpg)
#DevoxxFR
Spring Cloud Config Server
• Greenfield
• HTTP API similar to Netflix Config Server
• Backed by VCS: git, SVN
• Stateless
• @RefreshScope
• Plain text files (eg. messages_fr.properties)
11
![Page 12: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/12.jpg)
#DevoxxFR
Spring Cloud Config Server
• Uses spring-boot configuration files & semantics
• Auto-configured client
• Refresh via bus (events)
• Webhook support for github, gitlab and bitbucket
• Commercial Support in Pivotal Cloud Foundry
12
![Page 13: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/13.jpg)
#DevoxxFR
DEMO
13
![Page 14: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/14.jpg)
#DevoxxFR
Eureka
14
![Page 15: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/15.jpg)
#DevoxxFR
Eureka pro’s
• Highly-available
• Mature / Proven by Netflix
• Tight Ribbon Integration
• Commercial Support in Pivotal Cloud Foundry
15
💚
![Page 16: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/16.jpg)
#DevoxxFR
Eureka Con’s
•JVM Based
•Thick Java client
•Polyglot by Sidecar
•Built for AWS Initially
•Long thresholds for registraion and cache refresh (30s)
16
💔
![Page 17: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/17.jpg)
#DevoxxFR
Consul
17
![Page 18: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/18.jpg)
#DevoxxFR
Consul pro’s
•Service Discovery & Configuration
•Polyglot
•HTTP API and DNS interface
•ACL’s
•Health Checks
18
💚
![Page 19: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/19.jpg)
#DevoxxFR
💚
•Multi-Datacenter
•Vault Integration (Keys and Secrets)
•YAML and Properties Blobs supported
•peer-to-peer gossip system
•Nice UI
Consul pro’s
19
![Page 20: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/20.jpg)
#DevoxxFR
Consul Con’s•Young
•Agent on every host
20
💔
![Page 21: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/21.jpg)
#DevoxxFR
DEMO
21
![Page 22: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/22.jpg)
#DevoxxFR
Zookeeper
22
![Page 23: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/23.jpg)
#DevoxxFR
💚
Zookeeper pro’s•Consistent Store
•Started life as a Hadoop sub-project (2007?)
•Mature, used in many companies
•Useful if ZK is already part of your infrastructure
•Ephemeral Nodes / Persistent Connections
•Uses Apache Curator’s Service Discovery Recipe
23
![Page 24: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/24.jpg)
#DevoxxFR
💔
Zookeeper Con’s
•Scale Issues
•OPS Headaches
•Needs management process like Netflix Exhibitor
•Persistent Connections
24
![Page 25: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/25.jpg)
#DevoxxFR
Honorable Mention• HAProxy/Nginx/Apache HTTPD
• Spring Cloud CloudFoundry
• Spring Cloud ETCD (Experimental)
• AirbNB Smart Stackhttp://nerds.airbnb.com/smartstack-service-discovery-cloud/
• Uber HyperbahNhttps://youtu.be/N2472uS5Y6M https://github.com/uber/hyperbahn
25
![Page 26: 2016-04-22 Spring Cloud Star - Gibb Spring Cloud... · 2016-04-22 · #DevoxxFR Spring Cloud Roadmap • Brixton RC2 Released: 22 April 2016 • Brixton GA Release: end of April (Maybe](https://reader034.vdocuments.us/reader034/viewer/2022050519/5fa310ca15653d3ea9035e6b/html5/thumbnails/26.jpg)
#DevoxxFR
Questions?
26
Josh Long: The Bootiful Microservice 13:55 Maillot
https://github.com/spencergibb/spring-cloud-star
http://spencer.gibb.us @spencerbgibb