79
AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES Scott Shaw Head of Technology, ThoughtWorks Australia 1

AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

Embed Size (px)

Citation preview

Page 1: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESScott Shaw Head of Technology, ThoughtWorks Australia

1

Page 2: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

MICROSERVICE ENVY

2

service oriented architecture

microservices

GOOGLE TRENDS DATA

Page 3: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

3

XTHE SPEED BUMPS

Page 4: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

3

XTHE SPEED BUMPS

DDD REST Automation Cloud DevOps Logging Monitoring

Resilience Testing with CDCs Conway Postel

Page 5: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

3

X

Data Aggregation

THE SPEED BUMPS

DDD REST Automation Cloud DevOps Logging Monitoring

Resilience Testing with CDCs Conway Postel

Page 6: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

3

X

Data Aggregation

Access Control & Security

THE SPEED BUMPS

DDD REST Automation Cloud DevOps Logging Monitoring

Resilience Testing with CDCs Conway Postel

Page 7: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

3

X

Managing Change

Data Aggregation

Access Control & Security

THE SPEED BUMPS

DDD REST Automation Cloud DevOps Logging Monitoring

Resilience Testing with CDCs Conway Postel

Page 8: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

4

Aggregating Data

Page 9: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

SINGLE DATASTORE PRINCIPAL

5

Page 10: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

SINGLE DATASTORE PRINCIPAL

5

Page 11: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

SINGLE DATASTORE PRINCIPAL

5

Page 12: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

6

BUT AS A SYSTEM EVOLVES…

Page 13: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

6

BUT AS A SYSTEM EVOLVES…

Page 14: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

6

BUT AS A SYSTEM EVOLVES…

Page 15: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

6

BUT AS A SYSTEM EVOLVES…

Page 16: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

6

BUT AS A SYSTEM EVOLVES…

Page 17: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

7

BUT AS A SYSTEM EVOLVES…

Page 18: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

7

BUT AS A SYSTEM EVOLVES…

Page 19: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

JIA YANG’S STORY

8

Page 20: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

JIA YANG’S STORY

8

Page 21: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

SIDEBAR: SERVICE COMPOSITION

9

Customers in the EC

tax regime

JOIN

Tax Regime Service

THE MONOLITHIC APPROACH

Page 22: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

SIDEBAR: SERVICE COMPOSITION

10

NAIVE SERVICE IMPLEMENTATION

geography

customers

tax

Countries in the EC

Customersin the EC

Page 23: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

Countries in the EC

SIDEBAR: SERVICE COMPOSITION

COMPOSED SERVICES

geography

customers

tax

Customers in the EC

GET …?country_list=UK,NL,SE...

Page 24: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

GET

Countries in the EC

SIDEBAR: SERVICE COMPOSITION

COMPOSED SERVICES

geography

customers

tax

Customers in the EC

GET … ?filter=https://geo/countries?r=ec

Page 25: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

Customers in the EC

Countries in the EC

AGGREGATING DATA

12

geography

customers

tax

Page 26: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

Customers in the EC

Countries in the EC

AGGREGATING DATA

12

geography

customers

tax

How do we knowif these states are consistent?

Page 27: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

AGGREGATING DATA

12

geography

customers

tax

How do we knowif these states are consistent?

Events to rescue!Reacts to

event streams

Changes incustomer status

Changes in EC Membership

Page 28: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

AGGREGATING DATA

13

geography

customers

tax

Page 29: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

AGGREGATING DATA

13

geography

customers

tax

GET https://integration-toolkit.com/customers/events

Page 30: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

AGGREGATING DATA

13

geography

customers

tax

GET https://integration-toolkit.com/customers/events

Page 31: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

IMPLEMENTING EVENTS

14

OPTION 1: CHUCK ‘EM IN THE DB

Page 32: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

IMPLEMENTING EVENTS

15

OPTION 2: HIPSTER BATCH

Shared Storage (S3)

Geography Customer

Tax

Page 33: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

IMPLEMENTING EVENTS

16

OPTION 3: SPECIAL-PURPOSE EVENT STORE

Event Store

JSCustomers

Geography

Event Subscription

Page 34: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

IMPLEMENTING EVENTS

16

OPTION 3: SPECIAL-PURPOSE EVENT STORE

Event Store

JSCustomers

Geography

Event Subscription“Projections”

Page 35: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

17

Delegated Authority & Access Control

Page 36: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

OpenID 2.0

DELEGATED ACCESS MANAGEMENT

18

HMAC

SAML v2 OAuth 2.0OpenID Connect

ADFSJWT

Page 37: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

OpenID 2.0

