SlideShare a Scribd company logo
CloudStack Networking

      Alex Huang
    November 5 2012
Outline

•   Design Goals
•   CloudStack Terminology
•   Architectural Model
•   Networking APIs
Design Goals
• Enable networking partners to innovate and
  differentiate.
• Give control and choice to the cloud operator.
• Simplify presentation to the end user.
• Enable developers to concentrate on
  innovation.
Explosion of Network Features
• L2
   – Physical, VLAN, L3 (anti-spoof), Overlay[GRE], SDN.
   – QoS, traffic monitoring, broadcast & multicast.
• L3
   – IPAM [DHCP], Public IP address management, Gateway, VPN,
     Firewall, Static NAT, Source NAT, Site-to-Site VPN, L3 ACLs
• L4
   – Security groups for L3-isolation, Stateful firewall for TCP, UDP
     and ICMP, Port forwarding
• L7
   – Loadbalancing, User-data, Password Change
• More will come
   – Key is CloudStack must not control innovation.
Enabling Innovation
• CloudStack must not define the innovation.
   – Partners define their own APIs.
   – Partners and CloudStack can work together on unified APIs
     through design process on Apache.
• Differentiate between orchestration and provisioning.
   – CloudStack only orchestrates.
   – Provisioning is always pushed to the partner.
• Clearly defined data center abstraction layer.
   – Changes in this layer are broadcasted to partners.
• Utilize CloudStack’s orchestration to deploy and auto-
  scale partners’ technologies.
CloudStack Terminology (End User)
• Network
   – A single concept to encapsulate multiple network technologies to simplify
     representation to the end user.
   – One Network to rule them all, One Network to define them, One Network to
     bring them all and in the cloud bind them.
   – Each Network always carries its Network Traffic Type.
   – CloudStack DOESN’T understand how to provision this conceptual network on
     to the physical network.
• NetworkService
   – L2-L7 network services that partners have written to operate within a
     Network.
   – Currently defined: Load Balancing, Port Forwarding, Firewall, Gateway, DNS,
     DHCP, Static NAT, VPN, Source NAT, User Data.
• NetworkOffering
   – A packaging of the NetworkServices provided to the end user on a particular
     Network.
   – NetworkOfferings are put together by cloud operator.
CloudStack Terminology (Operator)
• Network Traffic Type
   – Traffic types are mapped to the underlying physical
     network by the cloud operator.
   – Traffic type is not the same as network (Guest traffic type
     can actually be carried on multiple networks)
   – Currently defined: Public, Guest, Storage (Backup really),
     Management
• NetworkServiceProvider
   – Plugin that understands how to provide one or more
     NetworkServices by using VPX or physical resource.
• PhysicalNetwork
   – Actual wiring of the data center.
CloudStack Terminology (Partner)
•   NetworkGuru
     – Plugin that understands the network isolation technology, mac addressing scheme, and IP
       addressing scheme deployed and how to map Network Traffic Types to the underlying physical
       network.
     – CloudStack passes Network to NetworkGuru to “implement” before the network is needed by
       a virtual machine.
     – CloudStack asks the NetworkGuru to issue ip, mac, and isolation to a virtual machine before it
       starts.
     – CloudStack informs the NetworkGuru when a virtual machine stops so it can collect resources.
     – When all virtual machines in a Network are stopped, CloudStack garbage-collects the Network
       by asking the NetworkGuru to shutdown the network.
     – CloudStack provides a default implementation for VLAN based isolation technology.
•   NetworkElement
     – Interface that specifies the events CloudStack signals to the NetworkServiceProviders when a
       Network needs to be “implemented” and shutdown and when a virtual machine joins and
       leaves a Network.
“Architect” Model
•   The builder offers multiple blueprints for the owner to build the house.
•   Owner chooses on a blueprint and then adds on with additional enhancements
    such as hardwood floors, granite counter tops, etc.
•   General contractor builds to the blueprint by orchestrating between different sub-
    contractors to build different parts of the blueprint.
•   There are two general category of contractors.
     – Rough-in sub-contractors who take care of plumbing, electricity, framing, foundation.
     – Finish sub-contractors who put in flooring, kitchen cabinets etc.
•   Each sub-contractor is responsible for only their work but looks over the entire
    blueprint to make sure their work can actually be done.
     – E.g. A lighting plan may conflict or needs to change depending on the framing plan.
•   General contractor is responsible for sequencing the sub-contractors to make sure
    everything the sub-contractor is dependent on is ready when the sub-contractor
    arrives to do his work.
