SlideShare a Scribd company logo
1 of 171
Download to read offline
Practical Considerations
Of Microservices
Sam Newman
YOW 2013
@samnewman
We’re Hiring!

@samnewman
@samnewman
@samnewman
@samnewman
@samnewman
@samnewman
@samnewman
@samnewman
@samnewman
@samnewman
Web Shop

Shopping
Cart

Registration

Catalog

Finance

Customer

@samnewman
REST over HTTP

@samnewman
REST over HTTP

@samnewman
REST over HTTP

> 1000 lines of code

@samnewman
@samnewman
@samnewman
V1

@samnewman
V2

@samnewman
V2

@samnewman
Go
Ruby

NodeJS
Java

@samnewman
Go
Ruby

NodeJS
Clojure!

@samnewman
Go
Ruby

NodeJS
Clojure!

@samnewman
@samnewman
@samnewman
@samnewman
@samnewman
http://www.flickr.com/photos/booleansplit/4005320314/

Standardised

@samnewman
http://www.flickr.com/photos/booleansplit/4005320314/

Free For All
Standardised

http://www.flickr.com/photos/murplejane/3097926093/

@samnewman
http://www.flickr.com/photos/booleansplit/4005320314/

Free For All
Standardised

Consistency
http://www.flickr.com/photos/murplejane/3097926093/

@samnewman
http://www.flickr.com/photos/booleansplit/4005320314/

Free For All
Standardised

Consistency
Safety

http://www.flickr.com/photos/murplejane/3097926093/

@samnewman
http://www.flickr.com/photos/booleansplit/4005320314/

Autonomy
Free For All
Standardised

Consistency
Safety

http://www.flickr.com/photos/murplejane/3097926093/

@samnewman
http://www.flickr.com/photos/booleansplit/4005320314/

React
Autonomy
Free For All

Standardised

Consistency
Safety

http://www.flickr.com/photos/murplejane/3097926093/

@samnewman
http://bit.ly/1aJhJ0m

@samnewman
http://bit.ly/1aJhJ0m

Responsiveness

@samnewman
http://bit.ly/1aJhJ0m

Responsiveness

Efficiency

@samnewman
@samnewman
“A paradox has a
resolution, not a solution”
- Xiao Guo

@samnewman
@samnewman
Standardisation

@samnewman
Standardisation

Free For All

@samnewman
Standardisation

Free For All

@samnewman
Standardisation

Free For All

@samnewman
Standardisation
???

Free For All

@samnewman
Where To Standardise?

@samnewman
© 2013 Electronic Arts Inc.

@samnewman
@samnewman
Interfaces

@samnewman
Monitoring

Interfaces

@samnewman
Monitoring

Interfaces

Deployment
@samnewman
Architectural Saftey
@samnewman
@samnewman
Free For All
@samnewman
Standardisation

Free For All
@samnewman
Standardisation
TIP: Standardise in the gaps between services - be
flexible about what happens inside the boxes

Free For All
@samnewman
Interfaces

@samnewman
@samnewman
@samnewman
@samnewman
Coupling Is Bad

@samnewman
Integration Styles
An Evolutionary View

Data Oriented

Procedure
Oriented

Document
Oriented

Resource
Oriented

@samnewman
Integration Styles
An Evolutionary View

Data Oriented

Procedure
Oriented

Document
Oriented

Resource
Oriented

@samnewman
Integration Styles
An Evolutionary View
TIP: Avoid RPC-mechanisms or shared serialisation
Procedure
Document
Resource
Data protocols to avoid coupling
Oriented
Oriented

Oriented

Oriented

@samnewman
http://www.flickr.com/photos/mikecogh/4472054494/

@samnewman
http://www.flickr.com/photos/mikecogh/4472054494/

TIP: Have one, two or maybe three ways of
integrating, not 20

@samnewman
@samnewman
@samnewman
TIP: Pick some sensible conventions, and stick with
them

@samnewman
Payment

Inventory

@samnewman
Payment

Inventory

@samnewman
Because CAP Theorem

@samnewman
Because CAP Theorem
TIP: Avoid distributed transactions if at all possible

@samnewman
Monitoring

@samnewman
@samnewman
@samnewman
http://www.flickr.com/photos/kalexanderson/5421517469/
@samnewman
http://www.flickr.com/photos/kalexanderson/5421517469/
@samnewman
http://www.flickr.com/photos/kalexanderson/5421517469/
@samnewman
@samnewman
???

