SlideShare a Scribd company logo
1 of 15
Project Calico is sponsored by
Sponsored by
Project Calico: a Pure Layer 3
Approach to Scale-out networking
Christopher Liljesntolpe <cdl@projectcalico.org> April 15, 2015
Project Calico is sponsored by
 Christopher Liljenstolpe
 Lead Architect, Project Calico
 Director, Solutions Architecture
Metaswitch’s Networking Business Unit
 Metaswitch
 Sequoia-backed software company
 SDN & IP Multimedia Communications
 1,000+ global customers
 Project Calico
 Open source project, sponsored by Metaswitch
 Pure Layer 3 cloud networking solution
 Containers, virtual machines & bare metal
Introductions
Project Calico is sponsored by
• PNNI
• SVCs
• UNI
• IISP
• ILMI
Legacy (ATM / SNA)
• SIP
• Megaco/H.248
• MGCP
• Diameter
• SBC
VoIP / IMSEthernet / IP Routing
• BGP
• OSPF
• IS-IS
• RIP
• PIM
• IGMP
MPLS / Optical
• MPLS
• RSVP-TE
• LDP
• VPNs
• VPLS
• GMPLS
• O-UNI/NNI
• E-NNI
• LMP
• PCE
• SNA/IP
• SNAP-IX
• APPN
• HIS
• LLDP
• LACP
• STP
• ERPS
• SyncE
• OAM
Project Calico is sponsored by
An (Apache licensed) open source
project to enable networking of
workloads in a data center / cloud
environment
Objectives:
What is Calico?
SimpleScalable Open
Thousands of servers,
100k’s of workloads
Don’t demand users to
be networking experts
Open source and open
standards
Project Calico is sponsored by
Metaswitch Networks | Proprietary and
confidential | © 2014 | 5
Project Calico is sponsored by
Docker Networking Today: Two Main Models
Port forwarding / NAT
 Simple
 Works “out of the box”
 Easily understood
 … but not “real IP
networking”
 Won’t work with all
applications (e.g. IPsec)
 Only one container per
external IP/port combination
Overlay networks
 Give each container its
own private IP address (or
subnet)
 Separate “overlay” domain
over “underlay” network
with GRE, MPLS, VXLAN,
or proprietary tunneling
protocols
 But…
Project Calico is sponsored by
Virtual L2 segments, implemented
in software by virtual switch
The Standard Virtual Networking Model
vSwitch vSwitch vSwitch
Linux Linux Linux
Encap / de-
encap
(& flooding!)
Outer
MAC
Outer
IP
Outer
UDP
VXLAN
VM
MAC
VM
IP
VM
TCP/UDP
VM
Data
Router
services
required to
hop between
tenants
NAT required
for public
Internet
access
On/off-ramp
required to
get to NAS,
etc.
Virtual L2 segments, implemented
in software by virtual switch
Project Calico is sponsored by
☹ Unnecessary complexity
☹ Low scale limits
☹ Performance issues
☹ Inefficient resource utilization
☹ Difficulty troubleshooting
☹ Demands placed on
application developers to be
networking experts
This leads to…
ALL solutions that use
overlay / underlay
model suffer from
these effects, however
they are mitigated.
These issues become
critical with
containers due to the
higher scale than VMs
(100s vs 10s per
server)
… It doesn’t have to be this way!
Project Calico is sponsored by
What if we built a data center like the internet?
IP
App
IP
App
IP
App
IP
App
IP
App
IP
App
IP
App
IP
App
Router
Router
Router
BGP BGP
Hosts
Project Calico is sponsored by
What if we built a data center like the internet?
IP
App
IP
App
IP
App
IP
App
IP
App
IP
App
IP
App
IP
App
BGP BGP Compute NodeCompute Node
VMs / LXCs
Router
Router
Router
VMs / LXCs
… this is Project Calico!
Project Calico is sponsored by
Project Calico – key Principles
IP
 Perform layer 3 forwarding at each compute node
 Leverage Linux kernel’s efficient IP forwarding engine –
no separate vSwitch
BGP
 Distribute routes using proven Border Gateway
Protocol, with route reflectors for scale
 Program routes into Linux kernel on each host (and into
physical fabric if required)
 Separate policy decisions from routing information
 Translate global policy into distributed firewall on each
host, enabling tenant isolation & more
Project Calico is sponsored by
Technical Details
 Architecture components
 Orchestrator plug-in
 Integrates with platform-specific APIs
(e.g. Neutron)
 Felix agent
 Forwarding table update, security
