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

Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
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
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
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
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Recently uploaded (20)

Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
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
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
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...
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

Practical microservices - YOW 2013