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

13
Container Networking: The Good, The Bad and The Ugly Mathew Lodge Weaveworks

Upload: docker-inc

Post on 13-Feb-2017

303 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodge, Weaveworks

Container Networking: The Good, The Bad and The Ugly

Mathew LodgeWeaveworks

Page 2: The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodge, Weaveworks
Page 3: The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodge, Weaveworks

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

Page 4: The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodge, Weaveworks

4

Typical microservice scenario

Worker Worker Worker

API Client API Client

API proxy / load balancer

Page 5: The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodge, Weaveworks

5

The ugly: networking 1 year ago

Docker host 1 Docker host 2

Client

808080

Worker

4438443

Page 6: The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodge, Weaveworks

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

Page 7: The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodge, Weaveworks

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

Page 8: The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodge, Weaveworks

The bad: visibility

Page 9: The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodge, Weaveworks

9

Good: Docker app visualization…

Page 10: The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodge, Weaveworks

Good: …while retaining CLI access

Page 11: The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodge, Weaveworks

11

Ugly: Single point of failure

Consul 1 Consul 2 Consul 3

Host Host Host Host Host

Page 12: The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodge, Weaveworks

12

Good: No single point of failure

Host Host Host Host Host

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

Page 13: The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodge, Weaveworks

Thank you!