DELEGATED ACCESS MANAGEMENT

18

HMAC

SAML v2 OAuth 2.0OpenID Connect

ADFSJWT

Page 38: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

FENDY’S STORY

19

Page 39: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

FENDY’S STORY

19

Page 40: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

THE OLD WORLD OF PERIMETER SECURITY

20

cookietoken

credentials

token

verification

Identity Provider

End User Application

WebApplication

Page 41: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

THE OLD WORLD OF PERIMETER SECURITY

20

cookietoken

credentials

token

verification

Identity Provider

End User Application

WebApplication

stateless?

Page 42: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

THE OLD WORLD OF PERIMETER SECURITY

20

cookietoken

credentials

token

verification

Identity Provider

End User Application

WebApplication

stateless?

whose identity?

Page 43: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

THE OLD WORLD OF PERIMETER SECURITY

20

cookietoken

credentials

token

verification

Identity Provider

End User Application

WebApplication

token

token

Page 44: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

VARIOUS APPROACHES

▫︎ 2-Way SSL/TLS

▫︎HMAC signing

▫︎ JWT

▫︎NTLM/WIF/ADFS

▫︎ SAML v2

▫︎OAUTH 2.0

▫︎OPENID Connect

21

Page 45: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

VARIOUS APPROACHES

▫︎ 2-Way SSL/TLS

▫︎HMAC signing

▫︎ JWT

▫︎NTLM/WIF/ADFS

▫︎ SAML v2

▫︎OAUTH 2.0

▫︎OPENID Connect

21

Ask these questions ...

Page 46: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

VARIOUS APPROACHES

▫︎ 2-Way SSL/TLS

▫︎HMAC signing

▫︎ JWT

▫︎NTLM/WIF/ADFS

▫︎ SAML v2

▫︎OAUTH 2.0

▫︎OPENID Connect

21

Ask these questions ...• Considered both authentication

and authorisation?

Page 47: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

VARIOUS APPROACHES

▫︎ 2-Way SSL/TLS

▫︎HMAC signing

▫︎ JWT

▫︎NTLM/WIF/ADFS

▫︎ SAML v2

▫︎OAUTH 2.0

▫︎OPENID Connect

21

Ask these questions ...• Considered both authentication

and authorisation?

Page 48: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

VARIOUS APPROACHES

▫︎ 2-Way SSL/TLS

▫︎HMAC signing

▫︎ JWT

▫︎NTLM/WIF/ADFS

▫︎ SAML v2

▫︎OAUTH 2.0

▫︎OPENID Connect

21

Ask these questions ...• Considered both authentication

and authorisation?• Based on open standards?

Page 49: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

VARIOUS APPROACHES

▫︎ 2-Way SSL/TLS

▫︎HMAC signing

▫︎ JWT

▫︎NTLM/WIF/ADFS

▫︎ SAML v2

▫︎OAUTH 2.0

▫︎OPENID Connect

21

Ask these questions ...• Considered both authentication

and authorisation?• Based on open standards?

Page 50: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

VARIOUS APPROACHES

▫︎ 2-Way SSL/TLS

▫︎HMAC signing

▫︎ JWT

▫︎NTLM/WIF/ADFS

▫︎ SAML v2

▫︎OAUTH 2.0

▫︎OPENID Connect

21

Ask these questions ...• Considered both authentication

and authorisation?• Based on open standards?• Simple enough to be widely used?

Page 51: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

VARIOUS APPROACHES

▫︎ 2-Way SSL/TLS

▫︎HMAC signing

▫︎ JWT

▫︎NTLM/WIF/ADFS

▫︎ SAML v2

▫︎OAUTH 2.0

▫︎OPENID Connect

21

Ask these questions ...• Considered both authentication

and authorisation?• Based on open standards?• Simple enough to be widely used?• Supports a modern web integration

strategy?

Page 52: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

VARIOUS APPROACHES

▫︎ 2-Way SSL/TLS

▫︎HMAC signing

▫︎ JWT

▫︎NTLM/WIF/ADFS

▫︎ SAML v2

▫︎OAUTH 2.0

▫︎OPENID Connect

21

Ask these questions ...• Considered both authentication

and authorisation?• Based on open standards?• Simple enough to be widely used?• Supports a modern web integration

strategy?

Page 53: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

VARIOUS APPROACHES

▫︎ 2-Way SSL/TLS

▫︎HMAC signing

▫︎ JWT

▫︎NTLM/WIF/ADFS

▫︎ SAML v2

▫︎OAUTH 2.0

▫︎OPENID Connect

21

Ask these questions ...• Considered both authentication