•   Every change requires a the blueprint to be republished so every sub-contractor
    can make their appropriate changes.
Comparison
Building a house                Building a network
• Owner                         • End user
• Builder                       • Cloud Operator
• General Contractor            • CloudStack Orchestration
• Rough-in Sub-Contractors      • NetworkGurus
• Finish Sub-Contractors        • NetworkServiceProviders
• Blueprint                     • Network
• Cabinets, Flooring, Counter   • NetworkServices
  Tops, etc
Architectural Principles
• CloudStack clearly defines the difference between orchestration
  and provisioning.
   – Orchestration the ordering of what needs to happen in CloudStack’s
     abstraction layer.
   – Provisioning is the actual work performed at the resource.
• CloudStack clearly defines the difference between network
  definition and network services.
   – Network definition is handled by NetworkGuru.
   – Network services is handled by NetworkServiceProvider.
• CloudStack broadcasts changes in the network every time
  NetworkServices and virtual machines changes in the Network.
• CloudStack allows the Cloud Operator to setup the appropriate
  mappings between virtual concepts such as Network and Network
  Traffic Type to the underlying physical network.
Sequence Flow for VM Creation                                               Kernel
                          End User         Security          User VM       VirtualMac       Network              Storage   Network      Job
                          Rest API         Checkers            Mgr          hine Mgr          Mgr                  Mgr      Guru     Scheduling
   Deploy VM
                                ACL Checks

                                     Allocate Entity in CS

                                                                  Allocate VM

                                                                                 Allocate NIC

                                                                                                   Allocate IP

                                                                                 Allocate Volume


                                Schedules Deploy Job


 Returns with job id, VM id


 Query Job Result


Returns with job status
Sequence Flow for VM Creation
                                                                                                                                      Deploymen    Server
                                User VM      VirtualMac     Network        Storage        Network         Network         Template         t
Job Threads     Services API                                                                                                                      Resources
                                  Mgr         hine Mgr        Mgr            Mgr           Guru           Element           Mgr        Planner



        Start VM

                       Start User VM

                                       Start VM

                                                   Get a Deployment Plan (Host and StoragePool)

                                                   Prepare Nics

                                                                     Reserve resources for Nic

                                                                      Notify that Nic is about to be started in network

                                                                                                                 Agent Calls

                                                   Prepare Volumes


                                                                                   Prepare template on Primary Storage
                                                                                                                               Agent Calls
                                                   Agent Start VM Call

       Stores job result
CloudStack User APIs [sample]
• Networks (L2)
  – createNetwork [requires network offering id],
  – deleteNetwork (A), listNetworks,
  – restartNetwork (A): restarts all devices (if allowed)
    supporting the network and re-applies
    configuration
  – updateNetwork: update network offering and
    restart network
Restarting and Cleaning Up a Guest Network

• Restarting the network will
  simply resend all the LB,
  Firewall and Port-Forwarding
  rules to the network provider
• Restarting the Network with
  “Clean up”:
 • restarting network elements - virtual
   routers, DHCP servers
 • If virtual router is used, it will be destroyed
   and recreated
 • Reapplying all public IPs to the network
   provider
 • Reapplying load-Balancing/Port-
   Forwarding/Firewall rules
Deleting a Guest Network

• An Isolated Guest Network can only be deleted if no VMs are
  using these network (e.g. Completely destroyed and expunged)
• Deleting a Network will Destroy the Virtual Router (if used) and
  will release the Public IPs back to the IP Pool
Extending CloudStack Networking
                                 2. prepare (Network, Nic, DeployDestination, VmInfo)
 1. prepare (part of start vm)


                     Network                           Network Element                           PluggableService
                     Manager



                                                       Needs to be added as of 5/2/2012                              Device Configuration
                                                                                                 MyDnsDeviceSer      Admin API (CRUD)
                                                            DnsService
                                                                                                     vice

                                                                         3. addDnsRecord(ip, fqdn)


Demonstrates one way to                                                                          MyDnsDeviceMa               MySQL
                                                          MyDnsElement
inform an external DNS                                                                               nager
server when an instance
starts.                                                                                                              AgentManag
                                                                            4.Enqueue AddDnsRecord                    er Queue
Classes shaded blue form a
plugin / service bundle to
integrate an external DNS                                                                        MyDnsDeviceRes
server. Clients of the                                                                               ource
instance can then use DNS
names to access the                                                                       5.API call to Dns Device
instance.

More Related Content

