194
DEPLOYING AND SCALING MICROSERVICES Sam Newman YOW! 2015

Deploying and Scaling Microservices

Embed Size (px)

Citation preview

Page 1: Deploying and Scaling Microservices

DEPLOYING AND SCALING MICROSERVICESSam Newman YOW! 2015

Page 2: Deploying and Scaling Microservices

@samnewman

Page 3: Deploying and Scaling Microservices

@samnewman

Sam Newman

Building MicroservicesDESIGNING FINE-GRAINED SYSTEMS

Page 4: Deploying and Scaling Microservices

@samnewman

Core Principles

Page 5: Deploying and Scaling Microservices

@samnewman

Artifacts

Core Principles

Page 6: Deploying and Scaling Microservices

@samnewman

Artifacts

Core Principles

Platforms

Page 7: Deploying and Scaling Microservices

@samnewman

Artifacts

Core Principles

Platforms

Page 8: Deploying and Scaling Microservices

@samnewman

Accounts

Returns

Invoicing

Shipping

Inventory

Customer Service

Page 9: Deploying and Scaling Microservices

@samnewman

Independent Deployability

Page 10: Deploying and Scaling Microservices

@samnewman

Accounts

Returns v345

Invoicing

Inventory

Customer Service

Shipping v123

Page 11: Deploying and Scaling Microservices

@samnewman

AccountsInvoicing

Shipping v456

Inventory

Customer Service

Returns v890

Page 12: Deploying and Scaling Microservices

@samnewman

https://www.flickr.com/photos/torkildr/3462607995/

Page 13: Deploying and Scaling Microservices

@samnewman

TestsBuild Performance ProdUAT

https://www.flickr.com/

Page 14: Deploying and Scaling Microservices

@samnewman

TestsBuild Performance ProdUAT

https://www.flickr.com/

Source Control

Page 15: Deploying and Scaling Microservices

@samnewman

TestsBuild Performance ProdUAT

https://www.flickr.com/

Source Control

Page 16: Deploying and Scaling Microservices

@samnewman

TestsBuild Performance ProdUAT

https://www.flickr.com/

Source Control

Page 17: Deploying and Scaling Microservices

@samnewman

TestsBuild Performance ProdUAT

https://www.flickr.com/

Source Control

!

Page 18: Deploying and Scaling Microservices

@samnewman

TestsBuild Performance ProdUAT

https://www.flickr.com/

Source Control

! !

Page 19: Deploying and Scaling Microservices

@samnewman

TestsBuild Performance ProdUAT

https://www.flickr.com/

Source Control

! ! !

Page 20: Deploying and Scaling Microservices

@samnewman

TestsBuild Performance ProdUAT

https://www.flickr.com/

Source Control

! ! !

Page 21: Deploying and Scaling Microservices

@samnewman

TestsBuild Performance ProdUAT

https://www.flickr.com/

Source Control

! ! !

One Artifact For All Environments

Page 22: Deploying and Scaling Microservices

@samnewman

TestsBuild Performance ProdUAT

https://www.flickr.com/

Source Control

! ! !

One Artifact For All Environments

Same Deployment Process Everywhere

Page 23: Deploying and Scaling Microservices

@samnewman

$ deploy Returns v456 Production

Page 24: Deploying and Scaling Microservices

@samnewman

$ deploy Returns v456 Production

Service Name

Page 25: Deploying and Scaling Microservices

@samnewman

$ deploy Returns v456 Production

Service Name Version

Page 26: Deploying and Scaling Microservices

@samnewman

$ deploy Returns v456 Production

local

Service Name Version

Page 27: Deploying and Scaling Microservices

@samnewman

$ deploy Returns v456 Production

locallatest

Service Name Version

Page 28: Deploying and Scaling Microservices

@samnewman

$ deploy Returns v456 Production

locallatest

Service Name Version

Environment

Page 29: Deploying and Scaling Microservices

@samnewman

TestsBuild Large TestsUAT Prod

DB

Machine

UAT Environment

Machine

Perf

Page 30: Deploying and Scaling Microservices

@samnewman

TestsBuild UAT Perf

Master DB

Machine

Perf Environment

Machine Machine Machine

Slave DB

Perf Prod

Page 31: Deploying and Scaling Microservices

@samnewman

TestsBuild UAT Perf Prod

Master DB

Machine

Production Environment

Machine Machine Machine

Slave DB

