SlideShare ist ein Scribd-Unternehmen logo
1 von 68
Downloaden Sie, um offline zu lesen
Simplifying the network stack with
Romana
Pani Networks
OpenStack Meetup, Auckland, May 2016
romana.io Simplifying the network stack with Romana @romanaproject
Agenda
● “Cloud native”, why does it matter?
● A better network for cloud native architectures
● Demos
romana.io Simplifying the network stack with Romana @romanaproject
About us
● Team background:
– Data center networks
– Low-level traffic management
● Created L2 overlay network startup
– Bought by Cisco
● OpenStack networking
● There's got to be a better way
– Time is right
What is 'cloud native'?
romana.io Simplifying the network stack with Romana @romanaproject
The past: Enterprise networking
● Full control
● Applications need L2 and L3
– May need hard-wired IP addresses
– Broadcasts
● Servers are pets, not cattle: “Careful!”
– VM migration
● Complex!
romana.io Simplifying the network stack with Romana @romanaproject
Cloud native applications
● Automate all the things!
– Infrastructure as code
– Cattle, not pets: “Meh... just kill it.”
– Workloads come and go quickly
– Build for resiliance
● IP is all you need
– No hardcoded IP addresses, discovery
– No special network requirements
– Basic IP connectivity
The problem
romana.io Simplifying the network stack with Romana @romanaproject
We have a mismatch
● Building cloud native applications…
● … on top of enterprise networking
– SDN controllers use overlay L2 domains
– VLAN, VXLAN, OVS, etc.
● Complexity and brittleness
– Lose benefits of simplicity
– Lose performance (encap, blinded hardware)
– Difficult to maintain and trouble shoot
romana.io Simplifying the network stack with Romana @romanaproject
The price you pay: Complexity
VXLAN Decap
VXLAN Decap
VXLAN Encap
VXLAN Encap
2 Top of Rack Round
Trips
East/West Traffic
Per Instance Security
romana.io Simplifying the network stack with Romana @romanaproject
The price you pay: Performance
Router
Endpoint A Endpoint B
Router
L2 overlay A
L2 overlay B
VRouter
romana.io Simplifying the network stack with Romana @romanaproject
Why do we do this to ourselves?
● We don't need any L2 features
● Except maybe traffic segmentation
– Multi tenancy
– Tiers and policies
The solution
romana.io Simplifying the network stack with Romana @romanaproject
Networking the way it was intended
● Use native L3 capabilities
● No overlays
● De-emphasize IP address ranges
● Still provide segmentation, multi tenancy
● Simple, clear and scalable network setup
romana.io Simplifying the network stack with Romana @romanaproject
Truly cloud native networking
● Project Romana
● Open source
● Apache 2.0 license
● Mostly written in Go
● Kubernetes and OpenStack
romana.io Simplifying the network stack with Romana @romanaproject
Truly cloud native networking
● Use only IP routing
– No overlays
– All workload addresses are 'real'
– Simplicity!
● Use smart addressing
– Encode tenant or segment in IP address
– Assign “virtual” addresses with host prefixes
– Massive (!) collapse of route table
● Routes are static
– No route updates, no broadcasts for new endpoint
romana.io Simplifying the network stack with Romana @romanaproject
Romana Architecture
● On each host: Agent
– Configures routes
– Connects endpoint interfaces
– Sets policy implementations
●
Controller: Cooperating microservices
– Each service with RESTful interface
– Specialized for different tasks
● Environment: Different integration points
– APIs, drivers for various parts of OpenStack or
Kubernetes
romana.io Simplifying the network stack with Romana @romanaproject
Romana Architecture
Host A Host B Host C
Agent Agent Agent
Tenant
Topology
IPAM
Root
Environment (OpenStack or Kubernetes)
Policy
Beautifully simple networking
romana.io Simplifying the network stack with Romana @romanaproject
Routing and route aggregation
Host A
eth0:
192.168.8.11
Host B
eth0:
192.168.8.22
Host C
eth0:
192.168.8.33
romana.io Simplifying the network stack with Romana @romanaproject
Routing and route aggregation
Host A
eth0:
192.168.8.11
romana-gw:
10.0.0.1/16
Host B
eth0:
192.168.8.22
romana-gw:
10.1.0.1/16
Host C
eth0:
192.168.8.33
romana-gw:
10.2.0.1/16
romana.io Simplifying the network stack with Romana @romanaproject
Routing and route aggregation
Host A
eth0:
192.168.8.11
romana-gw:
10.0.0.1/16
10.0.0.5
10.0.1.7
10.0.1.19
10.0.5.3
Host B
eth0:
192.168.8.22
romana-gw:
10.1.0.1/16
10.1.3.52
10.1.9.2
Host C
eth0:
192.168.8.33
romana-gw:
10.2.0.1/16
10.2.0.16
10.2.3.81
10.2.4.6
romana.io Simplifying the network stack with Romana @romanaproject
Routing and route aggregation
Host A
eth0:
192.168.8.11
romana-gw:
10.0.0.1/16
10.0.0.5
10.0.1.7
10.0.1.19
10.0.5.3
Host B
eth0:
192.168.8.22
romana-gw:
10.1.0.1/16
10.1.3.52
10.1.9.2
Host C
eth0:
192.168.8.33
romana-gw:
10.2.0.1/16
10.2.0.16
10.2.3.81
10.2.4.6
romana.io Simplifying the network stack with Romana @romanaproject
Routing and route aggregation
Host A
eth0:
192.168.8.11
romana-gw:
10.0.0.1/16
10.0.0.5
10.0.1.7
10.0.1.19
10.0.5.3
Host B
eth0:
192.168.8.22
romana-gw:
10.1.0.1/16
10.1.3.52
10.1.9.2
Host C
eth0:
192.168.8.33
romana-gw:
10.2.0.1/16
10.2.0.16
10.2.3.81
10.2.4.6
romana.io Simplifying the network stack with Romana @romanaproject
Routing and route aggregation
Host A
eth0:
192.168.8.11
romana-gw:
10.0.0.1/16
10.0.0.5
10.0.1.7
10.0.1.19
10.0.5.3
Routes:
10.1/16 → 192.168.8.22
10.2/16 → 192.168.8.33
Host B
eth0:
192.168.8.22
romana-gw:
10.1.0.1/16
10.1.3.52
10.1.9.2
Routes:
10.0/16 → 192.168.8.11
10.2/16 → 192.168.8.33
Host C
eth0:
192.168.8.33
romana-gw:
10.2.0.1/16
10.2.0.16
10.2.3.81
10.2.4.6
Routes:
10.0/16 → 192.168.8.11
10.1/16 → 192.168.8.22
romana.io Simplifying the network stack with Romana @romanaproject
Larger network: L2 under ToR
Host B1
Host B2
Host B3
Host B4
Host A1
ToR A ToR B
spine network
192.168.1.200 192.168.2.200
192.168.1.1
Host A2
192.168.1.2
Host A3
192.168.1.3
Host A4
192.168.1.4
192.168.2.1
192.168.2.2
192.168.2.3
192.168.2.4
Rack A Rack B
romana.io Simplifying the network stack with Romana @romanaproject
Larger network: L2 under ToR
Host B1
Host B2
Host B3
Host B4
Host A1
ToR A ToR B
spine network
192.168.1.200 192.168.2.200
192.168.1.1
Host A2
192.168.1.2
Host A3
192.168.1.3
Host A4
192.168.1.4
10.68/14
10.72/14
10.76/14
10.80/14
192.168.2.1
192.168.2.2
192.168.2.3
192.168.2.4
10.132/14
10.136/14
10.140/14
10.144/14
Rack A Rack B
10.64/10 10.128/10
romana.io Simplifying the network stack with Romana @romanaproject
Larger network: L2 under ToR
Host B1
Host B2
Host B3
Host B4
Host A1
ToR A ToR B
spine network
192.168.1.200 192.168.2.200
192.168.1.1
Host A2
192.168.1.2
Host A3
192.168.1.3
Host A4
192.168.1.4
10.68/14
10.72/14
10.76/14
10.80/14
192.168.2.1
192.168.2.2
192.168.2.3
192.168.2.4
10.132/14
10.136/14
10.140/14
10.144/14
Rack A Rack B
10.64/10 10.128/10
Host A2 Routes
0.0.0.0      192.168.1.200→
10.68/14     192.168.1.1→
10.76/14     192.168.1.3→
10.80/14     192.168.1.4→
romana.io Simplifying the network stack with Romana @romanaproject
Larger network: L2 under ToR
Host B1
Host B2
Host B3
Host B4
Host A1
ToR A ToR B
spine network
192.168.1.200 192.168.2.200
192.168.1.1
Host A2
192.168.1.2
Host A3
192.168.1.3
Host A4
192.168.1.4
10.68/14
10.72/14
10.76/14
10.80/14
192.168.2.1
192.168.2.2
192.168.2.3
192.168.2.4
10.132/14
10.136/14
10.140/14
10.144/14
Rack A Rack B
10.64/10 10.128/10
ToR A Routes
10.128/10    192.168.2.200→
10.68/14     192.168.1.1→
10.72/14     192.168.1.2→
10.76/14     192.168.1.3→
10.80/14     192.168.1.4→
Host A2 Routes
0.0.0.0      192.168.1.200→
10.68/14     192.168.1.1→
10.76/14     192.168.1.3→
10.80/14     192.168.1.4→
romana.io Simplifying the network stack with Romana @romanaproject
Larger network: Full L3
Host B1
Host B2
Host B3
Host B4
Host A1
ToR A ToR B
spine network
192.168.1.200 192.168.2.200
192.168.1.1
Host A2
192.168.1.2
Host A3
192.168.1.3
Host A4
192.168.1.4
10.68/14
10.72/14
10.76/14
10.80/14
192.168.2.1
192.168.2.2
192.168.2.3
192.168.2.4
10.132/14
10.136/14
10.140/14
10.144/14
Rack A Rack B
10.64/10 10.128/10
ToR A Routes
10.128/10    192.168.2.200→
10.68/14     192.168.1.1→
10.72/14     192.168.1.2→
10.76/14     192.168.1.3→
10.80/14     192.168.1.4→
Host Routes
0.0.0.0      192.168.1.200→
Scalable distributed firewall
and
traffic policies
romana.io Simplifying the network stack with Romana @romanaproject
Romana: Traffic segmentation
● Tenant traffic separated:
– Tenants don't get whole CIDR prefix or L2 domain
– But fully isolated from other tenants' traffic
● Tenants can define segments:
– Like tiers, provide isolation and policies
● Use segment and tenant bits in IP addresses:
– Apply policies (iptables) based on that
– Segments can stretch across hosts
romana.io Simplifying the network stack with Romana @romanaproject
Semantic and topological addressing
3
1
3
0
2
9
2
8
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
0
1
9
1
8
1
7
1
6
1
5
1
4
1
3
1
2
1
1
1
0
9 8 7 6 5 4 3 2 1 0
0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1
10
Network prefix bits
The network prefix.
In this example, we
are using the 10/8
address space.
6
Host ID Segment ID
We currently
store tenant ID in
upper bits of
segment ID.
4 67
Endpoint ID
Widths are configurable, don't have to use byte boundaries.
romana.io Simplifying the network stack with Romana @romanaproject
Semantic and topological addressing
3
1
3
0
2
9
2
8
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
0
1
9
1
8
1
7
1
6
1
5
1
4
1
3
1
2
1
1
1
0
9 8 7 6 5 4 3 2 1 0
0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1
10
Network prefix bits
The network prefix.
In this example, we
are using the 10/8
address space.
6
Host ID Segment ID
We currently
store tenant ID in
upper bits of
segment ID.
4 67
Endpoint ID
Widths are configurable, don't have to use byte boundaries.
Encode the
tenant ID
romana.io Simplifying the network stack with Romana @romanaproject
Host BHost A
Allowing traffic within tenant
10.0.0.5 10.1.0.12
iptables:
check src/dst addrs
“tenant/segment bits
must match”
Src: 10.0.0.5
Dst: 10.1.0.12
Same
tenant/segment bits
romana.io Simplifying the network stack with Romana @romanaproject
Host BHost A
Isolating tenant traffic: Default
10.0.0.5 10.1.128.9
iptables:
check src/dst addrs
“tenant/segment bits
must match”
Src: 10.0.0.5
Dst: 10.1.128.9
Different
tenant/segment bits
Different
tenant
romana.io Simplifying the network stack with Romana @romanaproject
Host BHost A
Apply network policy between
segments (full isolation as default)
10.0.0.5 10.1.1.9
iptables:
Does policy chain
exist?
Otherwise: DROP
Src: 10.0.0.5
Dst: 10.1.1.9
Same tenant,
different segment
policy-chain:
From segment 0?
Protocol TCP?
To port 80?
Demo 1:
Kubernetes + Romana cluster
on top of Catalyst OpenStack cloud
romana.io Simplifying the network stack with Romana @romanaproject
Baking layered cakes
● Kubernetes on OpenStack? Why?
– On demand clusters
– Full tenant isolation
● Not all workloads fit into containers
– Seamless connection between pods and VMs
● Really nice with fully routed networking
– No double encapsulation
– Logical, efficient packet forwarding
romana.io Simplifying the network stack with Romana @romanaproject
Demo 1 - Overview
romana.io Simplifying the network stack with Romana @romanaproject
Demo 1 - Overview
bar-1 bar-2foo
Jump host with
public IP address
romana.io Simplifying the network stack with Romana @romanaproject
romana.io Simplifying the network stack with Romana @romanaproject
Demo 1 - Overview
bar-1 bar-2foo
romana.io Simplifying the network stack with Romana @romanaproject
Demo 1 - Overview
bar-1 bar-2foo
Install OpenStack
command line tools
romana.io Simplifying the network stack with Romana @romanaproject
Demo 1 - Overview
bar-1 bar-2foo
$ neutron port-update 
e925b70e-031e-4ef7-a27c-583b4b775290 
--allowed-address-pairs type=dict list=true 
mac_address=fa:16:3e:e1:df:59,ip_address=10.0.0.0/8
romana.io Simplifying the network stack with Romana @romanaproject
Demo 1 - Overview
bar-1 bar-2foo
$ git clone https://github.com/romana/romana
$ cd romana/romana-install
$ ./romana-setup -p static -i my-inventory -s kubernetes install
romana.io Simplifying the network stack with Romana @romanaproject
Demo 1 - Overview
bar-1 bar-2foo
Romana
installer
romana.io Simplifying the network stack with Romana @romanaproject
Demo 1 - Overview
bar-1 bar-2foo
Kubernetes + Romana
Romana cluster
address range:
10/8
romana.io Simplifying the network stack with Romana @romanaproject
Demo 1 - Overview
bar-1 bar-2foo
Kubernetes + Romana
Pods
with containers.
Pods have Romana
IP addresses.
romana.io Simplifying the network stack with Romana @romanaproject
Demo 1 - What you will see
● Creation of pods
● Network configuration
● Application of network policies
Demo 2:
Mixing containers with legacy workloads
romana.io Simplifying the network stack with Romana @romanaproject
Demo 2 - Overview
bar-1 bar-2foo
Kubernetes + Romana
romana.io Simplifying the network stack with Romana @romanaproject
Demo 2 - Overview
bar-1 bar-2foo
Kubernetes + Romana
vm-workload
Legacy application
in VM
romana.io Simplifying the network stack with Romana @romanaproject
Demo 2 - Overview
bar-1 bar-2foo
Kubernetes + Romana
vm-workload
Direct connection:
- No gateway
- No encap/decap
- No NAT
romana.io Simplifying the network stack with Romana @romanaproject
Demo 2 - What you will see
● Creation of pods
● Contact pod from VM
● See the packet route
Demo 3:
Romana + Kubernetes cluster
on top of Romana + OpenStack cluster
romana.io Simplifying the network stack with Romana @romanaproject
Demo 3 - Overview
HW1 HW2 HW3 HW4
romana.io Simplifying the network stack with Romana @romanaproject
Demo 3 - Overview
HW1 HW2 HW3 HW4
$ ./romana-setup -p static -i hw-inventory -s devstack install
romana.io Simplifying the network stack with Romana @romanaproject
Demo 3 - Overview
HW1 HW2 HW3 HW4
OpenStack + Romana
Romana cluster 1
address range:
10/8
romana.io Simplifying the network stack with Romana @romanaproject
Demo 3 - Overview
VM2 VM3VM1
HW1 HW2 HW3 HW4
OpenStack + Romana
OpenStack VMs
VMs have
IP addresses
of
Romana cluster 1
romana.io Simplifying the network stack with Romana @romanaproject
Demo 3 - Overview
VM2 VM3VM1
HW1 HW2 HW3 HW4
OpenStack + Romana
$ ./romana-setup -p static -i vm-inventory -s kubernetes install
romana.io Simplifying the network stack with Romana @romanaproject
Demo 3 - Overview
VM2 VM3
Kubernetes + Romana
VM1
HW1 HW2 HW3 HW4
OpenStack + Romana
Romana cluster 2
address range:
172.16/12
romana.io Simplifying the network stack with Romana @romanaproject
Demo 3 - Overview
VM2 VM3
Kubernetes + Romana
VM1
HW1 HW2 HW3 HW4
OpenStack + Romana
Pods
with containers.
Pods have
IP addresses
of
Romana cluster 2
romana.io Simplifying the network stack with Romana @romanaproject
OpenStack + Romana
Kubernetes + Romana
Demo 3 - Overview
VM2 VM3VM1
HW1 HW2 HW3 HW4
romana.io Simplifying the network stack with Romana @romanaproject
OpenStack + Romana
Kubernetes + Romana
Demo 3 - Overview
VM2 VM3VM1
HW1 HW2 HW3 HW4
Remember this one?
2 Top of Rack
Round Trips
East/West
Traffic
Per Instance
Security
Without pure L3 network
layered clusters
would be even more
complex.
romana.io Simplifying the network stack with Romana @romanaproject
OpenStack + Romana
Kubernetes + Romana
Demo 3 - Overview
VM2 VM3VM1
HW1 HW2 HW3 HW4
But with Romana, networking
even in layered clusters becomes
really easy...
romana.io Simplifying the network stack with Romana @romanaproject
Demo 3 - What you will see
● Creation of pods
● Pods and VMs with fully routable addresses
● Ease of use showcase: Trouble shooting
romana.io Simplifying the network stack with Romana @romanaproject
Conclusion
● Cloud native architectures simplify things
● Need cloud native networking to enjoy benefits
● Romana:
– Cloud native without compromises
– Native network performance
– Mostly static config: Solid network
– Very easy to work with and understand
● Easy to try:
– Simple installers for Kubernetes and OpenStack
romana.io Simplifying the network stack with Romana @romanaproject
Thank you!
● Romana Links
– http://romana.io - Project home
– http://romana.io/blog - Blog
– https://github.com/romana/romana - Sources
● Contact
– @romanaproject - Twitter
– info@romana.io - Email
– https://romana.slack.com/ - Slack channel