What's hot (20)

PDF
12th Japan CloudStack User Group Meetup MidoNet with scalable virtual router
Takeshi Nakajima
 
PDF
Hacking apache cloud stack
Murali Reddy
 
PDF
Networking in the Cloud Age (LISA 2012 Tutorial)
Chiradeep Vittal
 
PPTX
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
Chip Childers
 
PDF
Presentation cloud orchestration
xKinAnx
 
PPTX
CloudStack + SDN
Chiradeep Vittal
 
PDF
CloudStack Hyderabad Meetup: Using CloudStack to build IaaS clouds
CloudStack - Open Source Cloud Computing Project
 
PDF
2 architectural at CloudStack Developer Day
Kimihiko Kitase
 
PPT
DevCloud and CloudMonkey
Sebastien Goasguen
 
PPTX
CloudStack technical overview
CloudStack - Open Source Cloud Computing Project
 
PPTX
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
The Linux Foundation
 
PPT
CloudStack and SDN
Sebastien Goasguen
 
PPT
CloudStack for Java User Group
Sebastien Goasguen
 
PDF
The Network\'s IN the (virtualised) Server: Virtualized Io In Heterogeneous M...
scarisbrick
 
PDF
Hybrid Cloud Enablement Technologies
hybrid cloud
 
PPTX
Ca today here and_now_martin_vajda
mvajda62
 
PDF
Global Netflix - HPTS Workshop - Scaling Cassandra benchmark to over 1M write...
Adrian Cockcroft
 
PPTX
CloudStack Performance Testing
buildacloud
 
PPTX
Hitchhiker's Guide to Open Source Cloud Computing
Mark Hinkle
 
12th Japan CloudStack User Group Meetup MidoNet with scalable virtual router
Takeshi Nakajima
 
Hacking apache cloud stack
Murali Reddy
 
Networking in the Cloud Age (LISA 2012 Tutorial)
Chiradeep Vittal
 
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
Chip Childers
 
Presentation cloud orchestration
xKinAnx
 
CloudStack + SDN
Chiradeep Vittal
 
CloudStack Hyderabad Meetup: Using CloudStack to build IaaS clouds
CloudStack - Open Source Cloud Computing Project
 
2 architectural at CloudStack Developer Day
Kimihiko Kitase
 
DevCloud and CloudMonkey
Sebastien Goasguen
 
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
The Linux Foundation
 
CloudStack and SDN
Sebastien Goasguen
 
CloudStack for Java User Group
Sebastien Goasguen
 
The Network\'s IN the (virtualised) Server: Virtualized Io In Heterogeneous M...
scarisbrick
 
Hybrid Cloud Enablement Technologies
hybrid cloud
 
Ca today here and_now_martin_vajda
mvajda62
 
Global Netflix - HPTS Workshop - Scaling Cassandra benchmark to over 1M write...
Adrian Cockcroft
 
CloudStack Performance Testing
buildacloud
 
Hitchhiker's Guide to Open Source Cloud Computing
Mark Hinkle
 

Similar to 3 Networking CloudStack Developer Day (20)

PDF
Scalable Enterprise Ready Neutron Networking with Nuage Networks
Scott Sneddon
 
PDF
Network virtualization with open stack quantum
Miguel Lavalle
 
PDF
Learn OpenStack from trystack.cn ——Folsom in practice
OpenCity Community
 
PDF
VNG/IRD - Cloud computing & Openstack discussion 3/5/2014
Tran Nhan
 
PDF
Cloud computing OpenStack_discussion_2014-05
Le Cuong
 
PPTX
Cloud computing virtualization
Ayaz Shahid
 
PDF
Open stack networking_101_update_2014-os-meetups
yfauser
 
PPT
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
Eduardo Patrocinio
 
PPTX
Cloud stack overview
gavin_lee
 
PPTX
OpenStack Quantum: Cloud Carrier Summit 2012
Dan Wendlandt
 
PDF
Open stack networking_101_update_2014
yfauser
 
PDF
Nuage Networks, A Policy Driven Approach to SDN - Interop Tokyo 2014
Scott Sneddon
 
PPTX
OpenStack Quantum Intro (OS Meetup 3-26-12)
Dan Wendlandt
 
PPTX
Am 04 track1--salvatore orlando--openstack-apac-2012-final
OpenCity Community
 
PPTX
Quantum PTL Update - Grizzly Summit.pptx
OpenStack Foundation
 
PPTX
Quantum grizzly summit
Dan Wendlandt
 