@samnewman
You have to get *much*
better at monitoring

@samnewman
@samnewman
@samnewman
@samnewman
@samnewman
You are not a badass if you
use an SSH Multiplexer

@samnewman
@samnewman
@samnewman
@samnewman
@samnewman
@samnewman
Response Time

Response Time

Response Time

@samnewman
Response Time

Response Time

Response Time

@samnewman
Response Time

Response Time

Response Time

@samnewman
nsclient++
collectd

Graphite

@samnewman
@samnewman
@samnewman
TIP: Capture metrics, and logs, for each node, and
aggregate them to get a rolled up picture

@samnewman
@samnewman
@samnewman
@samnewman
TIP: Use synthetic transactions to test production
systems
@samnewman
@samnewman
@samnewman
@samnewman
ID: 123

@samnewman
ID: 123

ID: 123

ID: 123

@samnewman
ID: 123

ID: 123

ID: 123
TIP: Use correlation IDs to track down nasty bugs
@samnewman
Deployment

@samnewman
@samnewman
@samnewman
@samnewman
!

@samnewman
!
!

@samnewman
!
!
!
@samnewman
!

TIP: Abstract out underlying platform differences to
provide a uniform deployment mechanism

!

!
@samnewman
@samnewman
$ fab deploy
def deploy():
# run things
local(‘cp…’)
@samnewman
Fast Feedback

Dev

QA

Production

More Confidence
@samnewman
fab deploy:dev
def deploy(env):
# run things
local(‘cp…’)
@samnewman
fab deploy:dev
def deploy(env):
# run things
local(‘cp…’)
@samnewman
prod:!
nodes:!
- ami_id: ami-4dad7424!
size:
t1.micro!
credentials_name: us-east-ssh!
aws_key_name : test!
services: [hello_world]!
apache:!
security_groups: [ spicy-beef ]!
puppet_module_directory : puppet!
availability_zone: us-east-1a!
puppet_manifest : apache.pp!
type: phoenix.providers.aws_provider.AWSNodeDefinition!
service_configurator:
- ami_id: ami-4dad7424!
phoenix.configurators.puppet_service_configurator.PuppetServiceConfigurator!
size:
t1.micro!
connectivity:!
credentials_name: us-east-ssh!
- protocol: tcp!
aws_key_name : test!
ports: [ 80 ]!
services: [hello_world]!
allowed: [ WORLD ]!
security_groups: [ spicy-beef ]!
availability_zone: us-east-1b!
hello_world:!
type: phoenix.providers.aws_provider.AWSNodeDefinition!
puppet_module_directory : puppet!
- ami_id: ami-4dad7424!
puppet_manifest : hello_world.pp!
size:
t1.micro!
service_configurator:
credentials_name: us-east-ssh!
phoenix.configurators.puppet_service_configurator.PuppetServiceConfigurator!
aws_key_name : test!
connectivity:!
services: [apache]!
- protocol: tcp!
type: phoenix.providers.aws_provider.AWSNodeDefinition!
ports: [ 8080, 8081 ]!
security_groups: [ spicy-beef ]!
allowed: [ WORLD ]!

!

!

!

node_provider:!
mongo:!
class_name: AWSNodeProvider!
puppet_module_directory : puppet!
public_api_key: {{ aws_public_api_key }}!
puppet_manifest
private_api_key: {{ aws_private_api_key }} : mongo.pp!
service_configurator:
phoenix.configurators.puppet_service_configurator.PuppetServiceConfigurator!
connectivity:!
- protocol: tcp!
ports: [ 27017 ]!
allowed: [ hello_world ]

@samnewman
prod:!
nodes:!
- ami_id: ami-4dad7424!
size:
t1.micro!
credentials_name: us-east-ssh!
aws_key_name : test!
services: [hello_world]!
apache:!
security_groups: [ spicy-beef ]!
puppet_module_directory : puppet!
availability_zone: us-east-1a!
puppet_manifest : apache.pp!
type: phoenix.providers.aws_provider.AWSNodeDefinition!
service_configurator:
- ami_id: ami-4dad7424!
phoenix.configurators.puppet_service_configurator.PuppetServiceConfigurator!
size:
t1.micro!
connectivity:!
credentials_name: us-east-ssh!
- protocol: tcp!
aws_key_name : test!
ports: [ 80 ]!
services: [hello_world]!
allowed: [ WORLD ]!
security_groups: [ spicy-beef ]!
availability_zone: us-east-1b!
hello_world:!
type: phoenix.providers.aws_provider.AWSNodeDefinition!
puppet_module_directory : puppet!
- ami_id: ami-4dad7424!
puppet_manifest : hello_world.pp!
size:
t1.micro!
service_configurator:
credentials_name: us-east-ssh!
phoenix.configurators.puppet_service_configurator.PuppetServiceConfigurator!
aws_key_name : test!
connectivity:!
services: [apache]!
- protocol: tcp!
type: phoenix.providers.aws_provider.AWSNodeDefinition!
ports: [ 8080, 8081 ]!
security_groups: [ spicy-beef ]!
allowed: [ WORLD ]!

