SlideShare ist ein Scribd-Unternehmen logo
1 von 168
Downloaden Sie, um offline zu lesen
DESIGNING FOR RAPID RELEASE	
  
Sam Newman	
  
ThoughtWorks
We’re hiring...

GOTO: Aarhus 2012

@samnewman
Not Him

We’re hiring...

GOTO: Aarhus 2012

@samnewman
GOTO: Aarhus 2012

@samnewman
We’re hiring...

GOTO: Aarhus 2012

@samnewman
Why is rapid release
important?

GOTO: Aarhus 2012

@samnewman
What criteria influence
design?
GOTO: Aarhus 2012

@samnewman
Scaling

What criteria influence
design?
GOTO: Aarhus 2012

@samnewman
Scaling
Durability

What criteria influence
design?
GOTO: Aarhus 2012

@samnewman
Scaling
Durability

What criteria influence
design?
Geographical
GOTO: Aarhus 2012

@samnewman
Scaling
Compliance
Durability

What criteria influence
design?
Geographical
GOTO: Aarhus 2012

@samnewman
Scaling
Compliance
Durability

What criteria influence
design?
Geographical
GOTO: Aarhus 2012

Technology
@samnewman
Performance

Scaling
Compliance

Durability

What criteria influence
design?
Geographical
GOTO: Aarhus 2012

Technology
@samnewman
What about making it
easy to release?

GOTO: Aarhus 2012

@samnewman
GOTO: Aarhus 2012

@samnewman
Make it quick to make a change

GOTO: Aarhus 2012

@samnewman
Make it quick to make a change
Make it quick to deploy the
change

GOTO: Aarhus 2012

@samnewman
Make it quick to make a change
Make it quick to deploy the
change
Reduce the risk of releasing
GOTO: Aarhus 2012

@samnewman
MusikShop

v1

GOTO: Aarhus 2012

@samnewman
MusikShop

v1

GOTO: Aarhus 2012

@samnewman
MusikShop

v2

GOTO: Aarhus 2012

@samnewman
v23

v1

v9

v14

MusikShop

GOTO: Aarhus 2012

@samnewman
v23

v1

v9

v14

MusikShop

GOTO: Aarhus 2012

@samnewman
v23

v2

v9

v14

MusikShop

GOTO: Aarhus 2012

@samnewman
GOTO: Aarhus 2012

@samnewman
The Same Change...

GOTO: Aarhus 2012

@samnewman
The Same Change...

...resulting in very different
deployments
GOTO: Aarhus 2012

@samnewman
GOTO: Aarhus 2012

@samnewman
GOTO: Aarhus 2012

@samnewman
GOTO: Aarhus 2012

@samnewman
GOTO: Aarhus 2012

@samnewman
GOTO: Aarhus 2012

@samnewman
GOTO: Aarhus 2012

@samnewman
GOTO: Aarhus 2012

@samnewman
...
GOTO: Aarhus 2012

@samnewman
Each release is a rollback point

...
GOTO: Aarhus 2012

@samnewman
Each release is a rollback point
and a data gathering point

...
GOTO: Aarhus 2012

@samnewman
Each release is a rollback point
and a data gathering point

...
GOTO: Aarhus 2012

and a release process
practiced often is more likely
to work and to be efficient
@samnewman
Small, Incremental
Releases FTW!
GOTO: Aarhus 2012

@samnewman
So how do we design
our systems to allow
for small changes?
GOTO: Aarhus 2012

@samnewman
GOTO: Aarhus 2012

@samnewman
MusikShop

GOTO: Aarhus 2012

@samnewman
MusikShop
Rekomend

Lib

GOTO: Aarhus 2012

@samnewman
MusikShop
Rekomend

Lib
Invoice
Creation

GOTO: Aarhus 2012

@samnewman
MusikShop
Rekomend

Lib
Invoice
Creation
...

GOTO: Aarhus 2012

@samnewman
MusikShop
Rekomend

Lib
Invoice
Creation
...
String Utils

GOTO: Aarhus 2012

@samnewman
MusikShop
Rekomend

Lib

Small units - easier to
reason about

Invoice
Creation
...
String Utils

GOTO: Aarhus 2012

@samnewman
MusikShop
Rekomend

Lib
Invoice
Creation

Small units - easier to
reason about
Fast CI turnaround
cycles

...
String Utils

GOTO: Aarhus 2012

