Slide 1

Slide 1 text

Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Cloud Native Apps with
 Spring Cloud Brian Clozel, Spring Framework committer, Pivotal Software inc. @brianclozel

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

@brianclozel Brian Clozel http://spring.io/team/bclozel

Slide 6

Slide 6 text

“Innovate and deliver faster
 than your competition

Slide 7

Slide 7 text

Microservices?

Slide 8

Slide 8 text

§ Distributed systems? § Microservices? § Cloud Native Apps?

Slide 9

Slide 9 text

Monolith?

Slide 10

Slide 10 text

“A global entity that handles state/ failure scenarios “A smart application server, everything included “Easy to turn into a mess…

Slide 11

Slide 11 text

§ Complex system § Easy to work with § Modularity comes from language / framework § Inefficient scaling

Slide 12

Slide 12 text

§ Long term commitment to technology § intimidating to new developers § obstacles to frequent releases

Slide 13

Slide 13 text

Microservices?

Slide 14

Slide 14 text

“Smart agents that should know how to handle failures “Smart services, dumb pipes “Harder to do right…

Slide 15

Slide 15 text

§ Simple system § Harder to work with § Modularity based on component services § Scaling efficiently

Slide 16

Slide 16 text

§ Easy to try new things § Less intimidating § Frequent deploys

Slide 17

Slide 17 text

Spring Cloud

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

Netflix OSS

Slide 20

Slide 20 text

SPRING CLOUD

Slide 21

Slide 21 text

Example:
 Coffee app.

Slide 22

Slide 22 text

Breaking
 the
 Monolith Stores Customer Profile

Slide 23

Slide 23 text

Customer
 name and
 location Customer

Slide 24

Slide 24 text

List of stores
 with
 geo search Store

Slide 25

Slide 25 text

Customer
 info and
 nearest stores Profile

Slide 26

Slide 26 text

Now Microservices Customer Profile Store

Slide 27

Slide 27 text

Finding Services ? ?

Slide 28

Slide 28 text

Profile Eureka Customer Store Service Discovery
 Eureka customer store

Slide 29

Slide 29 text

Profile Customer #3 Tied to
 single
 instance? Customer #2 Customer #1

Slide 30

Slide 30 text

Profile Eureka customer ? customer:
 - instance #1 - instance #2 - …

Slide 31

Slide 31 text

Instance #3 Client load balancing
 Ribbon Instance #2 Instance #1 Round robin, AWS zone affinity Ribbon

Slide 32

Slide 32 text

service B Cascading Faults service A

Slide 33

Slide 33 text

service B service A Circuit breaker
 Hystrix Fallback

Slide 34

Slide 34 text

Configuration
 management

Slide 35

Slide 35 text

Config
 Server Config Server Git repository

Slide 36

Slide 36 text

Demos!