TIP: Have a single way of deploying services in any
given environment
!

!

!

node_provider:!
mongo:!
class_name: AWSNodeProvider!
puppet_module_directory : puppet!
public_api_key: {{ aws_public_api_key }}!
puppet_manifest
private_api_key: {{ aws_private_api_key }} : mongo.pp!
service_configurator:
phoenix.configurators.puppet_service_configurator.PuppetServiceConfigurator!
connectivity:!
- protocol: tcp!
ports: [ 27017 ]!
allowed: [ hello_world ]

@samnewman
Customer
Service
V1
"
Customer
Service
V1
" "
Customer
Service
V1
" " "
Customer
Service
V1
" " " "
Customer
Service
V1
" " " "
Customer
Service
V1
Finance

Customer
Service
V1
Finance

Customer
Service
V1

Customer
Service
v2
Finance

Customer
Service
V1

Finance

Customer
Service
v2
Integration Test

Finance

Customer
Service
v2
Finance

Customer
Service
v2
Finance

Consumer written
test

Customer
Service
v2
Finance

Consumer written
test

Customer
Service
v2
Finance

Customer
Service
v2

TIP: Consumer Driven Tests to catch breaking changes

Consumer written
test
Pending…

Prod
Pending…

Prod
Pending…

Prod
Pending…

Prod
Pending…

Prod
Pending…

Prod

TIP: Don’t let changes build up - release as soon as
you can, and preferably one at a time!
Architectural Safety

@samnewman
@samnewman
@samnewman
@samnewman
@samnewman
http://www.flickr.com/photos/louish/5611657857/

@samnewman
@samnewman
TIP: Use timeouts, circuit breakers and bulk-heads to
avoid cascading failure

@samnewman
Special Service Behaviour

@samnewman
Integration

Special Service Behaviour

@samnewman
Integration

Special Service Behaviour

Downstream

@samnewman
Integration

Special Service Behaviour

Metrics

Downstream

@samnewman
Integration

Special Service Behaviour

Metrics

Downstream

@samnewman
Integration

Special Service Behaviour

Metrics

Downstream

@samnewman
Integration

Special Service Behaviour

Metrics

TIP: Consider Service Templates to make it easy to do
the right thing!
Downstream

@samnewman
TIP: Standardise in the gaps between services - be
flexible about what happens inside the boxes
TIP: Avoid RPC-mechanisms or shared serialisation
protocols to avoid coupling
TIP: Have one, two or maybe three ways of
integrating, not 20
TIP: Pick some sensible conventions, and stick with
them

@samnewman
TIP: Capture metrics, and logs, for each node, and
aggregate them to get a rolled up picture
TIP: Use synthetic transactions to test production
systems
TIP: Avoid distributed transactions if at all possible
TIP: Use correlation IDs to track down nasty bugs
TIP: Abstract out underlying platform differences to
provide a uniform deployment mechanism

@samnewman
TIP: Have a single way of deploying services in any
given environment
TIP: Consumer Driven Tests to catch breaking changes
TIP: Don’t let changes build up - release as soon as
you can, and preferably one at a time!
TIP: Use timeouts, circuit breakers and bulk-heads to
avoid cascading failure
TIP: Consider Service Templates to make it easy to do
the right thing!
@samnewman
@samnewman
TIP: Standardise in the gaps between services - be
flexible about what happens inside the boxes

@samnewman
TIP: Standardise in the gaps between services - be
flexible about what happens inside the boxes

@samnewman
TIP: Standardise in the gaps between services - be
flexible about what happens inside the boxes

TIP: Don’t let changes build up - release as soon as
you can, and preferably one at a time!

@samnewman
TIP: Standardise in the gaps between services - be
flexible about what happens inside the boxes