KEY
OpenStack Boston User Group, OpenStack overview
Open Stack
 
PPTX
Quantum Folsom Summit Developer Overview
Dan Wendlandt
 
PPTX
Openstack Quantum yahoo meetup 1 23-13
Dan Wendlandt
 
PPT
Chep2012
Sebastien Goasguen
 
Scalable Enterprise Ready Neutron Networking with Nuage Networks
Scott Sneddon
 
Network virtualization with open stack quantum
Miguel Lavalle
 
Learn OpenStack from trystack.cn ——Folsom in practice
OpenCity Community
 
VNG/IRD - Cloud computing & Openstack discussion 3/5/2014
Tran Nhan
 
Cloud computing OpenStack_discussion_2014-05
Le Cuong
 
Cloud computing virtualization
Ayaz Shahid
 
Open stack networking_101_update_2014-os-meetups
yfauser
 
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
Eduardo Patrocinio
 
Cloud stack overview
gavin_lee
 
OpenStack Quantum: Cloud Carrier Summit 2012
Dan Wendlandt
 
Open stack networking_101_update_2014
yfauser
 
Nuage Networks, A Policy Driven Approach to SDN - Interop Tokyo 2014
Scott Sneddon
 
OpenStack Quantum Intro (OS Meetup 3-26-12)
Dan Wendlandt
 
Am 04 track1--salvatore orlando--openstack-apac-2012-final
OpenCity Community
 
Quantum PTL Update - Grizzly Summit.pptx
OpenStack Foundation
 
Quantum grizzly summit
Dan Wendlandt
 
OpenStack Boston User Group, OpenStack overview
Open Stack
 
Quantum Folsom Summit Developer Overview
Dan Wendlandt
 
Openstack Quantum yahoo meetup 1 23-13
Dan Wendlandt
 
Ad

More from Kimihiko Kitase (20)

PDF
ライトプランで利用可能な分析基盤「IBM Analytics Engine (IAE)」とは
Kimihiko Kitase
 
PDF
クラウドにおけるビッグデータ分析環境
Kimihiko Kitase
 
PDF
最新事例から学ぶビッグデータの活用法 #ocif16 #hortonworks
Kimihiko Kitase
 
PDF
Hortonworksが提供する データ活用方法の紹介
Kimihiko Kitase
 
PDF
Hadoop Summit 2016 San Jose レポート
Kimihiko Kitase
 
PDF
SoftLayer Bluemix Community Festa 2016 Program Guide
Kimihiko Kitase
 
PDF
2016年冬 IBMクラウド最新動向と概要
Kimihiko Kitase
 
PDF
2016年冬 IBMクラウド最新動向
Kimihiko Kitase
 
PDF
クラウドを活用した システム開発は適材適所
Kimihiko Kitase
 
PDF
Try IoT with Node-RED
Kimihiko Kitase
 
PDF
ホスティッドプライベートクラウド勉強会 ~Azure Pack on SoftLayer ~
Kimihiko Kitase
 
PDF
話題のNode-REDでIoTアプリを作ってみよう
Kimihiko Kitase
 
PDF
SoftLayer最新動向と賢い利用方法
Kimihiko Kitase
 
PDF
SoftLayer Bluemix Intro
Kimihiko Kitase
 
PDF
SoftLayer Bluemix Summit 2015 Flyer
Kimihiko Kitase
 
PDF
OSC15 Okinawa Intro SoftLayer and Bluemix
Kimihiko Kitase
 
PDF
Introduction of public cloud softlayer and bluemix
Kimihiko Kitase
 
PDF
SoftLayer Bluemix Summit 2015
Kimihiko Kitase
 
PDF
クラウドに構築したWebサイトのセキュリティ対策やグローバル展開について
Kimihiko Kitase
 
PDF
Introduction softlayer and bluemix
Kimihiko Kitase
 
ライトプランで利用可能な分析基盤「IBM Analytics Engine (IAE)」とは
Kimihiko Kitase
 
クラウドにおけるビッグデータ分析環境
Kimihiko Kitase
 
最新事例から学ぶビッグデータの活用法 #ocif16 #hortonworks
Kimihiko Kitase
 
Hortonworksが提供する データ活用方法の紹介
Kimihiko Kitase
 
Hadoop Summit 2016 San Jose レポート
Kimihiko Kitase
 
SoftLayer Bluemix Community Festa 2016 Program Guide
Kimihiko Kitase
 
2016年冬 IBMクラウド最新動向と概要
Kimihiko Kitase
 