Weitere ähnliche Inhalte

Was ist angesagt?

Docker 1.12 networking deep dive
Docker 1.12 networking deep diveDocker 1.12 networking deep dive
Docker 1.12 networking deep diveMadhu Venugopal
 
Docker networking tutorial 102
Docker networking tutorial 102Docker networking tutorial 102
Docker networking tutorial 102LorisPack Project
 
Networking in Docker Containers
Networking in Docker ContainersNetworking in Docker Containers
Networking in Docker ContainersAttila Kanto
 
An Overview of Linux Networking Options
An Overview of Linux Networking OptionsAn Overview of Linux Networking Options
An Overview of Linux Networking OptionsScott Lowe
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes NetworkingCJ Cullen
 
Kubernetes networking: Introduction to overlay networks, communication models...
Kubernetes networking: Introduction to overlay networks, communication models...Kubernetes networking: Introduction to overlay networks, communication models...
Kubernetes networking: Introduction to overlay networks, communication models...Murat Mukhtarov
 
DevOps Guide to Container Networking
DevOps Guide to Container NetworkingDevOps Guide to Container Networking
DevOps Guide to Container NetworkingDirk Wallerstorfer
 
Docker summit : Docker Networking Control-plane & Data-Plane
Docker summit : Docker Networking Control-plane & Data-PlaneDocker summit : Docker Networking Control-plane & Data-Plane
Docker summit : Docker Networking Control-plane & Data-PlaneMadhu Venugopal
 