@samnewman
GOTO: Aarhus 2012

@samnewman
MusikShop v1

GOTO: Aarhus 2012

@samnewman
MusikShop v1
Rekomend

Lib v134

GOTO: Aarhus 2012

@samnewman
MusikShop v1
Rekomend

Lib v134

GOTO: Aarhus 2012

Rekomend
Lib v200

@samnewman
MusikShop v1

MusikShop v2

Rekomend

Lib v134

Rekomend
Lib v200

GOTO: Aarhus 2012

@samnewman
MusikShop v1

MusikShop v2

Rekomend

Lib v134

Rekomend
Lib v200

Change to a statically linked library = 	

new deployment of the application

GOTO: Aarhus 2012

@samnewman
MusikShop v1

GOTO: Aarhus 2012

@samnewman
MusikShop v1

Rekomender
v124

GOTO: Aarhus 2012

@samnewman
MusikShop v1

Rekomender
v124

GOTO: Aarhus 2012

@samnewman
MusikShop v1

Rekomender
v124

GOTO: Aarhus 2012

Rekomender 

v200

@samnewman
MusikShop v1

Rekomender
v124

GOTO: Aarhus 2012

Rekomender 

v200

@samnewman
MusikShop v1

Rekomender
v124

GOTO: Aarhus 2012

@samnewman
MusikShop v1

Rekomender
v124

GOTO: Aarhus 2012

Rekomender
v200

@samnewman
MusikShop v1
Smoke Test

Rekomender
v124

GOTO: Aarhus 2012

Rekomender
v200

@samnewman
MusikShop v1

Showcase
Smoke Test

Rekomender
v124

GOTO: Aarhus 2012

Rekomender
v200

@samnewman
MusikShop v1

Showcase
Smoke Test

Rekomender
v124

GOTO: Aarhus 2012

Rekomender
v200

@samnewman
MusikShop v1

Showcase
Smoke Test

Rekomender
v124

Rekomender
v200

Blue/Green Deployments
GOTO: Aarhus 2012

@samnewman
GOTO: Aarhus 2012

@samnewman
GOTO: Aarhus 2012

@samnewman
What can stop blue/
green deployments?
GOTO: Aarhus 2012

@samnewman
User

GOTO: Aarhus 2012

@samnewman
User

MusikShop v1

GOTO: Aarhus 2012

@samnewman
User

MusikShop v1
State

GOTO: Aarhus 2012

@samnewman
User

MusikShop v1

MusikShop v2

State

GOTO: Aarhus 2012

@samnewman
User

MusikShop v1

MusikShop v2

State

GOTO: Aarhus 2012

@samnewman
User

MusikShop v1

MusikShop v2
State

GOTO: Aarhus 2012

@samnewman
User

MusikShop v1

MusikShop v2
State

Avoid stateful services
GOTO: Aarhus 2012

@samnewman
Expensive Hardware!

GOTO: Aarhus 2012

@samnewman
www.MusikShop

MusikShop v1

Queens Of The
Stone Age
Take That
Snoop Dogg

We Rekomend ‘The
Brakes’!

Rekomender
v124

Manual Circuit Breaker
GOTO: Aarhus 2012

@samnewman
www.MusikShop

MusikShop v1

Queens Of The
Stone Age
Take That
Snoop Dogg

We Rekomend ‘The
Brakes’!

Rekomender
v124

Manual Circuit Breaker
GOTO: Aarhus 2012

@samnewman
www.MusikShop

MusikShop v1

Queens Of The
Stone Age
Take That
Snoop Dogg

We Rekomend ‘The
We Can’t Rekomend
Brakes’!
Right Now!

Rekomender
v124

Manual Circuit Breaker
GOTO: Aarhus 2012

@samnewman
www.MusikShop

MusikShop v1

Queens Of The
Stone Age
Take That
Snoop Dogg

We Rekomend ‘The
We Can’t Rekomend
Brakes’!
Right Now!

Rekomender
Rekomender 

v124
v200

Manual Circuit Breaker
GOTO: Aarhus 2012

@samnewman
www.MusikShop

MusikShop v1

Queens Of The
Stone Age
Take That
Snoop Dogg

We Rekomend ‘The
We Can’t Rekomend
Brakes’!
Right Now!

Rekomender
Rekomender 

v124
v200

Smoke Test