TIP: Don’t let changes build up - release as soon as
you can, and preferably one at a time!

@samnewman
Designing For !
Rapid Release

@samnewman
Designing For !
Rapid Release

From Macro To Micro

@samnewman
Designing For !
Rapid Release

From Macro To Micro

http://lanyrd.com/profile/samnewman/

@samnewman
Thanks!

@samnewman
snewman@thoughtworks.com

@samnewman

More Related Content

What's hot

BETA - Securing microservices
BETA - Securing microservicesBETA - Securing microservices
BETA - Securing microservicesSam Newman
 
Principles of Microservices - NDC 2014
Principles of Microservices  - NDC 2014Principles of Microservices  - NDC 2014
Principles of Microservices - NDC 2014Sam Newman
 
Testing & deploying Microservices GeeCon 2014
Testing & deploying Microservices   GeeCon 2014Testing & deploying Microservices   GeeCon 2014
Testing & deploying Microservices GeeCon 2014Sam Newman
 
From macro to micro goto
From macro to micro   gotoFrom macro to micro   goto
From macro to micro gotoSam 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
 
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
 
Deploying and Testing Microservices
Deploying and Testing MicroservicesDeploying and Testing Microservices
Deploying and Testing MicroservicesThoughtworks
 
Migrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 stepsMigrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 stepsYan Cui
 
Webinar #5: Mobile indsigter og trends ft. Google
Webinar #5: Mobile indsigter og trends ft. Google Webinar #5: Mobile indsigter og trends ft. Google
Webinar #5: Mobile indsigter og trends ft. Google Become A/S
 
José M. Pérez Pérez | Better performance for component-based web apps | Codem...
José M. Pérez Pérez | Better performance for component-based web apps | Codem...José M. Pérez Pérez | Better performance for component-based web apps | Codem...
José M. Pérez Pérez | Better performance for component-based web apps | Codem...Codemotion
 
Networks, Networks Everywhere, And Not A Packet To Drink
Networks, Networks Everywhere, And Not A Packet To DrinkNetworks, Networks Everywhere, And Not A Packet To Drink
Networks, Networks Everywhere, And Not A Packet To DrinkReadWrite
 
2020 10-08 measuring-qualityinproduction
2020 10-08 measuring-qualityinproduction2020 10-08 measuring-qualityinproduction
2020 10-08 measuring-qualityinproductionAbigail Bangser
 
2020 06-03 cukenfest-bdd-and-sl_os
2020 06-03 cukenfest-bdd-and-sl_os2020 06-03 cukenfest-bdd-and-sl_os
2020 06-03 cukenfest-bdd-and-sl_osAbigail Bangser
 
AB Testing, Ads and other 3rd party tags - SmashingConf London - 2018
AB Testing, Ads and other 3rd party tags - SmashingConf London - 2018AB Testing, Ads and other 3rd party tags - SmashingConf London - 2018
AB Testing, Ads and other 3rd party tags - SmashingConf London - 2018Andy Davies
 
Technical SEO for a Mobile First World
Technical SEO for a Mobile First WorldTechnical SEO for a Mobile First World
Technical SEO for a Mobile First WorldKaizen
 
Progressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficadaProgressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficadaCaelum
 
2 Seconds is the New Slow - Chris Simmance - under2
2 Seconds is the New Slow -  Chris Simmance - under22 Seconds is the New Slow -  Chris Simmance - under2
2 Seconds is the New Slow - Chris Simmance - under2Chris Simmance
 

What's hot (20)

BETA - Securing microservices
BETA - Securing microservicesBETA - Securing microservices
BETA - Securing microservices
 
Principles of Microservices - NDC 2014
Principles of Microservices  - NDC 2014Principles of Microservices  - NDC 2014
Principles of Microservices - NDC 2014
 
Testing & deploying Microservices GeeCon 2014
Testing & deploying Microservices   GeeCon 2014Testing & deploying Microservices   GeeCon 2014
Testing & deploying Microservices GeeCon 2014
 
It's a trap!
It's a trap!It's a trap!
It's a trap!
 
From macro to micro goto
From macro to micro   gotoFrom macro to micro   goto
From macro to micro goto
 
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
 
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
 
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?
 
Deploying and Testing Microservices
Deploying and Testing MicroservicesDeploying and Testing Microservices
Deploying and Testing Microservices
 
Migrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 stepsMigrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 steps
 