policy, per-tenant traffic isolation
 etcd – distributed, highly available
datastore
 BIRD – BGP stack
 Linux kernel – layer 3 forwarding
and ACL enforcement
 Build on and contribute to many
existing open source projects
 Release status
 Openstack, Juju: ready for trials
 Docker, Fuel: early/experimental
 Others: in progress
 Supported, hardened commercial
release end-Q2, 2015
Any physical fabric (L2, L3, MPLS, …)
Cloud OS / Orchestration SystemCloud OS / Orchestration System
Compute NodeCompute NodeCompute Node
Linux kernel
Cloud OS / Orchestration System
BGP
Client
Felix
Routes ACLs
Route
Reflector
Workload
VM / Container
Eth0 Eth1
Calico
Plugin
…
Project Calico is sponsored by
Traditional Overlays and Calico - Compared
Before Calico After Calico
Scale challenges above few hundred
servers / thousands of workloads
Scale to millions of workloads with minimal
CPU and network overhead
Troubleshooting connectivity issues can
take hours
What is happening is “obvious” –
traceroute, ping, etc., work as expected
EXITOn/off ramps + NAT to break out of
overlay
Path from workload to non-virtual device
or public internet (or even between data
centers) is just a route
High availability / load balancing across
links requires LB function (virtual or
physical) and/or app-specific logic
Equal Cost Multi-Path (ECMP) & Anycast
just work, enabling scalable resilience and
full utilization of physical links
C
C
N
A
CCNA or equivalent required to
understand end-to-end networking,
deploy applications
Basic IP networking knowledge only
required
Project Calico is sponsored by
Calico Roadmap / Future Directions
Q1 2015 Q2 2015 2H 2015 2016
 Ready for trial on
OpenStack
 Docker support
 Automated
installation via
Chef, Juju
(Canonical)  Commercially
supported
release
 Integration with
Mirantis Fuel
 Container
orchestrator
integrations
 Integration with
additional
orchestrators
 Overlapping IP
addresses with
v4-in-v6
 Simplified
deployment
automation
 Enhanced
diagnostics,
analytics, policy
 MPLS tunnel
termination
 Multicast
Project Calico is sponsored by
get involved
 Main project website:
www.projectcalico.org
 Github
 https://github.com/Metaswitch/
calico
 https://github.com/Metaswitch/
calico-docker
 Mailing list:
 http://lists.projectcalico.org/listi
nfo/calico
 Download & try it out
 We welcome your
feedback and contributions
 Follow us @projectcalico

More Related Content

What's hot

LTM essentials
LTM essentialsLTM essentials
LTM essentials
bharadwajv
 
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
OpenStack Korea Community
 
How VXLAN works on Linux
How VXLAN works on LinuxHow VXLAN works on Linux
How VXLAN works on Linux
Etsuji Nakai
 

What's hot (20)

Introduction to YANG data models and their use in OpenDaylight: an overview
Introduction to YANG data models and their use in OpenDaylight: an overviewIntroduction to YANG data models and their use in OpenDaylight: an overview
Introduction to YANG data models and their use in OpenDaylight: an overview
 
Introduction to linux containers
Introduction to linux containersIntroduction to linux containers
Introduction to linux containers
 
DevConf 2014 Kernel Networking Walkthrough
DevConf 2014   Kernel Networking WalkthroughDevConf 2014   Kernel Networking Walkthrough
DevConf 2014 Kernel Networking Walkthrough
 
Configuration & Routing of Clos Networks
Configuration & Routing of Clos NetworksConfiguration & Routing of Clos Networks
Configuration & Routing of Clos Networks
 
Demystfying container-networking
Demystfying container-networkingDemystfying container-networking
Demystfying container-networking
 
Deep dive into Kubernetes Networking
Deep dive into Kubernetes NetworkingDeep dive into Kubernetes Networking
Deep dive into Kubernetes Networking
 
Large scale overlay networks with ovn: problems and solutions
Large scale overlay networks with ovn: problems and solutionsLarge scale overlay networks with ovn: problems and solutions
Large scale overlay networks with ovn: problems and solutions
 
Network Service Mesh
Network Service MeshNetwork Service Mesh
Network Service Mesh
 
Room 3 - 6 - Nguyễn Văn Thắng & Dzung Nguyen - Ứng dụng openzfs làm lưu trữ t...
Room 3 - 6 - Nguyễn Văn Thắng & Dzung Nguyen - Ứng dụng openzfs làm lưu trữ t...Room 3 - 6 - Nguyễn Văn Thắng & Dzung Nguyen - Ứng dụng openzfs làm lưu trữ t...
Room 3 - 6 - Nguyễn Văn Thắng & Dzung Nguyen - Ứng dụng openzfs làm lưu trữ t...
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Dive
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
 
