the good, the bad and the ugly of networking for microservices by mathew lodge, weaveworks

Post on 13-Feb-2017

303 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Container Networking: The Good, The Bad and The Ugly

Mathew LodgeWeaveworks

Container networking in last year• Good: IP per container networks, auto-

updating DNS, self-wiring networks• Bad: Understanding what’s actually going on• Ugly: Robustness, multicast

4

Typical microservice scenario

Worker Worker Worker

API Client API Client

API proxy / load balancer

5

The ugly: networking 1 year ago

Docker host 1 Docker host 2

Client

808080

Worker

4438443

6

The good: Networking today

Docker host 1 Docker host 2

Client

80

Worker

443

Ethernet bridge on Docker host VXLAN tunnel between hosts Ethernet bridge on Docker host

7

The good: DNS service discovery

DNS entries

10.0.0.1 www10.0.0.2 www10.1.0.1 svc x10.1.0.2 svc x10.1.0.3 svc x10.2.0.1 svc y10.2.0.2 svc y

www www

x x x

y y

www www

LB

Service X Service X

LB

Service Y

Service X

Service Y

Container network DNS auto-updatedwith container names

App view

The bad: visibility

9

Good: Docker app visualization…

Good: …while retaining CLI access

11

Ugly: Single point of failure

Consul 1 Consul 2 Consul 3

Host Host Host Host Host

12

Good: No single point of failure

Host Host Host Host Host

Weave Net: router container per host with eventually consistent shared cache

Thank you!

top related