Microservices Network Architecture 101
Microservices Network Architecture 101Microservices Network Architecture 101
Microservices Network Architecture 101Cumulus Networks
 
Docker Multi Host Networking, Rachit Arora, IBM
Docker Multi Host Networking, Rachit Arora, IBMDocker Multi Host Networking, Rachit Arora, IBM
Docker Multi Host Networking, Rachit Arora, IBMNeependra Khare
 
Docker Networking Overview
Docker Networking OverviewDocker Networking Overview
Docker Networking OverviewSreenivas Makam
 
Application-Based Routing
Application-Based RoutingApplication-Based Routing
Application-Based RoutingHungWei Chiu
 
Docker Meetup: Docker Networking 1.11, by Madhu Venugopal
Docker Meetup: Docker Networking 1.11, by Madhu VenugopalDocker Meetup: Docker Networking 1.11, by Madhu Venugopal
Docker Meetup: Docker Networking 1.11, by Madhu VenugopalMichelle Antebi
 
Tutorial on using CoreOS Flannel for Docker networking
Tutorial on using CoreOS Flannel for Docker networkingTutorial on using CoreOS Flannel for Docker networking
Tutorial on using CoreOS Flannel for Docker networkingLorisPack Project
 

Was ist angesagt? (18)

Docker 1.12 networking deep dive
Docker 1.12 networking deep diveDocker 1.12 networking deep dive
Docker 1.12 networking deep dive
 