Page 32: Deploying and Scaling Microservices

@samnewman

Same Artifact

Page 33: Deploying and Scaling Microservices

@samnewman

Same Artifact

Different Topology

Page 34: Deploying and Scaling Microservices

@samnewman

Core Principles?

Page 35: Deploying and Scaling Microservices

@samnewman

Independent Deployability

Core Principles?

Page 36: Deploying and Scaling Microservices

@samnewman

Independent Deployability

One Artifact For All Environments

Core Principles?

Page 37: Deploying and Scaling Microservices

@samnewman

Independent Deployability

One Artifact For All Environments

Same Deployment Process Everywhere

Core Principles?

Page 38: Deploying and Scaling Microservices

@samnewman

Artifacts

Core Principles

Platforms

Page 39: Deploying and Scaling Microservices

@samnewman

What do we want from an artifact?

Page 40: Deploying and Scaling Microservices

@samnewman

What do we want from an artifact?

Page 41: Deploying and Scaling Microservices

@samnewman

What do we want from an artifact?

Easy to create

Page 42: Deploying and Scaling Microservices

@samnewman

What do we want from an artifact?

Easy to deploy

Easy to create

Page 43: Deploying and Scaling Microservices

@samnewman

What do we want from an artifact?

Easy to deploy

Abstract out the tech stack

Easy to create

Page 44: Deploying and Scaling Microservices

@samnewman

What do we want from an artifact?

Easy to deploy

Abstract out the tech stack

Good for dev, good for ops

Easy to create

Page 45: Deploying and Scaling Microservices

@samnewman

Tarballs

Page 46: Deploying and Scaling Microservices

@samnewman

Tarballs

Giant bundles of stuff

Page 47: Deploying and Scaling Microservices

@samnewman

Tarballs

Easy to create

Easy to deploy

Abstract out the tech stack

Good for dev, good for ops

Page 48: Deploying and Scaling Microservices

@samnewman

Tarballs

Easy to create!

Easy to deploy

Abstract out the tech stack

Good for dev, good for ops

Page 49: Deploying and Scaling Microservices

@samnewman

Tarballs

Easy to create!

Easy to deploy"

Abstract out the tech stack

Good for dev, good for ops

Page 50: Deploying and Scaling Microservices

@samnewman

Tarballs

Easy to create!

Easy to deploy"

Abstract out the tech stack#

Good for dev, good for ops

Page 51: Deploying and Scaling Microservices

@samnewman

Tarballs

Easy to create!

Easy to deploy"

Abstract out the tech stack#

Good for dev, good for ops"

Page 52: Deploying and Scaling Microservices

@samnewman

Stack-specific

Page 53: Deploying and Scaling Microservices

@samnewman

Stack-specific

nuget

jar

pip

gems

Page 54: Deploying and Scaling Microservices

@samnewman

Stack-specific

Easy to create

Abstract out the tech stack

Easy to deploy

Good for dev, good for ops

Page 55: Deploying and Scaling Microservices

@samnewman

Stack-specific

Easy to create!

Abstract out the tech stack

Easy to deploy

Good for dev, good for ops

Page 56: Deploying and Scaling Microservices

@samnewman

Stack-specific

Easy to create!

Abstract out the tech stack

Easy to deploy#

Good for dev, good for ops

Page 57: Deploying and Scaling Microservices

@samnewman

Stack-specific

Easy to create!

Abstract out the tech stack"

Easy to deploy#

Good for dev, good for ops

Page 58: Deploying and Scaling Microservices

@samnewman

Stack-specific

Easy to create!

Abstract out the tech stack"

Easy to deploy#

Good for dev, good for ops"

Page 59: Deploying and Scaling Microservices

@samnewman

Everything in Go is Awesome

Page 60: Deploying and Scaling Microservices

@samnewman

Everything in Go is Awesome

FACT

Page 61: Deploying and Scaling Microservices

@samnewman

OS-Specific

Page 62: Deploying and Scaling Microservices

@samnewman

OS-Specific

$ sudo apt-get install myservice

Page 63: Deploying and Scaling Microservices

@samnewman

OS-Specific

$ sudo apt-get install myservice

$ deploy Returns v456 Production

Page 64: Deploying and Scaling Microservices

@samnewman

OS-Specific

Easy to deploy

Easy to create

Abstract out the tech stack

Good for dev, good for ops

Page 65: Deploying and Scaling Microservices