Manual Circuit Breaker
GOTO: Aarhus 2012

@samnewman
www.MusikShop

MusikShop v1

Queens Of The
Stone Age
Take That
Snoop Dogg

We Rekomend ‘The
We Can’t Rekomend
Brakes’!
Right Now!

Rekomender
Rekomender 

v124
v200

Smoke Test

Manual Circuit Breaker
GOTO: Aarhus 2012

@samnewman
www.MusikShop

MusikShop v1

Queens Of The
Stone Age
Take That
Snoop Dogg

We Rekomend ‘The
Brakes’!

Rekomender
Rekomender 

v124
v200

Smoke Test

Manual Circuit Breaker
GOTO: Aarhus 2012

@samnewman
GOTO: Aarhus 2012

@samnewman
www.MusikShop

MusikShop v1

Queens Of The
Stone Age
Take That
Snoop Dogg

We Rekomend ‘The
Brakes’!

Rekomender
v124

Async Behaviour

GOTO: Aarhus 2012

@samnewman
www.MusikShop

MusikShop v1

Queens Of The
Stone Age
Take That
Snoop Dogg

We Rekomend ‘The
Brakes’!

Async Behaviour

GOTO: Aarhus 2012

@samnewman
www.MusikShop

MusikShop v1

Queens Of The
Stone Age
Take That
Snoop Dogg

We Rekomend ‘The
Brakes’!

Async Behaviour

GOTO: Aarhus 2012

@samnewman
www.MusikShop

MusikShop v1

Queens Of The
Stone Age
Take That
Snoop Dogg

We Rekomend ‘The
Waiting...
Brakes’!

Async Behaviour

GOTO: Aarhus 2012

@samnewman
www.MusikShop

MusikShop v1

Queens Of The
Stone Age
Take That
Snoop Dogg

We Rekomend ‘The
Waiting...
Brakes’!

Rekomender 

v200

Async Behaviour

GOTO: Aarhus 2012

@samnewman
www.MusikShop

MusikShop v1

Queens Of The
Stone Age
Take That
Snoop Dogg

We Rekomend ‘The
Brakes’!

Rekomender 

v200

Async Behaviour

GOTO: Aarhus 2012

@samnewman
GOTO: Aarhus 2012

@samnewman
Things to watch for...

GOTO: Aarhus 2012

@samnewman
The Trifle
GOTO: Aarhus 2012

@samnewman
Musik Web

The Trifle
GOTO: Aarhus 2012

@samnewman
Musik Web

Persistence

The Trifle
GOTO: Aarhus 2012

@samnewman
Musik Web

Persistence

The Trifle
GOTO: Aarhus 2012

@samnewman
Musik Web

Persistence

The Trifle
GOTO: Aarhus 2012

@samnewman
Musik Web

Persistence

The Trifle
GOTO: Aarhus 2012

@samnewman
GOTO: Aarhus 2012

@samnewman
GOTO: Aarhus 2012

@samnewman
GOTO: Aarhus 2012

@samnewman
The Spider
GOTO: Aarhus 2012

@samnewman
CD Ordering
System

The Spider
GOTO: Aarhus 2012

@samnewman
Whitemail System

CD Ordering
System

The Spider
GOTO: Aarhus 2012

@samnewman
Whitemail System

Data Wharehouse

CD Ordering
System

The Spider
GOTO: Aarhus 2012

@samnewman
Whitemail System

Data Wharehouse

CD Ordering
System

3rd Party Supplier

The Spider
GOTO: Aarhus 2012

@samnewman
Whitemail System

Data Wharehouse

CD Ordering
System
Finance System

3rd Party Supplier

The Spider
GOTO: Aarhus 2012

@samnewman
Whitemail System
Dumb System 1

Dumb System 2
Data Wharehouse

CD Ordering
System
Dumb System 4
Finance System

Dumb System 3
3rd Party Supplier

The Spider
GOTO: Aarhus 2012

@samnewman
GOTO: Aarhus 2012

@samnewman
GOTO: Aarhus 2012

@samnewman
“A set of capabilities on an
endpoint”
GOTO: Aarhus 2012

@samnewman
GOTO: Aarhus 2012

@samnewman
Add to cart

GOTO: Aarhus 2012

@samnewman
Add to cart

Checkout

GOTO: Aarhus 2012

@samnewman
Add to cart

Checkout

GOTO: Aarhus 2012