Webinar #5: Mobile indsigter og trends ft. Google
Webinar #5: Mobile indsigter og trends ft. Google Webinar #5: Mobile indsigter og trends ft. Google
Webinar #5: Mobile indsigter og trends ft. Google
 
José M. Pérez Pérez | Better performance for component-based web apps | Codem...
José M. Pérez Pérez | Better performance for component-based web apps | Codem...José M. Pérez Pérez | Better performance for component-based web apps | Codem...
José M. Pérez Pérez | Better performance for component-based web apps | Codem...
 
Networks, Networks Everywhere, And Not A Packet To Drink
Networks, Networks Everywhere, And Not A Packet To DrinkNetworks, Networks Everywhere, And Not A Packet To Drink
Networks, Networks Everywhere, And Not A Packet To Drink
 
2020 10-08 measuring-qualityinproduction
2020 10-08 measuring-qualityinproduction2020 10-08 measuring-qualityinproduction
2020 10-08 measuring-qualityinproduction
 
2020 06-03 cukenfest-bdd-and-sl_os
2020 06-03 cukenfest-bdd-and-sl_os2020 06-03 cukenfest-bdd-and-sl_os
2020 06-03 cukenfest-bdd-and-sl_os
 
AB Testing, Ads and other 3rd party tags - SmashingConf London - 2018
AB Testing, Ads and other 3rd party tags - SmashingConf London - 2018AB Testing, Ads and other 3rd party tags - SmashingConf London - 2018
AB Testing, Ads and other 3rd party tags - SmashingConf London - 2018
 
Technical SEO for a Mobile First World
Technical SEO for a Mobile First WorldTechnical SEO for a Mobile First World
Technical SEO for a Mobile First World
 
Progressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficadaProgressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficada
 
2 Seconds is the New Slow - Chris Simmance - under2
2 Seconds is the New Slow -  Chris Simmance - under22 Seconds is the New Slow -  Chris Simmance - under2
2 Seconds is the New Slow - Chris Simmance - under2
 

Similar to Practical microservices - YOW 2013

Socket applications
Socket applicationsSocket applications
Socket applicationsJoão Moura
 
Amp your site: An intro to accelerated mobile pages
Amp your site: An intro to accelerated mobile pagesAmp your site: An intro to accelerated mobile pages
Amp your site: An intro to accelerated mobile pagesRobert McFrazier
 
Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be
Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to beAgile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be
Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to beAbraham Marin-Perez
 
OSDC 2017 | Modern Secrets Management with Vault by Seth Vargo
OSDC 2017 | Modern Secrets Management with Vault by Seth VargoOSDC 2017 | Modern Secrets Management with Vault by Seth Vargo
OSDC 2017 | Modern Secrets Management with Vault by Seth VargoNETWAYS
 
OSDC 2017 - Seth Vargo - Taming the modern data center
OSDC 2017 - Seth Vargo - Taming the modern data centerOSDC 2017 - Seth Vargo - Taming the modern data center
OSDC 2017 - Seth Vargo - Taming the modern data centerNETWAYS
 
OSDC 2017 | Taming the Modern Data Center by Seth Vargo
OSDC 2017 | Taming the Modern Data Center by Seth VargoOSDC 2017 | Taming the Modern Data Center by Seth Vargo
OSDC 2017 | Taming the Modern Data Center by Seth VargoNETWAYS
 
Cooking Up Drama - ChefConf 2015
Cooking Up Drama - ChefConf 2015 Cooking Up Drama - ChefConf 2015
Cooking Up Drama - ChefConf 2015 Chef
 
Hacking Client Side Insecurities
Hacking Client Side InsecuritiesHacking Client Side Insecurities
Hacking Client Side Insecuritiesamiable_indian
 
The Real World - Plugging the Enterprise Into It (nodejs)
The Real World - Plugging  the Enterprise Into It (nodejs)The Real World - Plugging  the Enterprise Into It (nodejs)
The Real World - Plugging the Enterprise Into It (nodejs)Aman Kohli
 
ContainerCon 2015 - Be a Microservices Hero
ContainerCon 2015 - Be a Microservices HeroContainerCon 2015 - Be a Microservices Hero
ContainerCon 2015 - Be a Microservices HeroDragos Dascalita
 
Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)True-Vision
 
Understanding Identity in the World of Web APIs – Ronnie Mitra, API Architec...
Understanding Identity in the World of Web APIs – Ronnie Mitra,  API Architec...Understanding Identity in the World of Web APIs – Ronnie Mitra,  API Architec...
Understanding Identity in the World of Web APIs – Ronnie Mitra, API Architec...CA API Management
 
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014Rackspace Academy
 
Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014Vinícius Carvalho
 
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...VMware Tanzu
 