@samnewman

OS-Specific

Easy to deploy

Easy to create"

Abstract out the tech stack

Good for dev, good for ops

Page 66: Deploying and Scaling Microservices

@samnewman

OS-Specific

Easy to deploy!

Easy to create"

Abstract out the tech stack

Good for dev, good for ops

Page 67: Deploying and Scaling Microservices

@samnewman

OS-Specific

Easy to deploy!

Easy to create"

Abstract out the tech stack!

Good for dev, good for ops

Page 68: Deploying and Scaling Microservices

@samnewman

OS-Specific

Easy to deploy!

Easy to create"

Abstract out the tech stack!

Good for dev, good for ops#

Page 69: Deploying and Scaling Microservices

@samnewman

Build

Page 70: Deploying and Scaling Microservices

@samnewman

Build

Deb Repo

Page 71: Deploying and Scaling Microservices

@samnewman

Host

Build

Deb Repo

Page 72: Deploying and Scaling Microservices

@samnewman

Host

Build

Deb Repo

Page 73: Deploying and Scaling Microservices

@samnewman

Host

Build

Deb Repo

Page 74: Deploying and Scaling Microservices

@samnewman

Page 75: Deploying and Scaling Microservices

@samnewman

A v1.5

Page 76: Deploying and Scaling Microservices

@samnewman

A v2.1

A v1.5

Page 77: Deploying and Scaling Microservices

@samnewman

A v2.1

A v1.5

Page 78: Deploying and Scaling Microservices

@samnewman

Host

Page 79: Deploying and Scaling Microservices

@samnewman

Host

Page 80: Deploying and Scaling Microservices

@samnewman

Host Host

Host Host

Page 81: Deploying and Scaling Microservices

@samnewman

Host Host

Host Host

Independent Execution Environments FTW!

Page 82: Deploying and Scaling Microservices

@samnewman

Custom Images

Easy to deploy

Easy to create

Abstract out the tech stack

Good for dev, good for ops

Page 83: Deploying and Scaling Microservices

@samnewman

Custom Images

Easy to deploy

Easy to create#

Abstract out the tech stack

Good for dev, good for ops

Page 84: Deploying and Scaling Microservices

@samnewman

Custom Images

Easy to deploy#

Easy to create#

Abstract out the tech stack

Good for dev, good for ops

Page 85: Deploying and Scaling Microservices

@samnewman

Custom Images

Easy to deploy#

Easy to create#

Abstract out the tech stack

Good for dev, good for ops

!

Page 86: Deploying and Scaling Microservices

@samnewman

Custom Images

Easy to deploy#

Easy to create#

Abstract out the tech stack

Good for dev, good for ops

!

#

Page 87: Deploying and Scaling Microservices

@samnewman

Page 88: Deploying and Scaling Microservices

@samnewman

Page 89: Deploying and Scaling Microservices

@samnewman

Cost of isolated hosts is reduced…

Page 90: Deploying and Scaling Microservices

@samnewman

Cost of isolated hosts is reduced…

…in terms of effort…

Page 91: Deploying and Scaling Microservices

@samnewman

Cost of isolated hosts is reduced…

…in terms of effort…

…and computing resources

Page 92: Deploying and Scaling Microservices

@samnewman

Docker!

Easy to deploy

Abstract out the tech stack

Good for dev, good for ops

Easy to create

Page 93: Deploying and Scaling Microservices

@samnewman

Docker!

Easy to deploy

Abstract out the tech stack

Good for dev, good for ops

Easy to create#

Page 94: Deploying and Scaling Microservices

@samnewman

Docker!

Easy to deploy

Abstract out the tech stack

Good for dev, good for ops

Easy to create

!

#

Page 95: Deploying and Scaling Microservices

@samnewman

Docker!

Easy to deploy

Abstract out the tech stack

Good for dev, good for ops

Easy to create

!

!

#

Page 96: Deploying and Scaling Microservices

@samnewman

Docker!

Easy to deploy

Abstract out the tech stack

Good for dev, good for ops

Easy to create

!

!

#

#

Page 97: Deploying and Scaling Microservices

@samnewman

Artifacts

Core Principles

Platforms

Page 98: Deploying and Scaling Microservices

@samnewman

What do we want from our deployment platform?

Page 99: Deploying and Scaling Microservices

@samnewman

What do we want from our deployment platform?

Separate artifact from topology