View Latest 	

Releases

@samnewman
Search
Add to cart

Checkout

GOTO: Aarhus 2012

View Latest 	

Releases

@samnewman
Search
Add to cart

Checkout

View Latest 	

Releases

Listen To Previews
GOTO: Aarhus 2012

@samnewman
Checkout
Add to cart

Search
View Latest 	

Releases

Listen To Previews
GOTO: Aarhus 2012

@samnewman
Checkout

Shopping Cart

Add to cart

Search
View Latest 	

Catalog
Releases

Music Library
Listen To Previews
GOTO: Aarhus 2012

@samnewman
Model Services Based
On Your Business
Domain
GOTO: Aarhus 2012

@samnewman
Musik

Shop

v1

Reko.

v9

GOTO: Aarhus 2012

@samnewman
Musik

Shop

v1

Musik

Shop 

v1

Reko.

v9

Reko.

v10
Internal	

Change

GOTO: Aarhus 2012

@samnewman
Musik

Shop

v1

Musik

Shop 

v1

Musik

Shop 

v1

Reko.

v9

Reko.

v10

Reko.

v10

Internal	

Change

Expansion

GOTO: Aarhus 2012

@samnewman
Musik

Shop

v1

Musik

Shop 

v1

Musik

Shop 

v1

Musik

Shop 

v2

Reko.

v9

Reko.

v10

Reko.

v10

Reko.

v10

Expansion

Interface	

Change

Internal	

Change
GOTO: Aarhus 2012

@samnewman
Rekomender V9

v1

Musik

Shop
GOTO: Aarhus 2012

@samnewman
Rekomender V9

Non-breaking expansion
is to be preferred - but
if you can’t...

v1

Musik

Shop
GOTO: Aarhus 2012

@samnewman
Rekomender V9

v1

Non-breaking expansion
is to be preferred - but
if you can’t...

v2

Musik

Shop
GOTO: Aarhus 2012

@samnewman
Rekomender V9

v1

Non-breaking expansion
is to be preferred - but
if you can’t...

v2

Consider maintaining
multiple service
endpoints
Musik

Shop
GOTO: Aarhus 2012

iOS 

App

@samnewman
Rekomender V9

v1

Non-breaking expansion
is to be preferred - but
if you can’t...

v2

Consider maintaining
multiple service
endpoints
Musik

Shop
GOTO: Aarhus 2012

iOS 

App

@samnewman
Service A
Shared Lib v1

Service B
Shared Lib v1

GOTO: Aarhus 2012

@samnewman
Service A
Shared Lib v1

Service B
Shared Lib v1

GOTO: Aarhus 2012

@samnewman
Service A
Shared Lib v1

Service B
Shared Lib v1

GOTO: Aarhus 2012

@samnewman
Service A
Shared Lib v1
v2

Service B
Shared Lib v1

GOTO: Aarhus 2012

@samnewman
Service A
Shared Lib v1
v2

Beware of shared
serialization protocols

Service B
Shared Lib v1

GOTO: Aarhus 2012

@samnewman
Service A
Shared Lib v1
v2

WSDL-binding

Beware of shared
serialization protocols

Service B
Shared Lib v1

GOTO: Aarhus 2012

@samnewman
Service A
Shared Lib v1
v2

WSDL-binding
JAXB

GOTO: Aarhus 2012

Beware of shared
serialization protocols

Service B
Shared Lib v1

@samnewman
Service A
Shared Lib v1
v2

WSDL-binding
JAXB
Java Serialization
GOTO: Aarhus 2012

Beware of shared
serialization protocols

Service B
Shared Lib v1

@samnewman
RFC 761
GOTO: Aarhus 2012

@samnewman
Postel’s Law:
“Be conservative in what you do, be liberal in
what you expect“

GOTO: Aarhus 2012

@samnewman
MusikShop

Rekomender

Consumer Driven Contracts
GOTO: Aarhus 2012

@samnewman
MusikShop

Rekomender

Consumer Driven Contracts
GOTO: Aarhus 2012

@samnewman
MusikShop

Rekomender

Consumer Driven Contracts
GOTO: Aarhus 2012

@samnewman
MusikShop

Rekomender

Consumer Driven Contracts
GOTO: Aarhus 2012

@samnewman
DATABASES!

GOTO: Aarhus 2012

@samnewman
DATA IS COOL