Docker networking tutorial 102
Docker networking tutorial 102Docker networking tutorial 102
Docker networking tutorial 102
 
Networking in Docker Containers
Networking in Docker ContainersNetworking in Docker Containers
Networking in Docker Containers
 
Cloud Native SDN
Cloud Native SDNCloud Native SDN
Cloud Native SDN
 
An Overview of Linux Networking Options
An Overview of Linux Networking OptionsAn Overview of Linux Networking Options
An Overview of Linux Networking Options
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
 
Kubernetes networking: Introduction to overlay networks, communication models...
Kubernetes networking: Introduction to overlay networks, communication models...Kubernetes networking: Introduction to overlay networks, communication models...
Kubernetes networking: Introduction to overlay networks, communication models...
 
DevOps Guide to Container Networking
DevOps Guide to Container NetworkingDevOps Guide to Container Networking
DevOps Guide to Container Networking
 
Docker summit : Docker Networking Control-plane & Data-Plane
Docker summit : Docker Networking Control-plane & Data-PlaneDocker summit : Docker Networking Control-plane & Data-Plane
Docker summit : Docker Networking Control-plane & Data-Plane
 
Microservices Network Architecture 101
Microservices Network Architecture 101Microservices Network Architecture 101
Microservices Network Architecture 101
 
Docker Multi Host Networking, Rachit Arora, IBM
Docker Multi Host Networking, Rachit Arora, IBMDocker Multi Host Networking, Rachit Arora, IBM
Docker Multi Host Networking, Rachit Arora, IBM
 
Docker Networking Overview
Docker Networking OverviewDocker Networking Overview
Docker Networking Overview
 
Docker network
Docker networkDocker network
Docker network
 
Application-Based Routing
Application-Based RoutingApplication-Based Routing
Application-Based Routing
 
Docker networking
Docker networkingDocker networking
Docker networking
 
macvlan and ipvlan
macvlan and ipvlanmacvlan and ipvlan
macvlan and ipvlan
 
Docker Meetup: Docker Networking 1.11, by Madhu Venugopal
Docker Meetup: Docker Networking 1.11, by Madhu VenugopalDocker Meetup: Docker Networking 1.11, by Madhu Venugopal
Docker Meetup: Docker Networking 1.11, by Madhu Venugopal
 
Tutorial on using CoreOS Flannel for Docker networking
Tutorial on using CoreOS Flannel for Docker networkingTutorial on using CoreOS Flannel for Docker networking
Tutorial on using CoreOS Flannel for Docker networking
 

Andere mochten auch

KubeCon London 2016 Ronana Cloud Native SDN
KubeCon London 2016 Ronana Cloud Native SDNKubeCon London 2016 Ronana Cloud Native SDN
KubeCon London 2016 Ronana Cloud Native SDNRomana Project
 
Container Networking Challenges for Production Readiness
Container Networking Challenges for Production ReadinessContainer Networking Challenges for Production Readiness
Container Networking Challenges for Production ReadinessVipin Jain
 
DockerCon US 2016 - Docker Networking deep dive
DockerCon US 2016 - Docker Networking deep diveDockerCon US 2016 - Docker Networking deep dive
DockerCon US 2016 - Docker Networking deep diveMadhu Venugopal
 
Docker meetup oct14
Docker meetup   oct14Docker meetup   oct14
Docker meetup oct14Vipin Jain
 
[INNOVATUBE] Tech Talk #3: Golang - Takaaki Mizuno
 [INNOVATUBE] Tech Talk #3: Golang - Takaaki Mizuno [INNOVATUBE] Tech Talk #3: Golang - Takaaki Mizuno
[INNOVATUBE] Tech Talk #3: Golang - Takaaki MizunoNexus FrontierTech
 
Come With Golang
Come With GolangCome With Golang
Come With Golang尚文 曾
 
Container Networking Meetup March 31 2016
Container Networking Meetup March 31 2016Container Networking Meetup March 31 2016
Container Networking Meetup March 31 2016Andrew Randall
 
Evolving Virtual Networking with IO Visor [OpenStack Summit Austin | April 2016]
Evolving Virtual Networking with IO Visor [OpenStack Summit Austin | April 2016]Evolving Virtual Networking with IO Visor [OpenStack Summit Austin | April 2016]
Evolving Virtual Networking with IO Visor [OpenStack Summit Austin | April 2016]IO Visor Project
 
Jenkins vs gogs
Jenkins vs gogsJenkins vs gogs
Jenkins vs gogsAaron King
 
Golang basics for Java developers - Part 1
Golang basics for Java developers - Part 1Golang basics for Java developers - Part 1
Golang basics for Java developers - Part 1Robert Stern
 
Docker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan DriversDocker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan DriversBrent Salisbury
 
Unified Underlay and Overlay SDNs for OpenStack Clouds
Unified Underlay and Overlay SDNs for OpenStack CloudsUnified Underlay and Overlay SDNs for OpenStack Clouds
Unified Underlay and Overlay SDNs for OpenStack CloudsPLUMgrid
 
Docker Networking & Swarm Mode Introduction
Docker Networking & Swarm Mode IntroductionDocker Networking & Swarm Mode Introduction
Docker Networking & Swarm Mode IntroductionPhi Huynh
 
Lying, Cheating, and Winning with Containers in Networking
Lying, Cheating, and Winning with Containers in NetworkingLying, Cheating, and Winning with Containers in Networking
Lying, Cheating, and Winning with Containers in NetworkingSargun Dhillon
 
Golang start and tips
Golang start and tipsGolang start and tips
Golang start and tipsAaron King
 
Segment Routing
Segment RoutingSegment Routing
Segment RoutingAPNIC
 
Docker Networking : 0 to 60mph slides
Docker Networking : 0 to 60mph slidesDocker Networking : 0 to 60mph slides
Docker Networking : 0 to 60mph slidesDocker, Inc.
 
Docker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker NetworkingDocker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker NetworkingDocker, Inc.
 
Docker Meetup: Docker Networking 1.11 with Madhu Venugopal
Docker Meetup: Docker Networking 1.11 with Madhu VenugopalDocker Meetup: Docker Networking 1.11 with Madhu Venugopal
Docker Meetup: Docker Networking 1.11 with Madhu VenugopalDocker, Inc.
 
Enabling Production Grade Containerized Applications through Policy Based Inf...
Enabling Production Grade Containerized Applications through Policy Based Inf...Enabling Production Grade Containerized Applications through Policy Based Inf...
Enabling Production Grade Containerized Applications through Policy Based Inf...Docker, Inc.
 

Andere mochten auch (20)

KubeCon London 2016 Ronana Cloud Native SDN
KubeCon London 2016 Ronana Cloud Native SDNKubeCon London 2016 Ronana Cloud Native SDN
KubeCon London 2016 Ronana Cloud Native SDN
 