Page 100: Deploying and Scaling Microservices

@samnewman

What do we want from our deployment platform?

Separate artifact from topology

Makes handling lots of services easy!

Page 101: Deploying and Scaling Microservices

@samnewman

What do we want from our deployment platform?

Separate artifact from topology

Makes handling lots of services easy!

Supports docker images

Page 102: Deploying and Scaling Microservices

@samnewman

Deployment Platforms?

Page 103: Deploying and Scaling Microservices

@samnewman

Docker Swarm

Page 104: Deploying and Scaling Microservices

@samnewman

Docker Swarm

Page 105: Deploying and Scaling Microservices

@samnewman

Docker Swarm

Page 106: Deploying and Scaling Microservices

@samnewman

Docker Swarm

Page 107: Deploying and Scaling Microservices

@samnewman

DOCKER SWARM

Page 108: Deploying and Scaling Microservices

@samnewman

DOCKER SWARM

Swarm Manager

Page 109: Deploying and Scaling Microservices

@samnewman

DOCKER SWARM

Swarm Node Swarm Node Swarm Node

Swarm Manager

Page 110: Deploying and Scaling Microservices

@samnewman

DOCKER SWARM

Swarm Node Swarm Node Swarm Node

Swarm Manager

Page 111: Deploying and Scaling Microservices

@samnewman

DOCKER SWARM

Swarm Node Swarm Node Swarm Node

Swarm Manager

$ docker …

Page 112: Deploying and Scaling Microservices

@samnewman

DOCKER SWARM

Swarm Node Swarm Node Swarm Node

Swarm Manager

$ docker …

Page 113: Deploying and Scaling Microservices

@samnewman

DOCKER SWARM

Swarm Node Swarm Node Swarm Node

Swarm Manager

$ docker …

Page 114: Deploying and Scaling Microservices

@samnewman

DOCKER SWARM

Swarm Node Swarm Node Swarm Node

Swarm Manager

$ docker …

Page 115: Deploying and Scaling Microservices

@samnewman

SCHEDULING STRATEGIES - BINPACK

Swarm Node Swarm Node Swarm Node

Swarm Manager

Page 116: Deploying and Scaling Microservices

@samnewman

SCHEDULING STRATEGIES - BINPACK

Swarm Node Swarm Node Swarm Node

Swarm Manager

Page 117: Deploying and Scaling Microservices

@samnewman

SCHEDULING STRATEGIES - SPREAD

Swarm Node Swarm Node Swarm Node

Swarm Manager

Page 118: Deploying and Scaling Microservices

@samnewman

SCHEDULING STRATEGIES - SPREAD

Swarm Node Swarm Node Swarm Node

Swarm Manager

Page 119: Deploying and Scaling Microservices

@samnewman

DOCKER COMPOSE

web: build: . ports: - "5000:5000" volumes: - .:/code links: - redis

redis: image: redis

Page 120: Deploying and Scaling Microservices

@samnewman

Page 121: Deploying and Scaling Microservices

@samnewman

Doesn’t rebalance

Page 122: Deploying and Scaling Microservices

@samnewman

Doesn’t rebalance

Doesn’t restart failed containers

Page 123: Deploying and Scaling Microservices

@samnewman

Doesn’t rebalance

Doesn’t restart failed containers

Plays nice with the rest of docker

Page 124: Deploying and Scaling Microservices

@samnewman

Doesn’t rebalance

Doesn’t restart failed containers

Plays nice with the rest of docker

Case studies thin on the ground

Page 125: Deploying and Scaling Microservices

@samnewman

Page 126: Deploying and Scaling Microservices

@samnewman

Mesos Master

MESOS

Page 127: Deploying and Scaling Microservices

@samnewman

Mesos Master

MESOS

Page 128: Deploying and Scaling Microservices

@samnewman

Mesos Master

Mesos Agent Mesos Agent Mesos Agent

MESOS

Page 129: Deploying and Scaling Microservices

@samnewman

Frameworks!

Page 130: Deploying and Scaling Microservices

@samnewman

Page 131: Deploying and Scaling Microservices

@samnewman

Frameworks

Page 132: Deploying and Scaling Microservices

@samnewman

Frameworks

Scheduler

Page 133: Deploying and Scaling Microservices

@samnewman

Frameworks

Scheduler Executor

Page 134: Deploying and Scaling Microservices

@samnewman

Mesos Master