GOTO: Aarhus 2012

@samnewman
DATABASES ARE EVIL

GOTO: Aarhus 2012

@samnewman
Rekomender
MusikShop

DB Schema

GOTO: Aarhus 2012

@samnewman
MusikShop

Rekomender

DB Schema

GOTO: Aarhus 2012

@samnewman
MusikShop

Rekomender

DB Schema

GOTO: Aarhus 2012

@samnewman
MusikShop

Rekomender

Schema

Schema

DB Instance
GOTO: Aarhus 2012

@samnewman
Each service owns its own data

MusikShop

Rekomender

Schema

Schema

DB Instance
GOTO: Aarhus 2012

@samnewman
MusikShop

Rekomender

RDMS

RDMS

GOTO: Aarhus 2012

@samnewman
MusikShop

Rekomender

RDMS

RDMS
Riak

GOTO: Aarhus 2012

@samnewman
Rekomender

RDBMS
Riak

GOTO: Aarhus 2012

@samnewman
Rekomender
Release 1: 	

Dual Write
RDBMS

GOTO: Aarhus 2012

Riak

@samnewman
Rekomender

Release 2: 	

Read from Riak
Release 1: 	

Dual Write

RDBMS

GOTO: Aarhus 2012

Riak

@samnewman
Rekomender
Release 3: 	

Retire RDMS

Release 2: 	

Read from Riak
Release 1: 	

Dual Write
Riak

GOTO: Aarhus 2012

@samnewman
MusikShop

Rekomender

GOTO: Aarhus 2012

@samnewman
MusikShop

Rekomender

GOTO: Aarhus 2012

AceSuggest

@samnewman
MusikShop

Rekomender

GOTO: Aarhus 2012

AceSuggest

@samnewman
MusikShop

Rekomender

GOTO: Aarhus 2012

Dark Launching!

AceSuggest

@samnewman
Decompose Your Systems
Model Your Domain
Get Interfaces Right
Seperate Deployment From Release
GOTO: Aarhus 2012

@samnewman
Questions?

GOTO: Aarhus 2012

@samnewman
Thanks!
@samnewman

We’re hiring!
GOTO: Aarhus 2012

@samnewman

Weitere ähnliche Inhalte

Mehr von Sam Newman

Hiding The Lead: Coupling, cohesion and microservices
Hiding The Lead: Coupling, cohesion and microservicesHiding The Lead: Coupling, cohesion and microservices
Hiding The Lead: Coupling, cohesion and microservicesSam Newman
 
Rip It Up - The Microservice Organisation
Rip It Up  - The Microservice OrganisationRip It Up  - The Microservice Organisation
Rip It Up - The Microservice OrganisationSam Newman
 
What Is This Cloud Native Thing Anyway?
What Is This Cloud Native Thing Anyway?What Is This Cloud Native Thing Anyway?
What Is This Cloud Native Thing Anyway?Sam Newman
 
Confusion In The Land Of The Serverless - 90min Version
Confusion In The Land Of The Serverless - 90min VersionConfusion In The Land Of The Serverless - 90min Version
Confusion In The Land Of The Serverless - 90min VersionSam Newman
 
AppSec and Microservices
AppSec and MicroservicesAppSec and Microservices
AppSec and MicroservicesSam Newman
 
Feature Branches And Toggles In A Post-GitHub World
Feature Branches And Toggles In A Post-GitHub WorldFeature Branches And Toggles In A Post-GitHub World
Feature Branches And Toggles In A Post-GitHub WorldSam Newman
 
Confusion In The Land Of The Serverless
Confusion In The Land Of The ServerlessConfusion In The Land Of The Serverless
Confusion In The Land Of The ServerlessSam Newman
 
AppSec And Microservices
AppSec And MicroservicesAppSec And Microservices
AppSec And MicroservicesSam Newman
 
Deploying and Scaling Microservices
Deploying and Scaling MicroservicesDeploying and Scaling Microservices
Deploying and Scaling MicroservicesSam Newman
 
BETA - Securing microservices
BETA - Securing microservicesBETA - Securing microservices
BETA - Securing microservicesSam Newman
 
Principles of microservices ndc oslo
Principles of microservices   ndc osloPrinciples of microservices   ndc oslo
Principles of microservices ndc osloSam Newman
 
Principles of microservices velocity
Principles of microservices   velocityPrinciples of microservices   velocity
Principles of microservices velocitySam Newman
 