Container Networking Challenges for Production Readiness
Container Networking Challenges for Production ReadinessContainer Networking Challenges for Production Readiness
Container Networking Challenges for Production Readiness
 
DockerCon US 2016 - Docker Networking deep dive
DockerCon US 2016 - Docker Networking deep diveDockerCon US 2016 - Docker Networking deep dive
DockerCon US 2016 - Docker Networking deep dive
 
Docker meetup oct14
Docker meetup   oct14Docker meetup   oct14
Docker meetup oct14
 
[INNOVATUBE] Tech Talk #3: Golang - Takaaki Mizuno
 [INNOVATUBE] Tech Talk #3: Golang - Takaaki Mizuno [INNOVATUBE] Tech Talk #3: Golang - Takaaki Mizuno
[INNOVATUBE] Tech Talk #3: Golang - Takaaki Mizuno
 
Come With Golang
Come With GolangCome With Golang
Come With Golang
 
Container Networking Meetup March 31 2016
Container Networking Meetup March 31 2016Container Networking Meetup March 31 2016
Container Networking Meetup March 31 2016
 
Evolving Virtual Networking with IO Visor [OpenStack Summit Austin | April 2016]
Evolving Virtual Networking with IO Visor [OpenStack Summit Austin | April 2016]Evolving Virtual Networking with IO Visor [OpenStack Summit Austin | April 2016]
Evolving Virtual Networking with IO Visor [OpenStack Summit Austin | April 2016]
 
Jenkins vs gogs
Jenkins vs gogsJenkins vs gogs
Jenkins vs gogs
 
Golang basics for Java developers - Part 1
Golang basics for Java developers - Part 1Golang basics for Java developers - Part 1
Golang basics for Java developers - Part 1
 
Docker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan DriversDocker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan Drivers
 
Unified Underlay and Overlay SDNs for OpenStack Clouds
Unified Underlay and Overlay SDNs for OpenStack CloudsUnified Underlay and Overlay SDNs for OpenStack Clouds
Unified Underlay and Overlay SDNs for OpenStack Clouds
 
Docker Networking & Swarm Mode Introduction
Docker Networking & Swarm Mode IntroductionDocker Networking & Swarm Mode Introduction
Docker Networking & Swarm Mode Introduction
 
Lying, Cheating, and Winning with Containers in Networking
Lying, Cheating, and Winning with Containers in NetworkingLying, Cheating, and Winning with Containers in Networking
Lying, Cheating, and Winning with Containers in Networking
 
Golang start and tips
Golang start and tipsGolang start and tips
Golang start and tips
 
Segment Routing
Segment RoutingSegment Routing
Segment Routing
 
Docker Networking : 0 to 60mph slides
Docker Networking : 0 to 60mph slidesDocker Networking : 0 to 60mph slides
Docker Networking : 0 to 60mph slides
 
Docker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker NetworkingDocker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker Networking
 
Docker Meetup: Docker Networking 1.11 with Madhu Venugopal
Docker Meetup: Docker Networking 1.11 with Madhu VenugopalDocker Meetup: Docker Networking 1.11 with Madhu Venugopal
Docker Meetup: Docker Networking 1.11 with Madhu Venugopal
 
Enabling Production Grade Containerized Applications through Policy Based Inf...
Enabling Production Grade Containerized Applications through Policy Based Inf...Enabling Production Grade Containerized Applications through Policy Based Inf...
Enabling Production Grade Containerized Applications through Policy Based Inf...
 

Ähnlich wie Simplifying open stack and kubernetes networking with romana

Simplifying the OpenStack and Kubernetes network stack with Romana
Simplifying the OpenStack and Kubernetes network stack with RomanaSimplifying the OpenStack and Kubernetes network stack with Romana
Simplifying the OpenStack and Kubernetes network stack with RomanaJuergen Brendel
 
NFD9 - Dinesh Dutt, Data Center Architectures
NFD9 - Dinesh Dutt, Data Center ArchitecturesNFD9 - Dinesh Dutt, Data Center Architectures
NFD9 - Dinesh Dutt, Data Center ArchitecturesCumulus Networks
 
MULTIMEDIA COMMUNICATION & NETWORKS
MULTIMEDIA COMMUNICATION & NETWORKSMULTIMEDIA COMMUNICATION & NETWORKS
MULTIMEDIA COMMUNICATION & NETWORKSKathirvel Ayyaswamy
 
Final presentation phases1_2_3
Final presentation phases1_2_3Final presentation phases1_2_3
Final presentation phases1_2_3TommyBtown
 
Routing of netwok protocls and how .pptx
Routing of netwok protocls and how .pptxRouting of netwok protocls and how .pptx
Routing of netwok protocls and how .pptxsayidkhalif
 
Internet Protocol Deep-Dive
Internet Protocol Deep-DiveInternet Protocol Deep-Dive
Internet Protocol Deep-DiveGLC Networks
 
ch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computingch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computingssuser06ea42
 
Banog meetup August 30th, network device property as code
Banog meetup August 30th, network device property as codeBanog meetup August 30th, network device property as code
Banog meetup August 30th, network device property as codeDamien Garros
 
ccna project on topic company infrastructure
ccna project on topic company infrastructureccna project on topic company infrastructure
ccna project on topic company infrastructurePrince Gautam
 
Routed networks sydney
Routed networks sydneyRouted networks sydney
Routed networks sydneyMiguel Lavalle
 
IP-Networks for Buses and Trams in Public Transport
IP-Networks for Buses and Trams in Public TransportIP-Networks for Buses and Trams in Public Transport
IP-Networks for Buses and Trams in Public TransportJuriMartinevski
 
NWI FOR OLATUNDE ISMAILA (G10B)
NWI FOR OLATUNDE ISMAILA (G10B)NWI FOR OLATUNDE ISMAILA (G10B)
NWI FOR OLATUNDE ISMAILA (G10B)olatunde ismaila
 
MTCNA - MikroTik Certified Network Associate - v2
MTCNA - MikroTik Certified Network Associate - v2MTCNA - MikroTik Certified Network Associate - v2
MTCNA - MikroTik Certified Network Associate - v2Yaser Rahmati
 
Ccna3 mod1-classless routing
Ccna3 mod1-classless routingCcna3 mod1-classless routing
Ccna3 mod1-classless routingdborsan
 
Banking and ATM networking reports
Banking and ATM networking reportsBanking and ATM networking reports
Banking and ATM networking reportsShakib Ansaar
 

Ähnlich wie Simplifying open stack and kubernetes networking with romana (20)

Simplifying the OpenStack and Kubernetes network stack with Romana
Simplifying the OpenStack and Kubernetes network stack with RomanaSimplifying the OpenStack and Kubernetes network stack with Romana
Simplifying the OpenStack and Kubernetes network stack with Romana
 
NFD9 - Dinesh Dutt, Data Center Architectures
NFD9 - Dinesh Dutt, Data Center ArchitecturesNFD9 - Dinesh Dutt, Data Center Architectures
NFD9 - Dinesh Dutt, Data Center Architectures
 
MULTIMEDIA COMMUNICATION & NETWORKS
MULTIMEDIA COMMUNICATION & NETWORKSMULTIMEDIA COMMUNICATION & NETWORKS
MULTIMEDIA COMMUNICATION & NETWORKS
 
