austin docker meetup may 2015

43
Docker Networking Past, Present and Future John Willis @botchagalupe Docker

Upload: john-willis

Post on 17-Jul-2015

797 views

Category:

Education


6 download

TRANSCRIPT

Page 1: Austin Docker Meetup May 2015

Docker Networking !Past, Present and Future

John Willis!@botchagalupe!

Docker!

Page 2: Austin Docker Meetup May 2015

Hello Gordon

Page 3: Austin Docker Meetup May 2015

Agenda

• Overview!

• Software Defined World!

• Docker Networking (past)!

• Docker Networking (present)!

• Docker Networking (future)

Page 4: Austin Docker Meetup May 2015

Who am I

Page 5: Austin Docker Meetup May 2015

Blind Spots

Physical

Virtual

Page 6: Austin Docker Meetup May 2015

What Changed Compute

• Disaggregation of Hardware/Software!

• Web Scale and Open Source!

• Cloud Computing!

• Software Eating the World

Page 7: Austin Docker Meetup May 2015

What is Changing Networks

• Disaggregation of Hardware/Software!

• Web Scale and Open Source!

• Private Cloud Computing!

• Software Eating the World

Page 8: Austin Docker Meetup May 2015

Network vs Compute

CostNetwork

Compute - Storage

VerticalIntegration

Horizontalization

Number Widgets - Economies of Scale

Page 9: Austin Docker Meetup May 2015

Look Familiar?

Network Capacity Needs

Over Provisioned

Net

wor

k Usa

ge G

row

th

Time

Under Provisioned

Page 10: Austin Docker Meetup May 2015

Changing Traffic Patterns1990 2015

Page 11: Austin Docker Meetup May 2015

Changing Traffic Patterns

Page 12: Austin Docker Meetup May 2015

The Edge Changed

Page 13: Austin Docker Meetup May 2015

Why SDN?

• Networks are hard to manage!

• Networks are hard to evolve!

• Networks are hard to understand!

Page 14: Austin Docker Meetup May 2015

SDN is the Decoupling of Control from the Data Plan

Page 15: Austin Docker Meetup May 2015

quick review of node distribution

• distributed!• centralized!• de-centralized

Page 16: Austin Docker Meetup May 2015

Classic NetworkingDistributed

Page 17: Austin Docker Meetup May 2015

Centralized

Page 18: Austin Docker Meetup May 2015

Centralized

Forwarding Population

Controller

Match + Action

The SDN Approach

Page 19: Austin Docker Meetup May 2015

Distributed

Page 20: Austin Docker Meetup May 2015

Distributedthe internets scales

Page 21: Austin Docker Meetup May 2015

Decentralized

Page 22: Austin Docker Meetup May 2015

Decentralized

Topology

Forwarding Population + Clustered Controller

Orchestration

Match + Action

Retro SDN

Page 23: Austin Docker Meetup May 2015

OVS/DPDK Packet Forwarding Pipeline

Classifier

Table 0Frame In

FunctionFoo

Table 2

FunctionBar

Frame Out…….. Table n

Stages

Programable Data Paths

Page 24: Austin Docker Meetup May 2015

What do we do with all of this?

• Isolation

• Segmentation

• Advanced Segmentation

Page 25: Austin Docker Meetup May 2015

Isolation

• GRE

• STT

• VXLAN

Page 26: Austin Docker Meetup May 2015

Segmentation• Firewall Consolidation

• QoS

• Load Balancing

• Traffic Redirection

• Monitoring

Page 27: Austin Docker Meetup May 2015

Docker Networkingenhance basic networking!

seamless scale for > 1 host!

Security Compliance and Risk!

reduce Opex

Page 28: Austin Docker Meetup May 2015

Docker Networkingtransparent to developers!

native to docker!

familiar to network ops

Page 29: Austin Docker Meetup May 2015

Past

http://windsock.io/the-docker-proxy/

Page 30: Austin Docker Meetup May 2015

Past

Page 31: Austin Docker Meetup May 2015

Past

Page 32: Austin Docker Meetup May 2015

Past

Page 33: Austin Docker Meetup May 2015

Past

Page 34: Austin Docker Meetup May 2015

Past

Page 35: Austin Docker Meetup May 2015

Past

Page 36: Austin Docker Meetup May 2015

Current• Weave

• Flannel

• Calico

• Triton

• Socketplane

Page 37: Austin Docker Meetup May 2015

Current

Page 38: Austin Docker Meetup May 2015

Future

• Container Network Model

• Libnetwork

Page 39: Austin Docker Meetup May 2015

Futurelibnetwork - networking for containers

Libnetwork provides a native Go implementation for connecting containers!!The goal of libnetwork is to deliver a robust Container Network Model that provides a consistent programming interface and the required network abstractions for applications.!!Currently libnetwork is nothing more than an attempt to modularize the Docker platform's networking subsystem by moving it into libnetwork as a library.!!NOTE: libnetwork project is under heavy development and is not ready for general use.

Page 40: Austin Docker Meetup May 2015

Future

Page 41: Austin Docker Meetup May 2015

Future

Page 42: Austin Docker Meetup May 2015

Future

Page 43: Austin Docker Meetup May 2015

Future• Container Network Model (or CNM)

• Notion of a Default Network

• Default Multi-Host Data-path for CNM

• Network API

• Docker Network CLI