20200714 AWS Black Belt Online Seminar Amazon Neptune
20200714 AWS Black Belt Online Seminar Amazon Neptune20200714 AWS Black Belt Online Seminar Amazon Neptune
20200714 AWS Black Belt Online Seminar Amazon NeptuneAmazon Web Services Japan
 
More than 1600 backlinks to Frontware.com
More than 1600 backlinks to Frontware.comMore than 1600 backlinks to Frontware.com
More than 1600 backlinks to Frontware.comFrontware International
 

Similar to Practical microservices - YOW 2013 (20)

Socket applications
Socket applicationsSocket applications
Socket applications
 
Amp your site: An intro to accelerated mobile pages
Amp your site: An intro to accelerated mobile pagesAmp your site: An intro to accelerated mobile pages
Amp your site: An intro to accelerated mobile pages
 
Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be
Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to beAgile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be
Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be
 
OSDC 2017 | Modern Secrets Management with Vault by Seth Vargo
OSDC 2017 | Modern Secrets Management with Vault by Seth VargoOSDC 2017 | Modern Secrets Management with Vault by Seth Vargo
OSDC 2017 | Modern Secrets Management with Vault by Seth Vargo
 
OSDC 2017 - Seth Vargo - Taming the modern data center
OSDC 2017 - Seth Vargo - Taming the modern data centerOSDC 2017 - Seth Vargo - Taming the modern data center
OSDC 2017 - Seth Vargo - Taming the modern data center
 
OSDC 2017 | Taming the Modern Data Center by Seth Vargo
OSDC 2017 | Taming the Modern Data Center by Seth VargoOSDC 2017 | Taming the Modern Data Center by Seth Vargo
OSDC 2017 | Taming the Modern Data Center by Seth Vargo
 
Cooking Up Drama
Cooking Up DramaCooking Up Drama
Cooking Up Drama
 
Cooking Up Drama - ChefConf 2015
Cooking Up Drama - ChefConf 2015 Cooking Up Drama - ChefConf 2015
Cooking Up Drama - ChefConf 2015
 
Hacking Client Side Insecurities
Hacking Client Side InsecuritiesHacking Client Side Insecurities
Hacking Client Side Insecurities
 
The Real World - Plugging the Enterprise Into It (nodejs)
The Real World - Plugging  the Enterprise Into It (nodejs)The Real World - Plugging  the Enterprise Into It (nodejs)
The Real World - Plugging the Enterprise Into It (nodejs)
 
ContainerCon 2015 - Be a Microservices Hero
ContainerCon 2015 - Be a Microservices HeroContainerCon 2015 - Be a Microservices Hero
ContainerCon 2015 - Be a Microservices Hero
 
Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)
 
Understanding Identity in the World of Web APIs – Ronnie Mitra, API Architec...
Understanding Identity in the World of Web APIs – Ronnie Mitra,  API Architec...Understanding Identity in the World of Web APIs – Ronnie Mitra,  API Architec...
Understanding Identity in the World of Web APIs – Ronnie Mitra, API Architec...
 
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
 
Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014
 
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...
 
20200714 AWS Black Belt Online Seminar Amazon Neptune
20200714 AWS Black Belt Online Seminar Amazon Neptune20200714 AWS Black Belt Online Seminar Amazon Neptune
20200714 AWS Black Belt Online Seminar Amazon Neptune
 
More than 1600 backlinks to Frontware.com
More than 1600 backlinks to Frontware.comMore than 1600 backlinks to Frontware.com
More than 1600 backlinks to Frontware.com
 
pub
pubpub
pub
 
pub
pubpub
pub
 

More from Sam 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
 
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
 
Designing for rapid release goto 2012
Designing for rapid release   goto 2012Designing for rapid release   goto 2012
Designing for rapid release goto 2012Sam Newman
 
Surfing the event stream
Surfing the event streamSurfing the event stream
Surfing the event streamSam Newman
 

More from Sam Newman (7)

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
 
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
 
Designing for rapid release goto 2012
Designing for rapid release   goto 2012Designing for rapid release   goto 2012
Designing for rapid release goto 2012
 
Surfing the event stream
Surfing the event streamSurfing the event stream
Surfing the event stream
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

Practical microservices - YOW 2013