Principles of microservices XP Days Ukraine
Principles of microservices   XP Days UkrainePrinciples of microservices   XP Days Ukraine
Principles of microservices XP Days UkraineSam Newman
 
Testing & deploying microservices - XP Days Ukraine 2014
Testing & deploying microservices  - XP Days Ukraine 2014Testing & deploying microservices  - XP Days Ukraine 2014
Testing & deploying microservices - XP Days Ukraine 2014Sam Newman
 
Principles of Microservices - NDC 2014
Principles of Microservices  - NDC 2014Principles of Microservices  - NDC 2014
Principles of Microservices - NDC 2014Sam Newman
 
Practical microservices - NDC 2014
Practical microservices  - NDC 2014Practical microservices  - NDC 2014
Practical microservices - NDC 2014Sam Newman
 
Practical microservices - javazone 2014
Practical microservices -  javazone 2014Practical microservices -  javazone 2014
Practical microservices - javazone 2014Sam Newman
 
Practical microservices - YOW 2013
Practical microservices  - YOW 2013Practical microservices  - YOW 2013
Practical microservices - YOW 2013Sam Newman
 

Mehr von Sam Newman (19)

Hiding The Lead: Coupling, cohesion and microservices
Hiding The Lead: Coupling, cohesion and microservicesHiding The Lead: Coupling, cohesion and microservices
Hiding The Lead: Coupling, cohesion and microservices
 
It's a trap!
It's a trap!It's a trap!
It's a trap!
 
Rip It Up - The Microservice Organisation
Rip It Up  - The Microservice OrganisationRip It Up  - The Microservice Organisation
Rip It Up - The Microservice Organisation
 
What Is This Cloud Native Thing Anyway?
What Is This Cloud Native Thing Anyway?What Is This Cloud Native Thing Anyway?
What Is This Cloud Native Thing Anyway?
 
Confusion In The Land Of The Serverless - 90min Version
Confusion In The Land Of The Serverless - 90min VersionConfusion In The Land Of The Serverless - 90min Version
Confusion In The Land Of The Serverless - 90min Version
 
AppSec and Microservices
AppSec and MicroservicesAppSec and Microservices
AppSec and Microservices
 
Feature Branches And Toggles In A Post-GitHub World
Feature Branches And Toggles In A Post-GitHub WorldFeature Branches And Toggles In A Post-GitHub World
Feature Branches And Toggles In A Post-GitHub World
 
Confusion In The Land Of The Serverless
Confusion In The Land Of The ServerlessConfusion In The Land Of The Serverless
Confusion In The Land Of The Serverless
 
AppSec And Microservices
AppSec And MicroservicesAppSec And Microservices
AppSec And Microservices
 
Deploying and Scaling Microservices
Deploying and Scaling MicroservicesDeploying and Scaling Microservices
Deploying and Scaling Microservices
 
BETA - Securing microservices
BETA - Securing microservicesBETA - Securing microservices
BETA - Securing microservices
 
Principles of microservices ndc oslo
Principles of microservices   ndc osloPrinciples of microservices   ndc oslo
Principles of microservices ndc oslo
 
Principles of microservices velocity
Principles of microservices   velocityPrinciples of microservices   velocity
Principles of microservices velocity
 
Principles of microservices XP Days Ukraine
Principles of microservices   XP Days UkrainePrinciples of microservices   XP Days Ukraine
Principles of microservices XP Days Ukraine
 
Testing & deploying microservices - XP Days Ukraine 2014
Testing & deploying microservices  - XP Days Ukraine 2014Testing & deploying microservices  - XP Days Ukraine 2014
Testing & deploying microservices - XP Days Ukraine 2014
 
Principles of Microservices - NDC 2014
Principles of Microservices  - NDC 2014Principles of Microservices  - NDC 2014
Principles of Microservices - NDC 2014
 
Practical microservices - NDC 2014
Practical microservices  - NDC 2014Practical microservices  - NDC 2014
Practical microservices - NDC 2014
 
Practical microservices - javazone 2014
Practical microservices -  javazone 2014Practical microservices -  javazone 2014
Practical microservices - javazone 2014
 
Practical microservices - YOW 2013
Practical microservices  - YOW 2013Practical microservices  - YOW 2013
Practical microservices - YOW 2013
 

Designing for rapid release goto 2012