Slide 1

Slide 1 text

NATS in Docker make clustering simple with Weave Net & Scope Ilya Dmitrichenko May 2016

Slide 2

Slide 2 text

Outline • Motivation • why do I need a container network? • why to use Weave Net? • where does Weave Scope help? • Demo (Docker for Mac and Amazon ECS)

Slide 3

Slide 3 text

Why to use containers? • standard unit of software delivery (CI/CD) • ship code faster, as it’s easier to manage • multiple version etc • orchestration / cluster management • tight isolation and better utilisation

Slide 4

Slide 4 text

Why do I need a container network? • you may want to use an orchestrator • some orchestrators require a network • options vary, depending on cloud provider • you need something that just works

Slide 5

Slide 5 text

Why chose Weave Net? • works with any orchestrator (or without one) • provides unique IP for each container • has simple service discovery built-in • easy to setup and manage • works with all runtimes, as you will see • works the same in any cloud

Slide 6

Slide 6 text

What do you mean by any orchestrator? • Kubernetes • EC2 Container Service • Docker Swarm • Apache Mesos • DC/OS

Slide 7

Slide 7 text

How does Weave Net work? • lightweight micro-SDN • resilient mesh architecture • uses L2/VXLAN, supports multicast • no external config store required • all state leave on the network

Slide 8

Slide 8 text

How does service discovery work? • fast in-memory DNS • simply find containers by name • no port number lookup • no port remapping • no code changes

Slide 9

Slide 9 text

How does Weave Scope work? • lightweight microservices control panel • samples network traffic • gets metadata Docker • talks to orchestrator APIs • zero-config • plugins

Slide 10

Slide 10 text

How does Weave Net help NATS? • simple DNS service discovery • deploy clusters anywhere, any scale • no port remapping, just use default ports • remote access for development, crypto

Slide 11

Slide 11 text

How does Weave Scope help NATS? • confirm cluster configuration is function • confirm clients connect to different nodes • observe how system changes as you scale • debug containers in any orchestrator

Slide 12

Slide 12 text

Live Demo!

Slide 13

Slide 13 text

@errordeveloper