Mesos Agent Mesos Agent Mesos Agent

MESOS

Page 135: Deploying and Scaling Microservices

@samnewman

Mesos Master

Mesos Agent Mesos Agent Mesos Agent

MESOSHadoop Scheduler

Page 136: Deploying and Scaling Microservices

@samnewman

Mesos Master

Mesos Agent Mesos Agent Mesos Agent

MESOS

Hadoop Executor

Hadoop Scheduler

Page 137: Deploying and Scaling Microservices

@samnewman

Mesos Master

Mesos Agent Mesos Agent Mesos Agent

MESOS

Hadoop Executor

Hadoop Scheduler

Page 138: Deploying and Scaling Microservices

@samnewman

Mesos Master

Mesos Agent Mesos Agent Mesos Agent

MESOS

Hadoop Executor

Hadoop Scheduler

Hadoop

Page 139: Deploying and Scaling Microservices

@samnewman

Mesos Master

Mesos Agent Mesos Agent Mesos Agent

MESOS

Hadoop Executor

Hadoop Scheduler

Hadoop

Marathon

Marathon

Page 140: Deploying and Scaling Microservices

@samnewman

Mesos Master

Mesos Agent Mesos Agent Mesos Agent

MESOS

Hadoop Executor

Hadoop Scheduler

Hadoop

Marathon

Marathon

Marathon Scheduler

Page 141: Deploying and Scaling Microservices

@samnewman

Mesos Master

Mesos Agent Mesos Agent Mesos Agent

MESOS

Hadoop Executor

Hadoop Scheduler

Hadoop

Marathon

Marathon

Marathon Scheduler

Page 142: Deploying and Scaling Microservices

@samnewman

OTHER FRAMEWORKS…

https://github.com/alde/eremetic

Page 143: Deploying and Scaling Microservices

@samnewman

AWS Lambda

Page 144: Deploying and Scaling Microservices

@samnewman

Page 145: Deploying and Scaling Microservices

@samnewman

Great if you need to run other workloads

Page 146: Deploying and Scaling Microservices

@samnewman

Great if you need to run other workloads

Really powerful - fully featured, widely used

Page 147: Deploying and Scaling Microservices

@samnewman

Great if you need to run other workloads

Really powerful - fully featured, widely used

Fairly complex - lots of moving parts

Page 148: Deploying and Scaling Microservices

@samnewman

Page 149: Deploying and Scaling Microservices

@samnewman

Page 150: Deploying and Scaling Microservices

@samnewman

KUBERNETES ARCHITECTURE…SORT OF

Page 151: Deploying and Scaling Microservices

@samnewman

API Server

KUBERNETES ARCHITECTURE…SORT OF

Page 152: Deploying and Scaling Microservices

@samnewman

API Server

KUBERNETES ARCHITECTURE…SORT OF

Page 153: Deploying and Scaling Microservices

@samnewman

API Server

Kubelet Kubelet Kubelet

KUBERNETES ARCHITECTURE…SORT OF

Page 154: Deploying and Scaling Microservices

@samnewman

API Server

Kubelet Kubelet Kubelet

$ kubectl …

KUBERNETES ARCHITECTURE…SORT OF

Page 155: Deploying and Scaling Microservices

@samnewman

API Server

Kubelet Kubelet Kubelet

$ kubectl …

KUBERNETES ARCHITECTURE…SORT OF

Page 156: Deploying and Scaling Microservices

@samnewman

PODS?

Page 157: Deploying and Scaling Microservices

@samnewman

A collection of tightly coupled containers, running on one node

PODS?

Page 158: Deploying and Scaling Microservices

@samnewman

A collection of tightly coupled containers, running on one node

PODS?

Can have metadata, volumes too

Page 159: Deploying and Scaling Microservices

@samnewman

A collection of tightly coupled containers, running on one node

PODS?

Can have metadata, volumes too

Pods are mortal - not long running!

Page 160: Deploying and Scaling Microservices

@samnewman

A collection of tightly coupled containers, running on one node

PODS?

Can have metadata, volumes too

Pods are mortal - not long running!

A pod = a unit of scheduling

Page 161: Deploying and Scaling Microservices

@samnewman

SERVICES!

Page 162: Deploying and Scaling Microservices

@samnewman

SERVICES!

{ "kind": "Service", "apiVersion": "v1", "metadata": { "name": "my-service" }, "spec": { "selector": { "app": "MyApp" }, "ports": [ { "protocol": "TCP", "port": 80, "targetPort": 9376 } ] } }