LTM essentials
LTM essentialsLTM essentials
LTM essentials
 
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
 
OpenStack hands-on (All-in-One)
OpenStack hands-on (All-in-One)OpenStack hands-on (All-in-One)
OpenStack hands-on (All-in-One)
 
Ceph issue 해결 사례
Ceph issue 해결 사례Ceph issue 해결 사례
Ceph issue 해결 사례
 
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
 
Open vSwitch Introduction
Open vSwitch IntroductionOpen vSwitch Introduction
Open vSwitch Introduction
 
Openstack Neutron, interconnections with BGP/MPLS VPNs
Openstack Neutron, interconnections with BGP/MPLS VPNsOpenstack Neutron, interconnections with BGP/MPLS VPNs
Openstack Neutron, interconnections with BGP/MPLS VPNs
 
Cilium - API-aware Networking and Security for Containers based on BPF
Cilium - API-aware Networking and Security for Containers based on BPFCilium - API-aware Networking and Security for Containers based on BPF
Cilium - API-aware Networking and Security for Containers based on BPF
 
How VXLAN works on Linux
How VXLAN works on LinuxHow VXLAN works on Linux
How VXLAN works on Linux
 

Viewers also liked

Viewers also liked (7)

An Overview of Linux Networking Options
An Overview of Linux Networking OptionsAn Overview of Linux Networking Options
An Overview of Linux Networking Options
 
Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...
Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...
Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...
 
Designing scalable Docker networks
Designing scalable Docker networksDesigning scalable Docker networks
Designing scalable Docker networks
 
Container Networking Meetup March 31 2016
Container Networking Meetup March 31 2016Container Networking Meetup March 31 2016
Container Networking Meetup March 31 2016
 
Scale Kubernetes to support 50000 services
Scale Kubernetes to support 50000 servicesScale Kubernetes to support 50000 services
Scale Kubernetes to support 50000 services
 
An Updated Performance Comparison of Virtual Machines and Linux Containers
An Updated Performance Comparison of Virtual Machines and Linux ContainersAn Updated Performance Comparison of Virtual Machines and Linux Containers
An Updated Performance Comparison of Virtual Machines and Linux Containers
 
Kubernetes networking in AWS
Kubernetes networking in AWSKubernetes networking in AWS
Kubernetes networking in AWS
 

Similar to Intro to Project Calico: a pure layer 3 approach to scale-out networking

OpenStack 2012 fall summit observation - Quantum/SDN
OpenStack 2012 fall summit observation - Quantum/SDNOpenStack 2012 fall summit observation - Quantum/SDN
OpenStack 2012 fall summit observation - Quantum/SDN
Te-Yen Liu
 
The Modern Telco Network: Defining The Telco Cloud
The Modern Telco Network: Defining The Telco CloudThe Modern Telco Network: Defining The Telco Cloud
The Modern Telco Network: Defining The Telco Cloud
Marco Rodrigues
 

Similar to Intro to Project Calico: a pure layer 3 approach to scale-out networking (20)

Simple, Scalable and Secure Networking for Data Centers with Project Calico
Simple, Scalable and Secure Networking for Data Centers with Project CalicoSimple, Scalable and Secure Networking for Data Centers with Project Calico
Simple, Scalable and Secure Networking for Data Centers with Project Calico
 
Introduction to the Container Networking and Security
Introduction to the Container Networking and SecurityIntroduction to the Container Networking and Security
Introduction to the Container Networking and Security
 
OpenStack 2012 fall summit observation - Quantum/SDN
OpenStack 2012 fall summit observation - Quantum/SDNOpenStack 2012 fall summit observation - Quantum/SDN
OpenStack 2012 fall summit observation - Quantum/SDN
 
 Network Innovations Driving Business Transformation
 Network Innovations Driving Business Transformation Network Innovations Driving Business Transformation
 Network Innovations Driving Business Transformation
 
Colt VCPE and NFV at L123 SDN WC 2015
Colt VCPE and NFV at L123 SDN WC 2015Colt VCPE and NFV at L123 SDN WC 2015
Colt VCPE and NFV at L123 SDN WC 2015
 
Netsft2017 day in_life_of_nfv
Netsft2017 day in_life_of_nfvNetsft2017 day in_life_of_nfv
Netsft2017 day in_life_of_nfv
 
