austin docker meetup may 2015
TRANSCRIPT
Docker Networking !Past, Present and Future
John Willis!@botchagalupe!
Docker!
Hello Gordon
Agenda
• Overview!
• Software Defined World!
• Docker Networking (past)!
• Docker Networking (present)!
• Docker Networking (future)
Who am I
Blind Spots
Physical
Virtual
What Changed Compute
• Disaggregation of Hardware/Software!
• Web Scale and Open Source!
• Cloud Computing!
• Software Eating the World
What is Changing Networks
• Disaggregation of Hardware/Software!
• Web Scale and Open Source!
• Private Cloud Computing!
• Software Eating the World
Network vs Compute
CostNetwork
Compute - Storage
VerticalIntegration
Horizontalization
Number Widgets - Economies of Scale
Look Familiar?
Network Capacity Needs
Over Provisioned
Net
wor
k Usa
ge G
row
th
Time
Under Provisioned
Changing Traffic Patterns1990 2015
Changing Traffic Patterns
The Edge Changed
Why SDN?
• Networks are hard to manage!
• Networks are hard to evolve!
• Networks are hard to understand!
SDN is the Decoupling of Control from the Data Plan
quick review of node distribution
• distributed!• centralized!• de-centralized
Classic NetworkingDistributed
Centralized
Centralized
Forwarding Population
Controller
Match + Action
The SDN Approach
Distributed
Distributedthe internets scales
Decentralized
Decentralized
Topology
Forwarding Population + Clustered Controller
Orchestration
Match + Action
Retro SDN
OVS/DPDK Packet Forwarding Pipeline
Classifier
Table 0Frame In
FunctionFoo
Table 2
FunctionBar
Frame Out…….. Table n
Stages
Programable Data Paths
What do we do with all of this?
• Isolation
• Segmentation
• Advanced Segmentation
Isolation
• GRE
• STT
• VXLAN
Segmentation• Firewall Consolidation
• QoS
• Load Balancing
• Traffic Redirection
• Monitoring
Docker Networkingenhance basic networking!
seamless scale for > 1 host!
Security Compliance and Risk!
reduce Opex
Docker Networkingtransparent to developers!
native to docker!
familiar to network ops
Past
Past
Past
Past
Past
Past
Current• Weave
• Flannel
• Calico
• Triton
• Socketplane
Current
Future
• Container Network Model
• Libnetwork
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.
Future
Future
Future
Future• Container Network Model (or CNM)
• Notion of a Default Network
• Default Multi-Host Data-path for CNM
• Network API
• Docker Network CLI