Page 163: Deploying and Scaling Microservices

@samnewman

SERVICES!

A mapping of metadata and ports

to a set of pods

{ "kind": "Service", "apiVersion": "v1", "metadata": { "name": "my-service" }, "spec": { "selector": { "app": "MyApp" }, "ports": [ { "protocol": "TCP", "port": 80, "targetPort": 9376 } ] } }

Page 164: Deploying and Scaling Microservices

@samnewman

JSON is neither human readable nor human writeable

Page 165: Deploying and Scaling Microservices

@samnewman

JSON is neither human readable nor human writeable

Please stop using it for anything other than machines

Page 166: Deploying and Scaling Microservices

@samnewman

Kubelet

Page 167: Deploying and Scaling Microservices

@samnewman

Kubelet

Page 168: Deploying and Scaling Microservices

@samnewman

Kubelet

Page 169: Deploying and Scaling Microservices

@samnewman

Kubelet

Service Proxy

Page 170: Deploying and Scaling Microservices

@samnewman

Kubelet

Service Proxy

:80

Page 171: Deploying and Scaling Microservices

@samnewman

You don’t scale a service…

Kubelet

Service Proxy

:80

Page 172: Deploying and Scaling Microservices

@samnewman

You don’t scale a service…

…you scale the pods!

Kubelet

Service Proxy

:80

Page 173: Deploying and Scaling Microservices

@samnewman

Page 174: Deploying and Scaling Microservices

@samnewman

Simpler to setup than Mesos - but more single purpose too

Page 175: Deploying and Scaling Microservices

@samnewman

Simpler to setup than Mesos - but more single purpose too

Closer to a PAAS

Page 176: Deploying and Scaling Microservices

@samnewman

Simpler to setup than Mesos - but more single purpose too

Closer to a PAAS

Pods can be confusing!

Page 177: Deploying and Scaling Microservices

@samnewman

Simpler to setup than Mesos - but more single purpose too

Closer to a PAAS

Fairly new, but a growing amount of impressive support

Pods can be confusing!

Page 178: Deploying and Scaling Microservices

@samnewman

Docker Swarm

Page 179: Deploying and Scaling Microservices

@samnewman

Docker Swarm

Page 180: Deploying and Scaling Microservices

@samnewman

Docker Swarm

Page 181: Deploying and Scaling Microservices

@samnewman

Docker Swarm

Page 182: Deploying and Scaling Microservices

@samnewman

Page 183: Deploying and Scaling Microservices

@samnewman

Core Principles

Page 184: Deploying and Scaling Microservices

@samnewman

Core Principles

Independent Deployability

Page 185: Deploying and Scaling Microservices

@samnewman

Core Principles

One Artifact For All Environments

Independent Deployability

Page 186: Deploying and Scaling Microservices

@samnewman

Core Principles

One Artifact For All Environments

Independent Deployability

Same Deployment

Process

Page 187: Deploying and Scaling Microservices

@samnewman

Core Principles

One Artifact For All Environments

Independent Deployability

Same Deployment

Process

Docker Images As Artifacts

Page 188: Deploying and Scaling Microservices

@samnewman

Core Principles

One Artifact For All Environments

Independent Deployability

Same Deployment

Process

Docker Images As Artifacts

Criteria For Selecting A Platform

Page 189: Deploying and Scaling Microservices

@samnewman

Page 190: Deploying and Scaling Microservices

@samnewman

Sam Newman

Building MicroservicesDESIGNING FINE-GRAINED SYSTEMS

AUTHD

Page 191: Deploying and Scaling Microservices

@samnewman

Sam Newman

Building MicroservicesDESIGNING FINE-GRAINED SYSTEMS

AUTHD

Send me your questions on twitter!

Page 192: Deploying and Scaling Microservices

@samnewman

Sam Newman

Building MicroservicesDESIGNING FINE-GRAINED SYSTEMS

AUTHD

Send me your questions on twitter!

@samnewman

Page 193: Deploying and Scaling Microservices

@samnewman

Sam Newman

Building MicroservicesDESIGNING FINE-GRAINED SYSTEMS

AUTHD

Send me your questions on twitter!

@samnewman

And I’ll write up an answer for you!

Page 194: Deploying and Scaling Microservices

@samnewman [email protected]

THANKS!