Final presentation phases1_2_3
Final presentation phases1_2_3Final presentation phases1_2_3
Final presentation phases1_2_3
 
Routing of netwok protocls and how .pptx
Routing of netwok protocls and how .pptxRouting of netwok protocls and how .pptx
Routing of netwok protocls and how .pptx
 
Internet Protocol Deep-Dive
Internet Protocol Deep-DiveInternet Protocol Deep-Dive
Internet Protocol Deep-Dive
 
ch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computingch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computing
 
Chapter14ccna
Chapter14ccnaChapter14ccna
Chapter14ccna
 
Banog meetup August 30th, network device property as code
Banog meetup August 30th, network device property as codeBanog meetup August 30th, network device property as code
Banog meetup August 30th, network device property as code
 
ccna project on topic company infrastructure
ccna project on topic company infrastructureccna project on topic company infrastructure
ccna project on topic company infrastructure
 
Routed networks sydney
Routed networks sydneyRouted networks sydney
Routed networks sydney
 
IP-Networks for Buses and Trams in Public Transport
IP-Networks for Buses and Trams in Public TransportIP-Networks for Buses and Trams in Public Transport
IP-Networks for Buses and Trams in Public Transport
 
Ccna2v3 mod07
Ccna2v3 mod07Ccna2v3 mod07
Ccna2v3 mod07
 
2012 ah vegas remote networking fundamentals
2012 ah vegas   remote networking fundamentals2012 ah vegas   remote networking fundamentals
2012 ah vegas remote networking fundamentals
 
NWI FOR OLATUNDE ISMAILA (G10B)
NWI FOR OLATUNDE ISMAILA (G10B)NWI FOR OLATUNDE ISMAILA (G10B)
NWI FOR OLATUNDE ISMAILA (G10B)
 
MTCNA - MikroTik Certified Network Associate - v2
MTCNA - MikroTik Certified Network Associate - v2MTCNA - MikroTik Certified Network Associate - v2
MTCNA - MikroTik Certified Network Associate - v2
 
Ccna3 mod1-classless routing
Ccna3 mod1-classless routingCcna3 mod1-classless routing
Ccna3 mod1-classless routing
 
Banking and ATM networking reports
Banking and ATM networking reportsBanking and ATM networking reports
Banking and ATM networking reports
 
Monkey Server
Monkey ServerMonkey Server
Monkey Server
 
Chinmay Padhye
Chinmay PadhyeChinmay Padhye
Chinmay Padhye
 

Kürzlich hochgeladen

Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 

Kürzlich hochgeladen (20)

Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 

