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

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Recently uploaded (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

Practical microservices - YOW 2013