and authorisation?• Based on open standards?• Simple enough to be widely used?• Supports a modern web integration

strategy?• Has proven implementations?

Page 54: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

VARIOUS APPROACHES

▫︎ 2-Way SSL/TLS

▫︎HMAC signing

▫︎ JWT

▫︎NTLM/WIF/ADFS

▫︎ SAML v2

▫︎OAUTH 2.0

▫︎OPENID Connect

21

Ask these questions ...• Considered both authentication

and authorisation?• Based on open standards?• Simple enough to be widely used?• Supports a modern web integration

strategy?• Has proven implementations?

Page 55: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

EXAMPLE OPENID CONNECT FLOW

22

access code

OpenID Connect Provider

Resource

access code

Another Resource

id token

{“iss":"op.example.com",! "c_hash":"HK6E_P6Dh8Y93mRNtsDB1Q",! "email_verified":"true",! "sub":"10769150350006150715113082367",! “azp”:”another_resource",! “email":"[email protected]",! “aud”:[”resource”, “another_resource”],! "iat":1353601026,! "exp":1353604926 }

access code

id token

Resource

Another Resource

End User App

Page 56: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

BEWARE PKI

23

ssshh!

secrets

How to manage anddistribute?

keys

Also Need

• CSRF • Nonce • Correct implementation

• Expire • Revoke • Distribute

Page 57: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

24

Managing Change

Page 58: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

MANAGING CHANGE

25

DOES YOUR SYSTEM LOOK LIKE THIS?

?

Page 59: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

MANAGING CHANGE

26

MAYBE IT SHOULD LOOK LIKE THIS INSTEAD

Page 60: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

MANAGING CHANGE

26

MAYBE IT SHOULD LOOK LIKE THIS INSTEAD

JUICE!

Page 61: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

RYAN’S STORY

27

Page 62: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

RYAN’S STORY

27

Page 63: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

BACK TO THE TAX EXAMPLE …

28

geography customers

tax

Page 64: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

BACK TO THE TAX EXAMPLE …

28

geography customers

tax

Page 65: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

BACK TO THE TAX EXAMPLE …

28

geography customers

tax

Page 66: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

BACK TO THE TAX EXAMPLE …

28

geography customers

tax

Assignment

Page 67: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

BACK TO THE TAX EXAMPLE …

28

geography customers

tax

Assignment

Some logic from here

Some logic from here

And fromhere

Page 68: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

BACK TO THE TAX EXAMPLE …

28

geography customers

tax

Assignment

Some logic from here

Some logic from here

And fromhere

But How?

Page 69: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

HOW TO MANAGE THE CHANGE

29

1.DO NOTHING May be better than the chaos of not having clear ownership and accountability

2.ONE BIG VERSION CHANGEVersion all your services, test them together, release them together

Page 70: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

HOW TO MANAGE THE CHANGE

29

1.DO NOTHING May be better than the chaos of not having clear ownership and accountability

2.ONE BIG VERSION CHANGEVersion all your services, test them together, release them together#fail

Page 71: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

MANAGING CHANGE

30

geo cust

tax

assignment

Page 72: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

MANAGING CHANGE

30

geo cust

tax

assignment

Temp Team

Page 73: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

MANAGING CHANGE

31

geo cust

tax

assignment

?

Page 74: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

MANAGING CHANGE

31

geo cust

tax

assignment

Long-term ownershipcan’t be ambiguous

Page 75: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

SUMMARY

32

1.MICROSERVICES More than a grab-bag of techniques and tools

2.MINDSET SHIFTState Perimeter Punctuated equilibrium

EventsEndpointsContinuous evolution

Page 76: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

SUMMARY

32

1.MICROSERVICES More than a grab-bag of techniques and tools

2.MINDSET SHIFTState Perimeter Punctuated equilibrium

EventsEndpointsContinuous evolution

Page 77: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

SUMMARY

32

1.MICROSERVICES More than a grab-bag of techniques and tools

2.MINDSET SHIFTState Perimeter Punctuated equilibrium

EventsEndpointsContinuous evolution

Page 78: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

SUMMARY

32

1.MICROSERVICES More than a grab-bag of techniques and tools

2.MINDSET SHIFTState Perimeter Punctuated equilibrium

EventsEndpointsContinuous evolution

Page 79: AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICESyowconference.com.au/.../Shaw-AvoidingSpeedbumpsMicroservices.pdf · AVOIDING SPEED BUMPS ON THE ROAD TO MICROSERVICES ... stateless?

33

THANKS!

http://www.thoughtworks.com/radar [email protected]

@scottwshaw