Simplifying open stack and kubernetes networking with romana

  • 1. Simplifying the network stack with Romana Pani Networks OpenStack Meetup, Auckland, May 2016
  • 2. romana.io Simplifying the network stack with Romana @romanaproject Agenda ● “Cloud native”, why does it matter? ● A better network for cloud native architectures ● Demos
  • 3. romana.io Simplifying the network stack with Romana @romanaproject About us ● Team background: – Data center networks – Low-level traffic management ● Created L2 overlay network startup – Bought by Cisco ● OpenStack networking ● There's got to be a better way – Time is right
  • 4. What is 'cloud native'?
  • 5. romana.io Simplifying the network stack with Romana @romanaproject The past: Enterprise networking ● Full control ● Applications need L2 and L3 – May need hard-wired IP addresses – Broadcasts ● Servers are pets, not cattle: “Careful!” – VM migration ● Complex!
  • 6. romana.io Simplifying the network stack with Romana @romanaproject Cloud native applications ● Automate all the things! – Infrastructure as code – Cattle, not pets: “Meh... just kill it.” – Workloads come and go quickly – Build for resiliance ● IP is all you need – No hardcoded IP addresses, discovery – No special network requirements – Basic IP connectivity
  • 8. romana.io Simplifying the network stack with Romana @romanaproject We have a mismatch ● Building cloud native applications… ● … on top of enterprise networking – SDN controllers use overlay L2 domains – VLAN, VXLAN, OVS, etc. ● Complexity and brittleness – Lose benefits of simplicity – Lose performance (encap, blinded hardware) – Difficult to maintain and trouble shoot
  • 9. romana.io Simplifying the network stack with Romana @romanaproject The price you pay: Complexity VXLAN Decap VXLAN Decap VXLAN Encap VXLAN Encap 2 Top of Rack Round Trips East/West Traffic Per Instance Security
  • 10. romana.io Simplifying the network stack with Romana @romanaproject The price you pay: Performance Router Endpoint A Endpoint B Router L2 overlay A L2 overlay B VRouter
  • 11. romana.io Simplifying the network stack with Romana @romanaproject Why do we do this to ourselves? ● We don't need any L2 features ● Except maybe traffic segmentation – Multi tenancy – Tiers and policies
  • 13. romana.io Simplifying the network stack with Romana @romanaproject Networking the way it was intended ● Use native L3 capabilities ● No overlays ● De-emphasize IP address ranges ● Still provide segmentation, multi tenancy ● Simple, clear and scalable network setup
  • 14. romana.io Simplifying the network stack with Romana @romanaproject Truly cloud native networking ● Project Romana ● Open source ● Apache 2.0 license ● Mostly written in Go ● Kubernetes and OpenStack
  • 15. romana.io Simplifying the network stack with Romana @romanaproject Truly cloud native networking ● Use only IP routing – No overlays – All workload addresses are 'real' – Simplicity! ● Use smart addressing – Encode tenant or segment in IP address – Assign “virtual” addresses with host prefixes – Massive (!) collapse of route table ● Routes are static – No route updates, no broadcasts for new endpoint
  • 16. romana.io Simplifying the network stack with Romana @romanaproject Romana Architecture ● On each host: Agent – Configures routes – Connects endpoint interfaces – Sets policy implementations ● Controller: Cooperating microservices – Each service with RESTful interface – Specialized for different tasks ● Environment: Different integration points – APIs, drivers for various parts of OpenStack or Kubernetes
  • 17. romana.io Simplifying the network stack with Romana @romanaproject Romana Architecture Host A Host B Host C Agent Agent Agent Tenant Topology IPAM Root Environment (OpenStack or Kubernetes) Policy
  • 19. romana.io Simplifying the network stack with Romana @romanaproject Routing and route aggregation Host A eth0: 192.168.8.11 Host B eth0: 192.168.8.22 Host C eth0: 192.168.8.33
  • 20. romana.io Simplifying the network stack with Romana @romanaproject Routing and route aggregation Host A eth0: 192.168.8.11 romana-gw: 10.0.0.1/16 Host B eth0: 192.168.8.22 romana-gw: 10.1.0.1/16 Host C eth0: 192.168.8.33 romana-gw: 10.2.0.1/16
  • 21. romana.io Simplifying the network stack with Romana @romanaproject Routing and route aggregation Host A eth0: 192.168.8.11 romana-gw: 10.0.0.1/16 10.0.0.5 10.0.1.7 10.0.1.19 10.0.5.3 Host B eth0: 192.168.8.22 romana-gw: 10.1.0.1/16 10.1.3.52 10.1.9.2 Host C eth0: 192.168.8.33 romana-gw: 10.2.0.1/16 10.2.0.16 10.2.3.81 10.2.4.6
  • 22. romana.io Simplifying the network stack with Romana @romanaproject Routing and route aggregation Host A eth0: 192.168.8.11 romana-gw: 10.0.0.1/16 10.0.0.5 10.0.1.7 10.0.1.19 10.0.5.3 Host B eth0: 192.168.8.22 romana-gw: 10.1.0.1/16 10.1.3.52 10.1.9.2 Host C eth0: 192.168.8.33 romana-gw: 10.2.0.1/16 10.2.0.16 10.2.3.81 10.2.4.6
  • 23. romana.io Simplifying the network stack with Romana @romanaproject Routing and route aggregation Host A eth0: 192.168.8.11 romana-gw: 10.0.0.1/16 10.0.0.5 10.0.1.7 10.0.1.19 10.0.5.3 Host B eth0: 192.168.8.22 romana-gw: 10.1.0.1/16 10.1.3.52 10.1.9.2 Host C eth0: 192.168.8.33 romana-gw: 10.2.0.1/16 10.2.0.16 10.2.3.81 10.2.4.6
  • 24. romana.io Simplifying the network stack with Romana @romanaproject Routing and route aggregation Host A eth0: 192.168.8.11 romana-gw: 10.0.0.1/16 10.0.0.5 10.0.1.7 10.0.1.19 10.0.5.3 Routes: 10.1/16 → 192.168.8.22 10.2/16 → 192.168.8.33 Host B eth0: 192.168.8.22 romana-gw: 10.1.0.1/16 10.1.3.52 10.1.9.2 Routes: 10.0/16 → 192.168.8.11 10.2/16 → 192.168.8.33 Host C eth0: 192.168.8.33 romana-gw: 10.2.0.1/16 10.2.0.16 10.2.3.81 10.2.4.6 Routes: 10.0/16 → 192.168.8.11 10.1/16 → 192.168.8.22
  • 25. romana.io Simplifying the network stack with Romana @romanaproject Larger network: L2 under ToR Host B1 Host B2 Host B3 Host B4 Host A1 ToR A ToR B spine network 192.168.1.200 192.168.2.200 192.168.1.1 Host A2 192.168.1.2 Host A3 192.168.1.3 Host A4 192.168.1.4 192.168.2.1 192.168.2.2 192.168.2.3 192.168.2.4 Rack A Rack B
  • 26. romana.io Simplifying the network stack with Romana @romanaproject Larger network: L2 under ToR Host B1 Host B2 Host B3 Host B4 Host A1 ToR A ToR B spine network 192.168.1.200 192.168.2.200 192.168.1.1 Host A2 192.168.1.2 Host A3 192.168.1.3 Host A4 192.168.1.4 10.68/14 10.72/14 10.76/14 10.80/14 192.168.2.1 192.168.2.2 192.168.2.3 192.168.2.4 10.132/14 10.136/14 10.140/14 10.144/14 Rack A Rack B 10.64/10 10.128/10
  • 27. romana.io Simplifying the network stack with Romana @romanaproject Larger network: L2 under ToR Host B1 Host B2 Host B3 Host B4 Host A1 ToR A ToR B spine network 192.168.1.200 192.168.2.200 192.168.1.1 Host A2 192.168.1.2 Host A3 192.168.1.3 Host A4 192.168.1.4 10.68/14 10.72/14 10.76/14 10.80/14 192.168.2.1 192.168.2.2 192.168.2.3 192.168.2.4 10.132/14 10.136/14 10.140/14 10.144/14 Rack A Rack B 10.64/10 10.128/10 Host A2 Routes 0.0.0.0      192.168.1.200→ 10.68/14     192.168.1.1→ 10.76/14     192.168.1.3→ 10.80/14     192.168.1.4→
  • 28. romana.io Simplifying the network stack with Romana @romanaproject Larger network: L2 under ToR Host B1 Host B2 Host B3 Host B4 Host A1 ToR A ToR B spine network 192.168.1.200 192.168.2.200 192.168.1.1 Host A2 192.168.1.2 Host A3 192.168.1.3 Host A4 192.168.1.4 10.68/14 10.72/14 10.76/14 10.80/14 192.168.2.1 192.168.2.2 192.168.2.3 192.168.2.4 10.132/14 10.136/14 10.140/14 10.144/14 Rack A Rack B 10.64/10 10.128/10 ToR A Routes 10.128/10    192.168.2.200→ 10.68/14     192.168.1.1→ 10.72/14     192.168.1.2→ 10.76/14     192.168.1.3→ 10.80/14     192.168.1.4→ Host A2 Routes 0.0.0.0      192.168.1.200→ 10.68/14     192.168.1.1→ 10.76/14     192.168.1.3→ 10.80/14     192.168.1.4→
  • 29. romana.io Simplifying the network stack with Romana @romanaproject Larger network: Full L3 Host B1 Host B2 Host B3 Host B4 Host A1 ToR A ToR B spine network 192.168.1.200 192.168.2.200 192.168.1.1 Host A2 192.168.1.2 Host A3 192.168.1.3 Host A4 192.168.1.4 10.68/14 10.72/14 10.76/14 10.80/14 192.168.2.1 192.168.2.2 192.168.2.3 192.168.2.4 10.132/14 10.136/14 10.140/14 10.144/14 Rack A Rack B 10.64/10 10.128/10 ToR A Routes 10.128/10    192.168.2.200→ 10.68/14     192.168.1.1→ 10.72/14     192.168.1.2→ 10.76/14     192.168.1.3→ 10.80/14     192.168.1.4→ Host Routes 0.0.0.0      192.168.1.200→
  • 31. romana.io Simplifying the network stack with Romana @romanaproject Romana: Traffic segmentation ● Tenant traffic separated: – Tenants don't get whole CIDR prefix or L2 domain – But fully isolated from other tenants' traffic ● Tenants can define segments: – Like tiers, provide isolation and policies ● Use segment and tenant bits in IP addresses: – Apply policies (iptables) based on that – Segments can stretch across hosts
  • 32. romana.io Simplifying the network stack with Romana @romanaproject Semantic and topological addressing 3 1 3 0 2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 1 9 1 8 1 7 1 6 1 5 1 4 1 3 1 2 1 1 1 0 9 8 7 6 5 4 3 2 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 10 Network prefix bits The network prefix. In this example, we are using the 10/8 address space. 6 Host ID Segment ID We currently store tenant ID in upper bits of segment ID. 4 67 Endpoint ID Widths are configurable, don't have to use byte boundaries.
  • 33. romana.io Simplifying the network stack with Romana @romanaproject Semantic and topological addressing 3 1 3 0 2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 1 9 1 8 1 7 1 6 1 5 1 4 1 3 1 2 1 1 1 0 9 8 7 6 5 4 3 2 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 10 Network prefix bits The network prefix. In this example, we are using the 10/8 address space. 6 Host ID Segment ID We currently store tenant ID in upper bits of segment ID. 4 67 Endpoint ID Widths are configurable, don't have to use byte boundaries. Encode the tenant ID
  • 34. romana.io Simplifying the network stack with Romana @romanaproject Host BHost A Allowing traffic within tenant 10.0.0.5 10.1.0.12 iptables: check src/dst addrs “tenant/segment bits must match” Src: 10.0.0.5 Dst: 10.1.0.12 Same tenant/segment bits
  • 35. romana.io Simplifying the network stack with Romana @romanaproject Host BHost A Isolating tenant traffic: Default 10.0.0.5 10.1.128.9 iptables: check src/dst addrs “tenant/segment bits must match” Src: 10.0.0.5 Dst: 10.1.128.9 Different tenant/segment bits Different tenant
  • 36. romana.io Simplifying the network stack with Romana @romanaproject Host BHost A Apply network policy between segments (full isolation as default) 10.0.0.5 10.1.1.9 iptables: Does policy chain exist? Otherwise: DROP Src: 10.0.0.5 Dst: 10.1.1.9 Same tenant, different segment policy-chain: From segment 0? Protocol TCP? To port 80?
  • 37. Demo 1: Kubernetes + Romana cluster on top of Catalyst OpenStack cloud
  • 38. romana.io Simplifying the network stack with Romana @romanaproject Baking layered cakes ● Kubernetes on OpenStack? Why? – On demand clusters – Full tenant isolation ● Not all workloads fit into containers – Seamless connection between pods and VMs ● Really nice with fully routed networking – No double encapsulation – Logical, efficient packet forwarding
  • 39. romana.io Simplifying the network stack with Romana @romanaproject Demo 1 - Overview
  • 40. romana.io Simplifying the network stack with Romana @romanaproject Demo 1 - Overview bar-1 bar-2foo Jump host with public IP address
  • 41. romana.io Simplifying the network stack with Romana @romanaproject
  • 42. romana.io Simplifying the network stack with Romana @romanaproject Demo 1 - Overview bar-1 bar-2foo
  • 43. romana.io Simplifying the network stack with Romana @romanaproject Demo 1 - Overview bar-1 bar-2foo Install OpenStack command line tools
  • 44. romana.io Simplifying the network stack with Romana @romanaproject Demo 1 - Overview bar-1 bar-2foo $ neutron port-update e925b70e-031e-4ef7-a27c-583b4b775290 --allowed-address-pairs type=dict list=true mac_address=fa:16:3e:e1:df:59,ip_address=10.0.0.0/8
  • 45. romana.io Simplifying the network stack with Romana @romanaproject Demo 1 - Overview bar-1 bar-2foo $ git clone https://github.com/romana/romana $ cd romana/romana-install $ ./romana-setup -p static -i my-inventory -s kubernetes install
  • 46. romana.io Simplifying the network stack with Romana @romanaproject Demo 1 - Overview bar-1 bar-2foo Romana installer
  • 47. romana.io Simplifying the network stack with Romana @romanaproject Demo 1 - Overview bar-1 bar-2foo Kubernetes + Romana Romana cluster address range: 10/8
  • 48. romana.io Simplifying the network stack with Romana @romanaproject Demo 1 - Overview bar-1 bar-2foo Kubernetes + Romana Pods with containers. Pods have Romana IP addresses.
  • 49. romana.io Simplifying the network stack with Romana @romanaproject Demo 1 - What you will see ● Creation of pods ● Network configuration ● Application of network policies
  • 50. Demo 2: Mixing containers with legacy workloads
  • 51. romana.io Simplifying the network stack with Romana @romanaproject Demo 2 - Overview bar-1 bar-2foo Kubernetes + Romana
  • 52. romana.io Simplifying the network stack with Romana @romanaproject Demo 2 - Overview bar-1 bar-2foo Kubernetes + Romana vm-workload Legacy application in VM
  • 53. romana.io Simplifying the network stack with Romana @romanaproject Demo 2 - Overview bar-1 bar-2foo Kubernetes + Romana vm-workload Direct connection: - No gateway - No encap/decap - No NAT
  • 54. romana.io Simplifying the network stack with Romana @romanaproject Demo 2 - What you will see ● Creation of pods ● Contact pod from VM ● See the packet route
  • 55. Demo 3: Romana + Kubernetes cluster on top of Romana + OpenStack cluster
  • 56. romana.io Simplifying the network stack with Romana @romanaproject Demo 3 - Overview HW1 HW2 HW3 HW4
  • 57. romana.io Simplifying the network stack with Romana @romanaproject Demo 3 - Overview HW1 HW2 HW3 HW4 $ ./romana-setup -p static -i hw-inventory -s devstack install
  • 58. romana.io Simplifying the network stack with Romana @romanaproject Demo 3 - Overview HW1 HW2 HW3 HW4 OpenStack + Romana Romana cluster 1 address range: 10/8
  • 59. romana.io Simplifying the network stack with Romana @romanaproject Demo 3 - Overview VM2 VM3VM1 HW1 HW2 HW3 HW4 OpenStack + Romana OpenStack VMs VMs have IP addresses of Romana cluster 1
  • 60. romana.io Simplifying the network stack with Romana @romanaproject Demo 3 - Overview VM2 VM3VM1 HW1 HW2 HW3 HW4 OpenStack + Romana $ ./romana-setup -p static -i vm-inventory -s kubernetes install
  • 61. romana.io Simplifying the network stack with Romana @romanaproject Demo 3 - Overview VM2 VM3 Kubernetes + Romana VM1 HW1 HW2 HW3 HW4 OpenStack + Romana Romana cluster 2 address range: 172.16/12
  • 62. romana.io Simplifying the network stack with Romana @romanaproject Demo 3 - Overview VM2 VM3 Kubernetes + Romana VM1 HW1 HW2 HW3 HW4 OpenStack + Romana Pods with containers. Pods have IP addresses of Romana cluster 2
  • 63. romana.io Simplifying the network stack with Romana @romanaproject OpenStack + Romana Kubernetes + Romana Demo 3 - Overview VM2 VM3VM1 HW1 HW2 HW3 HW4
  • 64. romana.io Simplifying the network stack with Romana @romanaproject OpenStack + Romana Kubernetes + Romana Demo 3 - Overview VM2 VM3VM1 HW1 HW2 HW3 HW4 Remember this one? 2 Top of Rack Round Trips East/West Traffic Per Instance Security Without pure L3 network layered clusters would be even more complex.
  • 65. romana.io Simplifying the network stack with Romana @romanaproject OpenStack + Romana Kubernetes + Romana Demo 3 - Overview VM2 VM3VM1 HW1 HW2 HW3 HW4 But with Romana, networking even in layered clusters becomes really easy...
  • 66. romana.io Simplifying the network stack with Romana @romanaproject Demo 3 - What you will see ● Creation of pods ● Pods and VMs with fully routable addresses ● Ease of use showcase: Trouble shooting
  • 67. romana.io Simplifying the network stack with Romana @romanaproject Conclusion ● Cloud native architectures simplify things ● Need cloud native networking to enjoy benefits ● Romana: – Cloud native without compromises – Native network performance – Mostly static config: Solid network – Very easy to work with and understand ● Easy to try: – Simple installers for Kubernetes and OpenStack
  • 68. romana.io Simplifying the network stack with Romana @romanaproject Thank you! ● Romana Links – http://romana.io - Project home – http://romana.io/blog - Blog – https://github.com/romana/romana - Sources ● Contact – @romanaproject - Twitter – info@romana.io - Email – https://romana.slack.com/ - Slack channel