Overlay/Underlay - Betting on Container Networking
Overlay/Underlay - Betting on Container NetworkingOverlay/Underlay - Betting on Container Networking
Overlay/Underlay - Betting on Container Networking
 
G rpc talk with intel (3)
G rpc talk with intel (3)G rpc talk with intel (3)
G rpc talk with intel (3)
 
PLNOG 8: Ivan Pepelnjak - Cloud Networking - From Theory to Practice
PLNOG 8: Ivan Pepelnjak - Cloud Networking - From Theory to Practice PLNOG 8: Ivan Pepelnjak - Cloud Networking - From Theory to Practice
PLNOG 8: Ivan Pepelnjak - Cloud Networking - From Theory to Practice
 
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux –  Unified IoT Pl...Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux –  Unified IoT Pl...
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...
 
OSS in the era of SDN and NFV: Evolution vs Revolution - What we can learn f...
OSS in the era of SDN and NFV:  Evolution vs Revolution - What we can learn f...OSS in the era of SDN and NFV:  Evolution vs Revolution - What we can learn f...
OSS in the era of SDN and NFV: Evolution vs Revolution - What we can learn f...
 
FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)
 
FD.IO Vector Packet Processing
FD.IO Vector Packet ProcessingFD.IO Vector Packet Processing
FD.IO Vector Packet Processing
 
Colt SD-WAN experience learnings and future plans
Colt SD-WAN experience learnings and future plansColt SD-WAN experience learnings and future plans
Colt SD-WAN experience learnings and future plans
 
The Modern Telco Network: Defining The Telco Cloud
The Modern Telco Network: Defining The Telco CloudThe Modern Telco Network: Defining The Telco Cloud
The Modern Telco Network: Defining The Telco Cloud
 
Cis sem sdn
Cis sem sdnCis sem sdn
Cis sem sdn
 
Three years of OFELIA - taking stock
Three years of OFELIA - taking stockThree years of OFELIA - taking stock
Three years of OFELIA - taking stock
 
OpenStack: Changing the Face of Service Delivery
OpenStack: Changing the Face of Service DeliveryOpenStack: Changing the Face of Service Delivery
OpenStack: Changing the Face of Service Delivery
 
OpenStack: Changing the Face of Service Delivery
OpenStack: Changing the Face of Service DeliveryOpenStack: Changing the Face of Service Delivery
OpenStack: Changing the Face of Service Delivery
 
Modern VoIP in modern infrastructures
Modern VoIP in modern infrastructuresModern VoIP in modern infrastructures
Modern VoIP in modern infrastructures
 

Recently uploaded

Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptx
chumtiyababu
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 

Recently uploaded (20)

HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to Computers
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptx
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech Civil
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 

