SlideShare a Scribd company logo
ARCHITECTING AND BUILDING A
SECURE MULTI-TENANT CLOUD
FOR SAAS APPLICATIONS
Dilip Sundarraj
Cloud Solutions Architect, Juniper Networks
April 8th, 2015
Symantec CloudFire
What is Network Virtualization?
• Independent of Physical Network Location or State
• Logical Network across any server, any rack, any cluster, any data-center
• Virtual Machines can migrate without requiring any reworking of security
policies, load balancing, etc
• New Workloads or Networks should not require provisioning of physical network
• Nodes in Physical Network can fail without any disruption to Workload
• Full Isolation for Multi-tenancy and Fault Tolerance
• MAC and IP Addresses are completely private per tenant
• Any failures or configuration errors by tenants do not affect other applications or
tenants
• Any failures in the virtual layer do not propagate to physical layer
OpenContrail
• OpenSource Network Virtualization Platform for Cloud
• Primary Use Cases:
• Cloud Networking
– IaaS, VPCs for Cloud SP, Private Cloud for Enterprises or SPs
• NFV in SP networks
– Value added services for SP edge networks.
OPENCONTRAIL
ARCHITECTURE
Analytics
CONTRAIL CONTROLLER
ControlConfiguration
x86 Host + Hypervisor
ORCHESTRATOR
x86 Host + Hypervisor
Physical IP Network
(no changes)
vRouter vRouter
Gateway
Internet / WAN
Legacy Infra.
(VLAN, etc.)
Bi-directional real-time message bus using XMPP
Network orchestration
Standard protocol (M-
BGP) to talk with other
Contrail controller
instances
Compute / Storage
orchestration
Accepts and converts
orchestrator requests for
VM creation, translates
requests, and creates
network
Interacts with network
elements for VM network
provisioning and ensures
uptime
Real-time analytics
engine collects, stores
and analyzes network
elements
vRouter: Virtualized routing element handles
localized control plane and forwarding plane
work on the compute node
Gateway: MX Series (or other router)
serve as gateway improving scale &
performance
OpenContrail <-> OpenStack
Openstack integration
Horizon
Nova API
Compute
Driver
Virtual-IF
Driver
Nova Compute
Contrail
Agent
vRouter
(kernel)
Virtual Router
Nova
Scheduler
Neutron
Driver
Neutron
Plugin
Configuration
Node
Control
Node
1
Create an Instance (VM Info,
Network, IPAM, Policies, etc)
2 Schedule an Instance on the
Compute Node
3
VM Network
Properties
4
Create VM
Interface
6 Publish VM
Intf on IFMap
5 Add Port
7
VM Interface
Config over XMPP
Scripts
OpenContrail – Control Node
• All Control Plane Nodes are active
active
• Each vRouter uses XMPP to connect
with multiple Control Plane nodes for
redundancy
• Each Control Plane Node connects
to multiple configuration nodes for
redundancy
• Control Plane Nodes federate using
BGP
Control Node
"BGP module"
Proxies
XMPP
Control
Node
Control
Node
Compute Node Compute Node
Configuration
Node
Configuration
Node
IF-MAP
XMPP
IBGP
IF-MAP Client
Gateway
Routers
Service Nodes
OpenContrail - Compute Node
Compute node – Hypervisor, vRouter
Compute Node
Virtual
Machine
(Tenant B)
Virtual
Machine
(Tenant C)
Virtual
Machine
(Tenant C)
vRouter Forwarding Plane
Virtual
Machine
(Tenant A)
Routing
Instance
(Tenant A)
Routing
Instance
(Tenant B)
Routing
Instance
(Tenant C)
vRouter Agent
Flow Table
FIB
Flow Table
FIB
Flow Table
FIB
Overlay tunnels
MPLS over GRE or VXLAN
JUNOSV CONTRAIL CONTROLLER
JUNOSV CONTRAIL CONTROLLER
XMPP
Eth1Kernel
Tap Interfaces (vif)
pkt0
User
Eth0 EthN
Config
VRFs
Policy
Table
Top of Rack Switch
XMPP
Compute node – Forwarding/Tunneling
Overlay tunnels
MPLS over GRE or VXLAN
Compute Node
vRouter Forwarding Plane
Virtual
Machine
(VN-IP1)
Routing
Instance
Flow Table
FIB
Eth1 (Phy-IP1)
Tap Interfaces (vif)
Compute Node
vRouter Forwarding Plane
Virtual
Machine
(VN-IP2)
Routing
Instance
Flow Table
FIB
Eth1 (Phy-IP2)
Tap Interfaces (vif)
VIRTUAL
PHYSICAL
Virtual-IP2
Payload
Virtual-IP2
Payload
MPLS / VNI
Phy-IP2
Virtual-IP2
Payload
Virtual-IP2
Payload
MPLS / VNI
Phy-IP2
1. Guest OS ARPs for destination
within subnet or default GW
2. VRouter receives the ARP and
responds back with VRRP MAC
3. Guest OS sends traffic to the
VRRP MAC, Vrouter encapsulates
the packet with appropriate
MPLS/VNI tag and GRE header
1. Physical Fabric Routers on
Physical IP Address
1. Returning packets get forwarded to
appropriate Routing Instance by
the MPLS/VNI tag
1. VRouter de-capsulates the packet,
and forwards it to the Guest OS
OPENCONTRAIL
FEATURES @SYMC
DNSaaS
Contrail offers 4 different DNS modes
• Default DNS server
• The host OS’s configured DNS server
• Tenant DNS server
• Tenants can use their own DNS servers (different from host OS’s DNS server)
• Virtual DNS server
• Contrail Controller provides a per tenant DNS server
• None
• VMs don’t have any DNS resolution capability
One of these modes is selected when an IPAM instance is
created for a domain.
Contrail Virtual DNS
DNS Record Creation
• Each IPAM -> Virtual DNS servers configured
• Virtual Networks and VMs in IPAM use DNS domain of Virtual
DNS server specified in IPAM
• When a VM is spawned,
• A & PTR records are added into the vDNS server of the virtual network’s
IPAM
NOTE:
• DNS Records can also be added statically.
• A, CNAME, PTR and NS records are also supported.
Contrail Virtual DNS
DNS Resolution:
1. DNS requests from VM trapped to the vRouter agent on the
hypervisor
2. vRouter agent then forwards DNS request to the controllers (which
run BIND) for resolution.
3. BIND has the concept of views and every virtual DNS instance has
its own isolated view
view "default-domain-contrailtestdns" {
rrset-order {order random;};
forwarders {172.16.70.254; };
zone "6.6.6.in-addr.arpa." IN {
type master;
file "/etc/contrail/dns/default-domain-contrailtestdns.6.6.6.in-addr.arpa.zone";
allow-update {127.0.0.1;};
};
zone "contrail.us" IN {
type master;
file "/etc/contrail/dns/default-domain-contrailtestdns.contrail.us.zone";
allow-update {127.0.0.1;};
};
};
DNS & IPAM Relationship
• Neutron network maps to Contrail Virtual Network
• network-ipam & virtual-DNS (Contrail specific constructs)
• virtual-DNS object has domain as parent
• network-ipam has project as parent.
• So:
• virtual-network ==refers-to==> network-ipam ==refers-to==> virtual-DNS
Contrail Virtual DNS @SYMC
• By default, Contrail API server creates default-network-
ipam object under the default-domain -> default-project
hierarchy
• However, using Contrail API hooks mechanism
automatically
• Create default-network-ipam object within a newly created project
• Create default-virtual-DNS object within a newly created domain
• Link them to provide vDNS functionality.
• So, a new virtual-network when created, it is automatically linked to
the project specific default-network-ipam and corresponding virtual
DNS object
Floating IPs
• Neutron supports the concept of floating IP (routable IP).
• Instances are unaware of their Floating IP.
• Every Virtual Network -> Routing Instance
• Routing Instances
• Define network connectivity between VMs in the Virtual Network
• Contain routes only for VMs in the virtual network
• Two Routing Instances (Virtual Networks) can be connected using
• Neutron L3 agent
• Contrail Network Policy (explained later)
• By default, Virtual Network do not have access to a “public” (routable) network
• A Gateway must be used to provide connectivity to "public" network from a virtual-network.
• Floating IP support can be provided with
• Simple Gateway – x86 based Software GW
• Routing Device such as Juniper MX
Floating IP using Neutron L3 Router
• Create an external network
• neutron net-create public --router:external True
• Create a router
• neutron router-create router1
• Add interfaces from Virtual network to this router
• neutron router-interface-add router1 SUBNET1_UUID
• Set router-gateway-set on router instance
• Connects a router to an external network, which enables that router
to act as a NAT gateway for external connectivity.
• neutron router-gateway-set router1 EXT_NET_ID
Spine Spine
Leaf LeafLeaf
BMS
BMS
BMS
BMS
Node
Node
Node
Node
Node
Node
Node
Node
Mountain View DC
MX Router
Internet
Spine Spine
Leaf LeafLeaf
Node
Node
Node
Node
Node
Node
Node
Node
Node
Node
Node
Node
Boston DC
Public
VRF
Intra-
site
VRF
Internet
MX Router
Intra-
site
VRF
Public
VRF
Intra-site VPN
Multiple Floating IPs per VM @SYMC
VMs in the MTV DC
1. Internet
Routable
Floating IP
2. IP Routable from
Boston DC
LBaaS
• LBaaS load balancer enables
• Pool of VMs servicing apps accessible via a virtual IP.
• Contrail LBaaS features:
• Load balancing of traffic from clients to a pool of backend servers.
The load balancer proxies all connections to its virtual IP.
• Provides load balancing for HTTP, HTTPS, and TCP
• Provides health monitoring capabilities for applications
• Floating IP association to virtual IP for public access to the backend
pool.
Contrail LBaaS Implementation
Contrail LBaaS Implementation
• Supports OpenStack LBaaS Neutron APIs
• Creation of virtual-ip, loadbalancer-pool, loadbalancer-member, and
loadbalancer-healthmonitor.
• Creates a Service Instance when a loadbalancer-pool is
associated with a virtual-IP object.
• Service scheduler launches a namespace & spawns HAProxy on
it.
• HAProxy parameters obtained from the load balancer objects.
• HA of namespaces/HAProxy -> Active/Standby (2 diff computes)
Link Local Services
Provides VMs access to specific services on IP Fabric
infrastructure.
• @SYMC
• Keystone, Github, NTP, Logging, Monitoring and
Metering services
Once the link local service is configured, VMs can access
the service using the link local address.
• OpenStack Metadata Service on 169.254.169.254:80 is also
implemented using Link Local Service
(169.254.169.XXX, Service port) <-> (Destination IP, Service TCP/UDP port)
Contrail Network Policy
• Enforces connectivity and policy enforcement between
Virtual Networks
• Follows the 5-tuple semantics
• SRC/DST Virtual Network, SRC/DST Port, Protocol
Contrail Network Policy
• Connectivity between two Virtual Networks is established by leaking
routes between two Routing Instances when a network policy is
created interconnecting the two VNs
• Policy is enforced for specific traffic types by flow table programming
in every vRouter which has the relevant Virtual Networks
Compute Node
Virtual
Machine
(Tenant B)
Virtual
Machine
(Tenant C)
Virtual
Machine
(Tenant C)
vRouter Forwarding Plane
Virtual
Machine
(Tenant A)
Routing
Instance
(Tenant A)
Routing
Instance
(Tenant B)
Routing
Instance
(Tenant C)
vRouter Agent
Flow Table
FIB
Flow Table
FIB
Flow Table
FIB
Eth1Kernel
Tap Interfaces (vif)
pkt0
User
Eth0 EthN
Config
VRFs
Policy
Table
Environments & Operations
Environments
• Lab: > 10 nodes
• CI/CD test environment for SDN related features and functions
• Staging: > 50 nodes
• True IaaS for PaaS applications
• Production: > 250 nodes
• PaaS for end-user applications
Operations:
• Monitoring & Troubleshooting
• Contrail Analytics feeds into OpsView & LMM
• Upgrade
• Phased upgrades during maintenance windows without application downtime.
TEST DRIVE
OPENCONTRAIL
DEVSTACK + OPENCONTRAIL
• WHAT?
• Run OpenStack and OpenContrail on your laptop or in a VM
• WHY?
• Use to build & test OpenStack and OpenContrail code
• Just play with OpenStack/OpenContrail features
• HOW?
• Ubuntu server/VM with 4GB RAM, access to github
DEVSTACK + OPENCONTRAIL (in-a-box)
• Install packages: git-core, ant, build-essential, pkg-config
• Download DevStack
• (git clone git@github.com:/dsetia/devstack.git)
• Edit localrc (set PHYSICAL_INTERFACE)
• Run stack.sh
• Installs Glance, Nova, Horizon, Keystone, Cinder
• And OpenContrail (as a Neutron plugin)
RESOURCES
• OpenContrail.org
• E-Book, Architecture documents, blogs from developers/architects,
slides, webinars
• GitHub
• https://github.com/Juniper/contrail-controller
• https://github.com/Juniper/contrail-vrouter
• https://github.com/Juniper/contrail-puppet
• https://github.com/Juniper/contrail-web-controller
• https://github.com/Juniper/contrail-neutron-plugin
Q&A