2016年冬 IBMクラウド最新動向
Kimihiko Kitase
 
クラウドを活用した システム開発は適材適所
Kimihiko Kitase
 
Try IoT with Node-RED
Kimihiko Kitase
 
ホスティッドプライベートクラウド勉強会 ~Azure Pack on SoftLayer ~
Kimihiko Kitase
 
話題のNode-REDでIoTアプリを作ってみよう
Kimihiko Kitase
 
SoftLayer最新動向と賢い利用方法
Kimihiko Kitase
 
SoftLayer Bluemix Intro
Kimihiko Kitase
 
SoftLayer Bluemix Summit 2015 Flyer
Kimihiko Kitase
 
OSC15 Okinawa Intro SoftLayer and Bluemix
Kimihiko Kitase
 
Introduction of public cloud softlayer and bluemix
Kimihiko Kitase
 
SoftLayer Bluemix Summit 2015
Kimihiko Kitase
 
クラウドに構築したWebサイトのセキュリティ対策やグローバル展開について
Kimihiko Kitase
 
Introduction softlayer and bluemix
Kimihiko Kitase
 
Ad

Recently uploaded (20)

PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 

3 Networking CloudStack Developer Day

  • 1. CloudStack Networking Alex Huang November 5 2012
  • 2. Outline • Design Goals • CloudStack Terminology • Architectural Model • Networking APIs
  • 3. Design Goals • Enable networking partners to innovate and differentiate. • Give control and choice to the cloud operator. • Simplify presentation to the end user. • Enable developers to concentrate on innovation.
  • 4. Explosion of Network Features • L2 – Physical, VLAN, L3 (anti-spoof), Overlay[GRE], SDN. – QoS, traffic monitoring, broadcast & multicast. • L3 – IPAM [DHCP], Public IP address management, Gateway, VPN, Firewall, Static NAT, Source NAT, Site-to-Site VPN, L3 ACLs • L4 – Security groups for L3-isolation, Stateful firewall for TCP, UDP and ICMP, Port forwarding • L7 – Loadbalancing, User-data, Password Change • More will come – Key is CloudStack must not control innovation.
  • 5. Enabling Innovation • CloudStack must not define the innovation. – Partners define their own APIs. – Partners and CloudStack can work together on unified APIs through design process on Apache. • Differentiate between orchestration and provisioning. – CloudStack only orchestrates. – Provisioning is always pushed to the partner. • Clearly defined data center abstraction layer. – Changes in this layer are broadcasted to partners. • Utilize CloudStack’s orchestration to deploy and auto- scale partners’ technologies.
  • 6. CloudStack Terminology (End User) • Network – A single concept to encapsulate multiple network technologies to simplify representation to the end user. – One Network to rule them all, One Network to define them, One Network to bring them all and in the cloud bind them. – Each Network always carries its Network Traffic Type. – CloudStack DOESN’T understand how to provision this conceptual network on to the physical network. • NetworkService – L2-L7 network services that partners have written to operate within a Network. – Currently defined: Load Balancing, Port Forwarding, Firewall, Gateway, DNS, DHCP, Static NAT, VPN, Source NAT, User Data. • NetworkOffering – A packaging of the NetworkServices provided to the end user on a particular Network. – NetworkOfferings are put together by cloud operator.
  • 7. CloudStack Terminology (Operator) • Network Traffic Type – Traffic types are mapped to the underlying physical network by the cloud operator. – Traffic type is not the same as network (Guest traffic type can actually be carried on multiple networks) – Currently defined: Public, Guest, Storage (Backup really), Management • NetworkServiceProvider – Plugin that understands how to provide one or more NetworkServices by using VPX or physical resource. • PhysicalNetwork – Actual wiring of the data center.
  • 8. CloudStack Terminology (Partner) • NetworkGuru – Plugin that understands the network isolation technology, mac addressing scheme, and IP addressing scheme deployed and how to map Network Traffic Types to the underlying physical network. – CloudStack passes Network to NetworkGuru to “implement” before the network is needed by a virtual machine. – CloudStack asks the NetworkGuru to issue ip, mac, and isolation to a virtual machine before it starts. – CloudStack informs the NetworkGuru when a virtual machine stops so it can collect resources. – When all virtual machines in a Network are stopped, CloudStack garbage-collects the Network by asking the NetworkGuru to shutdown the network. – CloudStack provides a default implementation for VLAN based isolation technology. • NetworkElement – Interface that specifies the events CloudStack signals to the NetworkServiceProviders when a Network needs to be “implemented” and shutdown and when a virtual machine joins and leaves a Network.
  • 9. “Architect” Model • The builder offers multiple blueprints for the owner to build the house. • Owner chooses on a blueprint and then adds on with additional enhancements such as hardwood floors, granite counter tops, etc. • General contractor builds to the blueprint by orchestrating between different sub- contractors to build different parts of the blueprint. • There are two general category of contractors. – Rough-in sub-contractors who take care of plumbing, electricity, framing, foundation. – Finish sub-contractors who put in flooring, kitchen cabinets etc. • Each sub-contractor is responsible for only their work but looks over the entire blueprint to make sure their work can actually be done. – E.g. A lighting plan may conflict or needs to change depending on the framing plan. • General contractor is responsible for sequencing the sub-contractors to make sure everything the sub-contractor is dependent on is ready when the sub-contractor arrives to do his work. • Every change requires a the blueprint to be republished so every sub-contractor can make their appropriate changes.
  • 10. Comparison Building a house Building a network • Owner • End user • Builder • Cloud Operator • General Contractor • CloudStack Orchestration • Rough-in Sub-Contractors • NetworkGurus • Finish Sub-Contractors • NetworkServiceProviders • Blueprint • Network • Cabinets, Flooring, Counter • NetworkServices Tops, etc
  • 11. Architectural Principles • CloudStack clearly defines the difference between orchestration and provisioning. – Orchestration the ordering of what needs to happen in CloudStack’s abstraction layer. – Provisioning is the actual work performed at the resource. • CloudStack clearly defines the difference between network definition and network services. – Network definition is handled by NetworkGuru. – Network services is handled by NetworkServiceProvider. • CloudStack broadcasts changes in the network every time NetworkServices and virtual machines changes in the Network. • CloudStack allows the Cloud Operator to setup the appropriate mappings between virtual concepts such as Network and Network Traffic Type to the underlying physical network.
  • 12. Sequence Flow for VM Creation Kernel End User Security User VM VirtualMac Network Storage Network Job Rest API Checkers Mgr hine Mgr Mgr Mgr Guru Scheduling Deploy VM ACL Checks Allocate Entity in CS Allocate VM Allocate NIC Allocate IP Allocate Volume Schedules Deploy Job Returns with job id, VM id Query Job Result Returns with job status
  • 13. Sequence Flow for VM Creation Deploymen Server User VM VirtualMac Network Storage Network Network Template t Job Threads Services API Resources Mgr hine Mgr Mgr Mgr Guru Element Mgr Planner Start VM Start User VM Start VM Get a Deployment Plan (Host and StoragePool) Prepare Nics Reserve resources for Nic Notify that Nic is about to be started in network Agent Calls Prepare Volumes Prepare template on Primary Storage Agent Calls Agent Start VM Call Stores job result
  • 14. CloudStack User APIs [sample] • Networks (L2) – createNetwork [requires network offering id], – deleteNetwork (A), listNetworks, – restartNetwork (A): restarts all devices (if allowed) supporting the network and re-applies configuration – updateNetwork: update network offering and restart network
  • 15. Restarting and Cleaning Up a Guest Network • Restarting the network will simply resend all the LB, Firewall and Port-Forwarding rules to the network provider • Restarting the Network with “Clean up”: • restarting network elements - virtual routers, DHCP servers • If virtual router is used, it will be destroyed and recreated • Reapplying all public IPs to the network provider • Reapplying load-Balancing/Port- Forwarding/Firewall rules
  • 16. Deleting a Guest Network • An Isolated Guest Network can only be deleted if no VMs are using these network (e.g. Completely destroyed and expunged) • Deleting a Network will Destroy the Virtual Router (if used) and will release the Public IPs back to the IP Pool
  • 17. Extending CloudStack Networking 2. prepare (Network, Nic, DeployDestination, VmInfo) 1. prepare (part of start vm) Network Network Element PluggableService Manager Needs to be added as of 5/2/2012 Device Configuration MyDnsDeviceSer Admin API (CRUD) DnsService vice 3. addDnsRecord(ip, fqdn) Demonstrates one way to MyDnsDeviceMa MySQL MyDnsElement inform an external DNS nager server when an instance starts. AgentManag 4.Enqueue AddDnsRecord er Queue Classes shaded blue form a plugin / service bundle to integrate an external DNS MyDnsDeviceRes server. Clients of the ource instance can then use DNS names to access the 5.API call to Dns Device instance.