Intro to Project Calico: a pure layer 3 approach to scale-out networking

  • 1. Project Calico is sponsored by Sponsored by Project Calico: a Pure Layer 3 Approach to Scale-out networking Christopher Liljesntolpe <cdl@projectcalico.org> April 15, 2015
  • 2. Project Calico is sponsored by  Christopher Liljenstolpe  Lead Architect, Project Calico  Director, Solutions Architecture Metaswitch’s Networking Business Unit  Metaswitch  Sequoia-backed software company  SDN & IP Multimedia Communications  1,000+ global customers  Project Calico  Open source project, sponsored by Metaswitch  Pure Layer 3 cloud networking solution  Containers, virtual machines & bare metal Introductions
  • 3. Project Calico is sponsored by • PNNI • SVCs • UNI • IISP • ILMI Legacy (ATM / SNA) • SIP • Megaco/H.248 • MGCP • Diameter • SBC VoIP / IMSEthernet / IP Routing • BGP • OSPF • IS-IS • RIP • PIM • IGMP MPLS / Optical • MPLS • RSVP-TE • LDP • VPNs • VPLS • GMPLS • O-UNI/NNI • E-NNI • LMP • PCE • SNA/IP • SNAP-IX • APPN • HIS • LLDP • LACP • STP • ERPS • SyncE • OAM
  • 4. Project Calico is sponsored by An (Apache licensed) open source project to enable networking of workloads in a data center / cloud environment Objectives: What is Calico? SimpleScalable Open Thousands of servers, 100k’s of workloads Don’t demand users to be networking experts Open source and open standards
  • 5. Project Calico is sponsored by Metaswitch Networks | Proprietary and confidential | © 2014 | 5
  • 6. Project Calico is sponsored by Docker Networking Today: Two Main Models Port forwarding / NAT  Simple  Works “out of the box”  Easily understood  … but not “real IP networking”  Won’t work with all applications (e.g. IPsec)  Only one container per external IP/port combination Overlay networks  Give each container its own private IP address (or subnet)  Separate “overlay” domain over “underlay” network with GRE, MPLS, VXLAN, or proprietary tunneling protocols  But…
  • 7. Project Calico is sponsored by Virtual L2 segments, implemented in software by virtual switch The Standard Virtual Networking Model vSwitch vSwitch vSwitch Linux Linux Linux Encap / de- encap (& flooding!) Outer MAC Outer IP Outer UDP VXLAN VM MAC VM IP VM TCP/UDP VM Data Router services required to hop between tenants NAT required for public Internet access On/off-ramp required to get to NAS, etc. Virtual L2 segments, implemented in software by virtual switch
  • 8. Project Calico is sponsored by ☹ Unnecessary complexity ☹ Low scale limits ☹ Performance issues ☹ Inefficient resource utilization ☹ Difficulty troubleshooting ☹ Demands placed on application developers to be networking experts This leads to… ALL solutions that use overlay / underlay model suffer from these effects, however they are mitigated. These issues become critical with containers due to the higher scale than VMs (100s vs 10s per server) … It doesn’t have to be this way!
  • 9. Project Calico is sponsored by What if we built a data center like the internet? IP App IP App IP App IP App IP App IP App IP App IP App Router Router Router BGP BGP Hosts
  • 10. Project Calico is sponsored by What if we built a data center like the internet? IP App IP App IP App IP App IP App IP App IP App IP App BGP BGP Compute NodeCompute Node VMs / LXCs Router Router Router VMs / LXCs … this is Project Calico!
  • 11. Project Calico is sponsored by Project Calico – key Principles IP  Perform layer 3 forwarding at each compute node  Leverage Linux kernel’s efficient IP forwarding engine – no separate vSwitch BGP  Distribute routes using proven Border Gateway Protocol, with route reflectors for scale  Program routes into Linux kernel on each host (and into physical fabric if required)  Separate policy decisions from routing information  Translate global policy into distributed firewall on each host, enabling tenant isolation & more
  • 12. Project Calico is sponsored by Technical Details  Architecture components  Orchestrator plug-in  Integrates with platform-specific APIs (e.g. Neutron)  Felix agent  Forwarding table update, security policy, per-tenant traffic isolation  etcd – distributed, highly available datastore  BIRD – BGP stack  Linux kernel – layer 3 forwarding and ACL enforcement  Build on and contribute to many existing open source projects  Release status  Openstack, Juju: ready for trials  Docker, Fuel: early/experimental  Others: in progress  Supported, hardened commercial release end-Q2, 2015 Any physical fabric (L2, L3, MPLS, …) Cloud OS / Orchestration SystemCloud OS / Orchestration System Compute NodeCompute NodeCompute Node Linux kernel Cloud OS / Orchestration System BGP Client Felix Routes ACLs Route Reflector Workload VM / Container Eth0 Eth1 Calico Plugin …
  • 13. Project Calico is sponsored by Traditional Overlays and Calico - Compared Before Calico After Calico Scale challenges above few hundred servers / thousands of workloads Scale to millions of workloads with minimal CPU and network overhead Troubleshooting connectivity issues can take hours What is happening is “obvious” – traceroute, ping, etc., work as expected EXITOn/off ramps + NAT to break out of overlay Path from workload to non-virtual device or public internet (or even between data centers) is just a route High availability / load balancing across links requires LB function (virtual or physical) and/or app-specific logic Equal Cost Multi-Path (ECMP) & Anycast just work, enabling scalable resilience and full utilization of physical links C C N A CCNA or equivalent required to understand end-to-end networking, deploy applications Basic IP networking knowledge only required
  • 14. Project Calico is sponsored by Calico Roadmap / Future Directions Q1 2015 Q2 2015 2H 2015 2016  Ready for trial on OpenStack  Docker support  Automated installation via Chef, Juju (Canonical)  Commercially supported release  Integration with Mirantis Fuel  Container orchestrator integrations  Integration with additional orchestrators  Overlapping IP addresses with v4-in-v6  Simplified deployment automation  Enhanced diagnostics, analytics, policy  MPLS tunnel termination  Multicast
  • 15. Project Calico is sponsored by get involved  Main project website: www.projectcalico.org  Github  https://github.com/Metaswitch/ calico  https://github.com/Metaswitch/ calico-docker  Mailing list:  http://lists.projectcalico.org/listi nfo/calico  Download & try it out  We welcome your feedback and contributions  Follow us @projectcalico