More Related Content

What's hot

OpenStack Quantum Intro (OS Meetup 3-26-12)
OpenStack Quantum Intro (OS Meetup 3-26-12)OpenStack Quantum Intro (OS Meetup 3-26-12)
OpenStack Quantum Intro (OS Meetup 3-26-12)
Dan Wendlandt
 
Container Performance Analysis
Container Performance AnalysisContainer Performance Analysis
Container Performance Analysis
Brendan Gregg
 
IP Virtual Server(IPVS) 101
IP Virtual Server(IPVS) 101IP Virtual Server(IPVS) 101
IP Virtual Server(IPVS) 101
HungWei Chiu
 
[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
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Dive
rajdeep
 
Understanding Open vSwitch
Understanding Open vSwitch Understanding Open vSwitch
Understanding Open vSwitch
YongKi Kim
 
2015 FOSDEM - OVS Stateful Services
2015 FOSDEM - OVS Stateful Services2015 FOSDEM - OVS Stateful Services
2015 FOSDEM - OVS Stateful Services
Thomas Graf
 
[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여
Ji-Woong Choi
 
Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)
Weaveworks
 
OVN operationalization at scale at eBay
OVN operationalization at scale at eBayOVN operationalization at scale at eBay
OVN operationalization at scale at eBay
Aliasgar Ginwala
 
Netfilter: Making large iptables rulesets scale
Netfilter: Making large iptables rulesets scaleNetfilter: Making large iptables rulesets scale
Netfilter: Making large iptables rulesets scale
brouer
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Thomas Graf
 
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?
OpenStack Korea Community
 
Open vSwitch와 Mininet을 이용한 가상 네트워크 생성과 OpenDaylight를 사용한 네트워크 제어실험
Open vSwitch와 Mininet을 이용한 가상 네트워크 생성과 OpenDaylight를 사용한 네트워크 제어실험Open vSwitch와 Mininet을 이용한 가상 네트워크 생성과 OpenDaylight를 사용한 네트워크 제어실험
Open vSwitch와 Mininet을 이용한 가상 네트워크 생성과 OpenDaylight를 사용한 네트워크 제어실험
Seung-Hoon Baek
 
OpenStack Neutron Tutorial
OpenStack Neutron TutorialOpenStack Neutron Tutorial
OpenStack Neutron Tutorial
mestery
 
Ifupdown2: Network Interface Manager
Ifupdown2: Network Interface ManagerIfupdown2: Network Interface Manager
Ifupdown2: Network Interface Manager
Cumulus Networks
 
Xdp and ebpf_maps
Xdp and ebpf_mapsXdp and ebpf_maps
Xdp and ebpf_maps
lcplcp1
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
npsg
 
SDN입문 (Overlay and Underlay)
SDN입문 (Overlay and Underlay)SDN입문 (Overlay and Underlay)
SDN입문 (Overlay and Underlay)
NAIM Networks, Inc.
 
[오픈소스컨설팅] 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
Ji-Woong Choi
 

What's hot (20)

OpenStack Quantum Intro (OS Meetup 3-26-12)
OpenStack Quantum Intro (OS Meetup 3-26-12)OpenStack Quantum Intro (OS Meetup 3-26-12)
OpenStack Quantum Intro (OS Meetup 3-26-12)
 
Container Performance Analysis
Container Performance AnalysisContainer Performance Analysis
Container Performance Analysis
 
IP Virtual Server(IPVS) 101
IP Virtual Server(IPVS) 101IP Virtual Server(IPVS) 101
IP Virtual Server(IPVS) 101
 
[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
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Dive
 
Understanding Open vSwitch
Understanding Open vSwitch Understanding Open vSwitch
Understanding Open vSwitch
 
2015 FOSDEM - OVS Stateful Services
2015 FOSDEM - OVS Stateful Services2015 FOSDEM - OVS Stateful Services
2015 FOSDEM - OVS Stateful Services
 
[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여
 
Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)
 
OVN operationalization at scale at eBay
OVN operationalization at scale at eBayOVN operationalization at scale at eBay
OVN operationalization at scale at eBay
 
Netfilter: Making large iptables rulesets scale
Netfilter: Making large iptables rulesets scaleNetfilter: Making large iptables rulesets scale
Netfilter: Making large iptables rulesets scale
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
 
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?
 
Open vSwitch와 Mininet을 이용한 가상 네트워크 생성과 OpenDaylight를 사용한 네트워크 제어실험
Open vSwitch와 Mininet을 이용한 가상 네트워크 생성과 OpenDaylight를 사용한 네트워크 제어실험Open vSwitch와 Mininet을 이용한 가상 네트워크 생성과 OpenDaylight를 사용한 네트워크 제어실험
Open vSwitch와 Mininet을 이용한 가상 네트워크 생성과 OpenDaylight를 사용한 네트워크 제어실험
 
OpenStack Neutron Tutorial
OpenStack Neutron TutorialOpenStack Neutron Tutorial
OpenStack Neutron Tutorial
 
Ifupdown2: Network Interface Manager
Ifupdown2: Network Interface ManagerIfupdown2: Network Interface Manager
Ifupdown2: Network Interface Manager
 
Xdp and ebpf_maps
Xdp and ebpf_mapsXdp and ebpf_maps
Xdp and ebpf_maps
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
SDN입문 (Overlay and Underlay)
SDN입문 (Overlay and Underlay)SDN입문 (Overlay and Underlay)
SDN입문 (Overlay and Underlay)
 
[오픈소스컨설팅] 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
 

Viewers also liked

OpenContrail deployment experience
OpenContrail deployment experienceOpenContrail deployment experience
OpenContrail deployment experience
Jakub Pavlik
 
Opencontrail network virtualization
Opencontrail network virtualizationOpencontrail network virtualization
Opencontrail network virtualization
Nicolai van der Smagt
 
OpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
OpenStack and OpenContrail for FreeBSD platform by Michał DubielOpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
OpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
eurobsdcon
 
Characteristics of SaaS applications
Characteristics of SaaS applicationsCharacteristics of SaaS applications
Characteristics of SaaS applications
Comprinno Technologies
 
How we took our server side application to the cloud and liked what we got, B...
How we took our server side application to the cloud and liked what we got, B...How we took our server side application to the cloud and liked what we got, B...
How we took our server side application to the cloud and liked what we got, B...
DevOpsDays Tel Aviv
 
Kubernetes SDN performance and architecture
Kubernetes SDN performance and architectureKubernetes SDN performance and architecture
Kubernetes SDN performance and architecture
Jakub Pavlik
 
○○○で作るOpenStack+Contrail環境
○○○で作るOpenStack+Contrail環境○○○で作るOpenStack+Contrail環境
○○○で作るOpenStack+Contrail環境
VirtualTech Japan Inc.
 
Using OpenContrail with Kubernetes
Using OpenContrail with KubernetesUsing OpenContrail with Kubernetes
Using OpenContrail with Kubernetes
Matt Baldwin
 
Moving To SaaS
Moving To SaaSMoving To SaaS
Moving To SaaS
Alistair Croll
 
OpenStack & OpenContrail in Production
OpenStack & OpenContrail in ProductionOpenStack & OpenContrail in Production
OpenStack & OpenContrail in Production
Edgar Magana
 
The Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitchThe Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitch
Te-Yen Liu
 
Docker and Windows: The State of the Union
Docker and Windows: The State of the UnionDocker and Windows: The State of the Union
Docker and Windows: The State of the Union
Elton Stoneman
 

Viewers also liked (12)

OpenContrail deployment experience
OpenContrail deployment experienceOpenContrail deployment experience
OpenContrail deployment experience
 
Opencontrail network virtualization
Opencontrail network virtualizationOpencontrail network virtualization
Opencontrail network virtualization
 
OpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
OpenStack and OpenContrail for FreeBSD platform by Michał DubielOpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
OpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
 
Characteristics of SaaS applications
Characteristics of SaaS applicationsCharacteristics of SaaS applications
Characteristics of SaaS applications
 
How we took our server side application to the cloud and liked what we got, B...
How we took our server side application to the cloud and liked what we got, B...How we took our server side application to the cloud and liked what we got, B...
How we took our server side application to the cloud and liked what we got, B...
 
Kubernetes SDN performance and architecture
Kubernetes SDN performance and architectureKubernetes SDN performance and architecture
Kubernetes SDN performance and architecture
 
○○○で作るOpenStack+Contrail環境
○○○で作るOpenStack+Contrail環境○○○で作るOpenStack+Contrail環境
○○○で作るOpenStack+Contrail環境
 
Using OpenContrail with Kubernetes
Using OpenContrail with KubernetesUsing OpenContrail with Kubernetes
Using OpenContrail with Kubernetes
 
Moving To SaaS
Moving To SaaSMoving To SaaS
Moving To SaaS
 
OpenStack & OpenContrail in Production
OpenStack & OpenContrail in ProductionOpenStack & OpenContrail in Production
OpenStack & OpenContrail in Production
 
The Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitchThe Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitch
 
Docker and Windows: The State of the Union
Docker and Windows: The State of the UnionDocker and Windows: The State of the Union
Docker and Windows: The State of the Union
 

Similar to Secure Multi Tenant Cloud with OpenContrail

Openstack meetup-pune-aug22-overview
Openstack meetup-pune-aug22-overviewOpenstack meetup-pune-aug22-overview
Openstack meetup-pune-aug22-overviewrajdeep
 
Quantum PTL Update - Grizzly Summit.pptx
Quantum PTL Update - Grizzly Summit.pptxQuantum PTL Update - Grizzly Summit.pptx
Quantum PTL Update - Grizzly Summit.pptx
OpenStack Foundation
 
Quantum grizzly summit
Quantum   grizzly summitQuantum   grizzly summit
Quantum grizzly summit
Dan Wendlandt
 
NSX: La Virtualizzazione di Rete e il Futuro della Sicurezza
NSX: La Virtualizzazione di Rete e il Futuro della SicurezzaNSX: La Virtualizzazione di Rete e il Futuro della Sicurezza
NSX: La Virtualizzazione di Rete e il Futuro della Sicurezza
VMUG IT
 
CloudStack Networking Deepdive CCCEU13
CloudStack Networking Deepdive CCCEU13CloudStack Networking Deepdive CCCEU13
CloudStack Networking Deepdive CCCEU13
Chiradeep Vittal
 
Testing the limits of cloud networks
Testing the limits of cloud networksTesting the limits of cloud networks
Testing the limits of cloud networks
PLUMgrid
 
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack NetworkingONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
markmcclain
 
Quantum for Cloud Operators - Folsom Conference
Quantum for Cloud Operators  - Folsom Conference Quantum for Cloud Operators  - Folsom Conference
Quantum for Cloud Operators - Folsom Conference
Dan Wendlandt
 
Integrating OpenStack To Existing Infrastructure
Integrating OpenStack To Existing InfrastructureIntegrating OpenStack To Existing Infrastructure
Integrating OpenStack To Existing Infrastructure
Hui Cheng
 
Openstack Quantum yahoo meetup 1 23-13
Openstack Quantum yahoo meetup 1 23-13Openstack Quantum yahoo meetup 1 23-13
Openstack Quantum yahoo meetup 1 23-13Dan Wendlandt
 
OpenStack Quantum: Cloud Carrier Summit 2012
OpenStack Quantum: Cloud Carrier Summit 2012OpenStack Quantum: Cloud Carrier Summit 2012
OpenStack Quantum: Cloud Carrier Summit 2012
Dan Wendlandt
 
Openstack Overview
Openstack OverviewOpenstack Overview
Openstack Overview
rajdeep
 
Inside Architecture of Neutron
Inside Architecture of NeutronInside Architecture of Neutron
Inside Architecture of Neutron
markmcclain
 
Quantum Folsom Summit Developer Overview
Quantum Folsom Summit Developer OverviewQuantum Folsom Summit Developer Overview
Quantum Folsom Summit Developer Overview
Dan Wendlandt
 
Network and Service Virtualization tutorial at ONUG Spring 2015
Network and Service Virtualization tutorial at ONUG Spring 2015Network and Service Virtualization tutorial at ONUG Spring 2015
Network and Service Virtualization tutorial at ONUG Spring 2015
SDN Hub
 
Integrating OpenStack to Existing infrastructure
Integrating OpenStack to Existing infrastructureIntegrating OpenStack to Existing infrastructure
Integrating OpenStack to Existing infrastructure
laurabeckcahoon
 
VMUGbe 21 Filip Verloy
VMUGbe 21 Filip VerloyVMUGbe 21 Filip Verloy
VMUGbe 21 Filip Verloy
Filip Verloy
 
PLNOG 13: Michał Dubiel: OpenContrail software architecture
PLNOG 13: Michał Dubiel: OpenContrail software architecturePLNOG 13: Michał Dubiel: OpenContrail software architecture
PLNOG 13: Michał Dubiel: OpenContrail software architecture
PROIDEA
 
VMworld 2015: VMware NSX Deep Dive
VMworld 2015: VMware NSX Deep DiveVMworld 2015: VMware NSX Deep Dive
VMworld 2015: VMware NSX Deep Dive
VMworld
 

Similar to Secure Multi Tenant Cloud with OpenContrail (20)

Openstack meetup-pune-aug22-overview
Openstack meetup-pune-aug22-overviewOpenstack meetup-pune-aug22-overview
Openstack meetup-pune-aug22-overview
 
Quantum PTL Update - Grizzly Summit.pptx
Quantum PTL Update - Grizzly Summit.pptxQuantum PTL Update - Grizzly Summit.pptx
Quantum PTL Update - Grizzly Summit.pptx
 
Quantum grizzly summit
Quantum   grizzly summitQuantum   grizzly summit
Quantum grizzly summit
 
NSX: La Virtualizzazione di Rete e il Futuro della Sicurezza
NSX: La Virtualizzazione di Rete e il Futuro della SicurezzaNSX: La Virtualizzazione di Rete e il Futuro della Sicurezza
NSX: La Virtualizzazione di Rete e il Futuro della Sicurezza
 
CloudStack Networking Deepdive CCCEU13
CloudStack Networking Deepdive CCCEU13CloudStack Networking Deepdive CCCEU13
CloudStack Networking Deepdive CCCEU13
 
Testing the limits of cloud networks
Testing the limits of cloud networksTesting the limits of cloud networks
Testing the limits of cloud networks
 
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack NetworkingONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
 
Quantum for Cloud Operators - Folsom Conference
Quantum for Cloud Operators  - Folsom Conference Quantum for Cloud Operators  - Folsom Conference
Quantum for Cloud Operators - Folsom Conference
 
Integrating OpenStack To Existing Infrastructure
Integrating OpenStack To Existing InfrastructureIntegrating OpenStack To Existing Infrastructure
Integrating OpenStack To Existing Infrastructure
 
Openstack Quantum yahoo meetup 1 23-13
Openstack Quantum yahoo meetup 1 23-13Openstack Quantum yahoo meetup 1 23-13
Openstack Quantum yahoo meetup 1 23-13
 
OpenStack Quantum
OpenStack QuantumOpenStack Quantum
OpenStack Quantum
 
OpenStack Quantum: Cloud Carrier Summit 2012
OpenStack Quantum: Cloud Carrier Summit 2012OpenStack Quantum: Cloud Carrier Summit 2012
OpenStack Quantum: Cloud Carrier Summit 2012
 
Openstack Overview
Openstack OverviewOpenstack Overview
Openstack Overview
 
Inside Architecture of Neutron
Inside Architecture of NeutronInside Architecture of Neutron
Inside Architecture of Neutron
 
Quantum Folsom Summit Developer Overview
Quantum Folsom Summit Developer OverviewQuantum Folsom Summit Developer Overview
Quantum Folsom Summit Developer Overview
 
Network and Service Virtualization tutorial at ONUG Spring 2015
Network and Service Virtualization tutorial at ONUG Spring 2015Network and Service Virtualization tutorial at ONUG Spring 2015
Network and Service Virtualization tutorial at ONUG Spring 2015
 
Integrating OpenStack to Existing infrastructure
Integrating OpenStack to Existing infrastructureIntegrating OpenStack to Existing infrastructure
Integrating OpenStack to Existing infrastructure
 
VMUGbe 21 Filip Verloy
VMUGbe 21 Filip VerloyVMUGbe 21 Filip Verloy
VMUGbe 21 Filip Verloy
 
PLNOG 13: Michał Dubiel: OpenContrail software architecture
PLNOG 13: Michał Dubiel: OpenContrail software architecturePLNOG 13: Michał Dubiel: OpenContrail software architecture
PLNOG 13: Michał Dubiel: OpenContrail software architecture
 
VMworld 2015: VMware NSX Deep Dive
VMworld 2015: VMware NSX Deep DiveVMworld 2015: VMware NSX Deep Dive
VMworld 2015: VMware NSX Deep Dive
 

Recently uploaded

Basic Industrial Engineering terms for apparel
Basic Industrial Engineering terms for apparelBasic Industrial Engineering terms for apparel
Basic Industrial Engineering terms for apparel
top1002
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
WENKENLI1
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTSHeap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Soumen Santra
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
ssuser7dcef0
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
Osamah Alsalih
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
Kerry Sado
 
Steel & Timber Design according to British Standard
Steel & Timber Design according to British StandardSteel & Timber Design according to British Standard
Steel & Timber Design according to British Standard
AkolbilaEmmanuel1
 
The Role of Electrical and Electronics Engineers in IOT Technology.pdf
The Role of Electrical and Electronics Engineers in IOT Technology.pdfThe Role of Electrical and Electronics Engineers in IOT Technology.pdf
The Role of Electrical and Electronics Engineers in IOT Technology.pdf
Nettur Technical Training Foundation
 
Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
Kamal Acharya
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
Aditya Rajan Patra
 
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdfTutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
aqil azizi
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
ChristineTorrepenida1
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
SUTEJAS
 

Recently uploaded (20)

Basic Industrial Engineering terms for apparel
Basic Industrial Engineering terms for apparelBasic Industrial Engineering terms for apparel
Basic Industrial Engineering terms for apparel
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTSHeap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
 
Steel & Timber Design according to British Standard
Steel & Timber Design according to British StandardSteel & Timber Design according to British Standard
Steel & Timber Design according to British Standard
 
The Role of Electrical and Electronics Engineers in IOT Technology.pdf
The Role of Electrical and Electronics Engineers in IOT Technology.pdfThe Role of Electrical and Electronics Engineers in IOT Technology.pdf
The Role of Electrical and Electronics Engineers in IOT Technology.pdf
 
Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
 
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdfTutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
 

Secure Multi Tenant Cloud with OpenContrail

  • 1. ARCHITECTING AND BUILDING A SECURE MULTI-TENANT CLOUD FOR SAAS APPLICATIONS Dilip Sundarraj Cloud Solutions Architect, Juniper Networks April 8th, 2015
  • 3. What is Network Virtualization? • Independent of Physical Network Location or State • Logical Network across any server, any rack, any cluster, any data-center • Virtual Machines can migrate without requiring any reworking of security policies, load balancing, etc • New Workloads or Networks should not require provisioning of physical network • Nodes in Physical Network can fail without any disruption to Workload • Full Isolation for Multi-tenancy and Fault Tolerance • MAC and IP Addresses are completely private per tenant • Any failures or configuration errors by tenants do not affect other applications or tenants • Any failures in the virtual layer do not propagate to physical layer
  • 4. OpenContrail • OpenSource Network Virtualization Platform for Cloud • Primary Use Cases: • Cloud Networking – IaaS, VPCs for Cloud SP, Private Cloud for Enterprises or SPs • NFV in SP networks – Value added services for SP edge networks.
  • 6. Analytics CONTRAIL CONTROLLER ControlConfiguration x86 Host + Hypervisor ORCHESTRATOR x86 Host + Hypervisor Physical IP Network (no changes) vRouter vRouter Gateway Internet / WAN Legacy Infra. (VLAN, etc.) Bi-directional real-time message bus using XMPP Network orchestration Standard protocol (M- BGP) to talk with other Contrail controller instances Compute / Storage orchestration Accepts and converts orchestrator requests for VM creation, translates requests, and creates network Interacts with network elements for VM network provisioning and ensures uptime Real-time analytics engine collects, stores and analyzes network elements vRouter: Virtualized routing element handles localized control plane and forwarding plane work on the compute node Gateway: MX Series (or other router) serve as gateway improving scale & performance
  • 8. Openstack integration Horizon Nova API Compute Driver Virtual-IF Driver Nova Compute Contrail Agent vRouter (kernel) Virtual Router Nova Scheduler Neutron Driver Neutron Plugin Configuration Node Control Node 1 Create an Instance (VM Info, Network, IPAM, Policies, etc) 2 Schedule an Instance on the Compute Node 3 VM Network Properties 4 Create VM Interface 6 Publish VM Intf on IFMap 5 Add Port 7 VM Interface Config over XMPP Scripts
  • 9. OpenContrail – Control Node • All Control Plane Nodes are active active • Each vRouter uses XMPP to connect with multiple Control Plane nodes for redundancy • Each Control Plane Node connects to multiple configuration nodes for redundancy • Control Plane Nodes federate using BGP Control Node "BGP module" Proxies XMPP Control Node Control Node Compute Node Compute Node Configuration Node Configuration Node IF-MAP XMPP IBGP IF-MAP Client Gateway Routers Service Nodes
  • 11. Compute node – Hypervisor, vRouter Compute Node Virtual Machine (Tenant B) Virtual Machine (Tenant C) Virtual Machine (Tenant C) vRouter Forwarding Plane Virtual Machine (Tenant A) Routing Instance (Tenant A) Routing Instance (Tenant B) Routing Instance (Tenant C) vRouter Agent Flow Table FIB Flow Table FIB Flow Table FIB Overlay tunnels MPLS over GRE or VXLAN JUNOSV CONTRAIL CONTROLLER JUNOSV CONTRAIL CONTROLLER XMPP Eth1Kernel Tap Interfaces (vif) pkt0 User Eth0 EthN Config VRFs Policy Table Top of Rack Switch XMPP
  • 12. Compute node – Forwarding/Tunneling Overlay tunnels MPLS over GRE or VXLAN Compute Node vRouter Forwarding Plane Virtual Machine (VN-IP1) Routing Instance Flow Table FIB Eth1 (Phy-IP1) Tap Interfaces (vif) Compute Node vRouter Forwarding Plane Virtual Machine (VN-IP2) Routing Instance Flow Table FIB Eth1 (Phy-IP2) Tap Interfaces (vif) VIRTUAL PHYSICAL Virtual-IP2 Payload Virtual-IP2 Payload MPLS / VNI Phy-IP2 Virtual-IP2 Payload Virtual-IP2 Payload MPLS / VNI Phy-IP2 1. Guest OS ARPs for destination within subnet or default GW 2. VRouter receives the ARP and responds back with VRRP MAC 3. Guest OS sends traffic to the VRRP MAC, Vrouter encapsulates the packet with appropriate MPLS/VNI tag and GRE header 1. Physical Fabric Routers on Physical IP Address 1. Returning packets get forwarded to appropriate Routing Instance by the MPLS/VNI tag 1. VRouter de-capsulates the packet, and forwards it to the Guest OS
  • 14. DNSaaS Contrail offers 4 different DNS modes • Default DNS server • The host OS’s configured DNS server • Tenant DNS server • Tenants can use their own DNS servers (different from host OS’s DNS server) • Virtual DNS server • Contrail Controller provides a per tenant DNS server • None • VMs don’t have any DNS resolution capability One of these modes is selected when an IPAM instance is created for a domain.
  • 15. Contrail Virtual DNS DNS Record Creation • Each IPAM -> Virtual DNS servers configured • Virtual Networks and VMs in IPAM use DNS domain of Virtual DNS server specified in IPAM • When a VM is spawned, • A & PTR records are added into the vDNS server of the virtual network’s IPAM NOTE: • DNS Records can also be added statically. • A, CNAME, PTR and NS records are also supported.
  • 16. Contrail Virtual DNS DNS Resolution: 1. DNS requests from VM trapped to the vRouter agent on the hypervisor 2. vRouter agent then forwards DNS request to the controllers (which run BIND) for resolution. 3. BIND has the concept of views and every virtual DNS instance has its own isolated view view "default-domain-contrailtestdns" { rrset-order {order random;}; forwarders {172.16.70.254; }; zone "6.6.6.in-addr.arpa." IN { type master; file "/etc/contrail/dns/default-domain-contrailtestdns.6.6.6.in-addr.arpa.zone"; allow-update {127.0.0.1;}; }; zone "contrail.us" IN { type master; file "/etc/contrail/dns/default-domain-contrailtestdns.contrail.us.zone"; allow-update {127.0.0.1;}; }; };
  • 17. DNS & IPAM Relationship • Neutron network maps to Contrail Virtual Network • network-ipam & virtual-DNS (Contrail specific constructs) • virtual-DNS object has domain as parent • network-ipam has project as parent. • So: • virtual-network ==refers-to==> network-ipam ==refers-to==> virtual-DNS
  • 18. Contrail Virtual DNS @SYMC • By default, Contrail API server creates default-network- ipam object under the default-domain -> default-project hierarchy • However, using Contrail API hooks mechanism automatically • Create default-network-ipam object within a newly created project • Create default-virtual-DNS object within a newly created domain • Link them to provide vDNS functionality. • So, a new virtual-network when created, it is automatically linked to the project specific default-network-ipam and corresponding virtual DNS object
  • 19. Floating IPs • Neutron supports the concept of floating IP (routable IP). • Instances are unaware of their Floating IP. • Every Virtual Network -> Routing Instance • Routing Instances • Define network connectivity between VMs in the Virtual Network • Contain routes only for VMs in the virtual network • Two Routing Instances (Virtual Networks) can be connected using • Neutron L3 agent • Contrail Network Policy (explained later) • By default, Virtual Network do not have access to a “public” (routable) network • A Gateway must be used to provide connectivity to "public" network from a virtual-network. • Floating IP support can be provided with • Simple Gateway – x86 based Software GW • Routing Device such as Juniper MX
  • 20. Floating IP using Neutron L3 Router • Create an external network • neutron net-create public --router:external True • Create a router • neutron router-create router1 • Add interfaces from Virtual network to this router • neutron router-interface-add router1 SUBNET1_UUID • Set router-gateway-set on router instance • Connects a router to an external network, which enables that router to act as a NAT gateway for external connectivity. • neutron router-gateway-set router1 EXT_NET_ID
  • 21. Spine Spine Leaf LeafLeaf BMS BMS BMS BMS Node Node Node Node Node Node Node Node Mountain View DC MX Router Internet Spine Spine Leaf LeafLeaf Node Node Node Node Node Node Node Node Node Node Node Node Boston DC Public VRF Intra- site VRF Internet MX Router Intra- site VRF Public VRF Intra-site VPN Multiple Floating IPs per VM @SYMC VMs in the MTV DC 1. Internet Routable Floating IP 2. IP Routable from Boston DC
  • 22. LBaaS • LBaaS load balancer enables • Pool of VMs servicing apps accessible via a virtual IP. • Contrail LBaaS features: • Load balancing of traffic from clients to a pool of backend servers. The load balancer proxies all connections to its virtual IP. • Provides load balancing for HTTP, HTTPS, and TCP • Provides health monitoring capabilities for applications • Floating IP association to virtual IP for public access to the backend pool.
  • 24. Contrail LBaaS Implementation • Supports OpenStack LBaaS Neutron APIs • Creation of virtual-ip, loadbalancer-pool, loadbalancer-member, and loadbalancer-healthmonitor. • Creates a Service Instance when a loadbalancer-pool is associated with a virtual-IP object. • Service scheduler launches a namespace & spawns HAProxy on it. • HAProxy parameters obtained from the load balancer objects. • HA of namespaces/HAProxy -> Active/Standby (2 diff computes)
  • 25. Link Local Services Provides VMs access to specific services on IP Fabric infrastructure. • @SYMC • Keystone, Github, NTP, Logging, Monitoring and Metering services Once the link local service is configured, VMs can access the service using the link local address. • OpenStack Metadata Service on 169.254.169.254:80 is also implemented using Link Local Service (169.254.169.XXX, Service port) <-> (Destination IP, Service TCP/UDP port)
  • 26. Contrail Network Policy • Enforces connectivity and policy enforcement between Virtual Networks • Follows the 5-tuple semantics • SRC/DST Virtual Network, SRC/DST Port, Protocol
  • 27. Contrail Network Policy • Connectivity between two Virtual Networks is established by leaking routes between two Routing Instances when a network policy is created interconnecting the two VNs • Policy is enforced for specific traffic types by flow table programming in every vRouter which has the relevant Virtual Networks Compute Node Virtual Machine (Tenant B) Virtual Machine (Tenant C) Virtual Machine (Tenant C) vRouter Forwarding Plane Virtual Machine (Tenant A) Routing Instance (Tenant A) Routing Instance (Tenant B) Routing Instance (Tenant C) vRouter Agent Flow Table FIB Flow Table FIB Flow Table FIB Eth1Kernel Tap Interfaces (vif) pkt0 User Eth0 EthN Config VRFs Policy Table
  • 28. Environments & Operations Environments • Lab: > 10 nodes • CI/CD test environment for SDN related features and functions • Staging: > 50 nodes • True IaaS for PaaS applications • Production: > 250 nodes • PaaS for end-user applications Operations: • Monitoring & Troubleshooting • Contrail Analytics feeds into OpsView & LMM • Upgrade • Phased upgrades during maintenance windows without application downtime.
  • 30. DEVSTACK + OPENCONTRAIL • WHAT? • Run OpenStack and OpenContrail on your laptop or in a VM • WHY? • Use to build & test OpenStack and OpenContrail code • Just play with OpenStack/OpenContrail features • HOW? • Ubuntu server/VM with 4GB RAM, access to github
  • 31. DEVSTACK + OPENCONTRAIL (in-a-box) • Install packages: git-core, ant, build-essential, pkg-config • Download DevStack • (git clone git@github.com:/dsetia/devstack.git) • Edit localrc (set PHYSICAL_INTERFACE) • Run stack.sh • Installs Glance, Nova, Horizon, Keystone, Cinder • And OpenContrail (as a Neutron plugin)
  • 32. RESOURCES • OpenContrail.org • E-Book, Architecture documents, blogs from developers/architects, slides, webinars • GitHub • https://github.com/Juniper/contrail-controller • https://github.com/Juniper/contrail-vrouter • https://github.com/Juniper/contrail-puppet • https://github.com/Juniper/contrail-web-controller • https://github.com/Juniper/contrail-neutron-plugin
  • 33. Q&A

Editor's Notes

  1. Tenants can use their own DNS servers using this mode. A list of servers can be configured in the IPAM
  2. DNS Domain received via DHCP DOMAIN-NAME option. Each record takes the type (A / CNAME / PTR / NS), class (IN), name, data and TTL values.
  3. While the core network resource in Neutron maps to virtual-network in Contrail, network-ipam and virtual-DNS are resources introduced by Contrail. network-ipam is also defined as a Neutron extension and can be used via Neutron API as Horizon does it here.. virtual-DNS will also be added as a Neutron extension in future. virtual-DNS object has domain as parent and network-ipam has project as parent. So: virtual-network ==refers-to==> network-ipam ==refers-to==> virtual-DNS
  4. Simple Gateway is a restricted implementation of gateway which can be used for experimental purposes. Simple gateway provides access to "public" network to virtual-networks.
  5. Explain about VRFs and RTs
  6. Metadata service is also a link-local service, with a fixed service name (metadata), a fixed service address (169.254.169.254:80), and a fabric address pointing to the server where the OpenStack Nova API server is running. All of the configuration and troubleshooting procedures for Contrail link-local services also apply to the metadata service. However, for metadata service, the flow is always set up to the compute node, so the vrouter agent will update and proxy the HTTP request. The vrouter agent listens on a local port to receive the metadata requests. Consequently, the reverse flow has the compute node as the source IP, the local port on which the agent is listening is the source port, and the instance’s metadata IP is the destination IP address.