SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
David Nalley david@cloudstack.org
Twitter/identi.ca: @ke4qqq / IRC: ke4qqq in #cloudstack on freenode

BUILDING AN IAAS CLOUD WITH
APACHE CLOUDSTACK
Licensing
• This presentation and it’s contents unless
  otherwise noted are released under a Creative
  Commons Attributions, Share-Alike 3.0
  unported license and Apache Software License
  v2 at your discretion.
History
• Original company formed - 2008 (VMOps)
• Project open sourced (GPLv3) as CloudStack –
  May 2010
• Acquired by Citrix – July 2011
• Dropped open core – August 2011
• Relicensed under ASL v2 April 3, 2012
• Accepted as a Apache incubating project. April
  16, 2012
What is CloudStack?
Open Source Infrastructure as a Service platform
that supports multiple hypervisors, complex
network, firewall, load balancer and VPN
configurations, high availability, in a multi-
tenant environment.
What does it really do?
• Provide separation for the varied tenants
• Allocate compute resources in a deterministic manner
• Expose to the end user the ability to provision various
  computing services in a controlled manner (VLAN
  allocation, firewall rules, load balancer deployment,
  VM creation, etc)
• Manage High Availability
• Massively Scalable
• Permit the placement of resource limits to be applied
• Measuring usage over time
Multiple hypervisor support
•   KVM
•   XenServer
•   Xen Cloud Platform
•   VMware (via vCenter)
•   Oracle VM
•   Bare Metal
Multi-tenant Separation
• Largely built around abstraction from an end-user
  POV
  – No interaction with hypervisor directly
  – No knowledge of underlying storage
• Networking separation
  – Every account has at least one dedicated/isolated
    VLAN (Tagged Networking)
  – Layer 3 isolation aka Security Groups for untagged
    networking
• Option to use dedicated hardware
Networking
• CloudStack has a number of network models
• They are generally broken down by:
  – Method of isolation (VLAN, Security Groups)
  – Physical hardware or virtual
• CloudStack can manage network
  infrastructure
Networking
• Services managed by CloudStack
  – DHCP
  – VLAN allocation
  – Firewall
  – NAT/Port forwarding
  – Routing
  – VPN
  – Load Balancing
Networking
• CloudStack can also manage physical network
  hardware (or the virtualized alternatives)
  – F5-Big IP
  – NetScaler
  – Juniper SRX


• Additionally you can ‘mix and match’ some
  network elements as service offerings.
Security Groups
• Traditional isolation has been via VLAN
• VLANs isolate well, but have some problems
  scaling
  – Standard has a hard limit of 4096 VLANs
  – Hardware that can actually keep up with 4096 VLANs
    is VERY expensive.
  – Regardless people tend to not like having arbitrary
    limits on what they can do.
• Amazon and others use layer 3 isolation (Security
  Groups)
Security Groups
• Assumption of a quasi-trusted Layer 2
  network
• Typically will only have hypervisors directly
  connected to that network.
• Filtering/isolation occurs at the bridge device
  (from a Linux perspective – think ebtables)
• Deny by default
Security Groups
Security Groups
High Availability
• RFMTTR – but apparently HA looks better in
  marketing slicks and is used that way across the
  virtualization industry.
• CloudStack is not a magical solution for HA – but
  might be a useful tool in the process to increase
  availability.
• CloudStack will watch for HA-enabled VMs to
  ensure that they are up, and that the hypervisor
  it’s on is up – and will restart on another
  hypervisor if it goes down.
• Redundant router
Allocation Algorithms
• How do you place VMs?, allocate storage, etc.
• CloudStack ships with a number of options:
  – First Fit
  – Fill first
  – Disperse
  – Create your own
• Tags
• OS Preference
Usage
• Not billing per se – but does give you
  something to bill against.
• Usage stats show VM count, CPU usage, disk
  allocation and usage, network usage; all over
  time.
• Lots of integration and howto’s - from Excel
  spreadsheets to Ubersmith, Amysta, and
  Cloud Portal.
High level Architectural Overview




     © Copyright David Baird and licensed for reuse under CC-BY license
Secondary Storage
• Used for storing templates and snapshots
• Historically NFS – just added the option of
  object storage
  – Technically Swift, but Caringo, GlusterFS and
    others should work.
• Managed by Secondary Storage VM –
  manages moving templates and snapshots
  from/to primary storage, aging snapshots out,
  etc.
Primary Storage
• In the UI we support NFS, iSCSI, and CLVM.
• We can also make use of local storage
  – No HA, no live migration, etc.
• Shared mountpoint
  – Anything that all the hypervisors can mount and
    write to.
Resource division
• We have somewhat arbitrary divisions of
  resources within CloudStack
  – Zones
     • Pods
        – Clusters
Zone
• In general practice this is used to designate a
  specific geographic location.
• Shares secondary storage resource across the
  entire zone
• Single network model for the entire zone
Pod
• In general practice – this is used to refer a rack
  of machines or a row of racks.
• Shares guest network
Cluster
• This is typically a max of 8-15 machines per
  cluster and homogenity is enforced:
  – Same hypervisor (and same version of the
    hypervisor)
  – Same CPUs
  – Same networking (i.e. /dev/eth0 is connected to
    the same network across all machines)
• Primary storage is cluster specific
Plethora of Networks
• Management Network: Where the hypervisors and
  management server communicate
• Private Network: Default network for system VMs.
  (virtual router, secondary storage VM, Console proxy
  VM)
• Public Network: The public (often internet-facing
  network)
• Guest Network: The network that VMs are provisioned
  on.
• Link-local network: The RFC 3927 network used for
  communication between hypervisor and system VMs.
Management Server
• UI/API pieces are stateless (state is stored in a
  MySQL database.
• All UI functionality is an API call
API
• RESTful API interface
  – Unauthenticated API interace on 8096 (for localhost,
    disabled by default)
  – Authenticated API interface natively on port 8080
  – Responses in XML or JSON
  – http://demo4.cloudstack.org/client/api?apikey=ZRFLi
    XIkmAHqgRmZzdiXMfaROyK35P_dXxS517WSa9Tmy1H
    g&command=deployVirtualMachine&serviceofferingi
    d=1&templateid=291&zoneid=1&signature=eXW%2fxf
    qx%2fhu%2frMreFksVsp3cT4M%3d
UI
• Go play with the UI
Questions
• ASK!
Contact
•   http://cloudstack.org
•   Docs: http://docs.cloudstack.org
•   IRC: #cloudstack on Freenode
•   Twitter/identi.ca: @cloudstack
•   Mailing Lists
    – cloudstack-users@incubator.apache.org
    – cloudstack-dev@incubator.apache.org

• Forums

Mais conteúdo relacionado

Mais procurados

Cloud stack design camp on jun 15
Cloud stack design camp on jun 15Cloud stack design camp on jun 15
Cloud stack design camp on jun 15
Isaac Chiang
 
Hacking apache cloud stack
Hacking apache cloud stackHacking apache cloud stack
Hacking apache cloud stack
Nitin Mehta
 

Mais procurados (20)

Cloud stack overview
Cloud stack overviewCloud stack overview
Cloud stack overview
 
CloudStack Architecture
CloudStack ArchitectureCloudStack Architecture
CloudStack Architecture
 
Ceph and Apache CloudStack
Ceph and Apache CloudStackCeph and Apache CloudStack
Ceph and Apache CloudStack
 
Introduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David NalleyIntroduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David Nalley
 
CloudStack Networking at CloudOpen Japan
CloudStack Networking at CloudOpen JapanCloudStack Networking at CloudOpen Japan
CloudStack Networking at CloudOpen Japan
 
Introduction to CloudStack
Introduction to CloudStack Introduction to CloudStack
Introduction to CloudStack
 
Introduction to CloudStack Networking
Introduction to CloudStack NetworkingIntroduction to CloudStack Networking
Introduction to CloudStack Networking
 
CloudStack Architecture and Refactor
CloudStack Architecture and RefactorCloudStack Architecture and Refactor
CloudStack Architecture and Refactor
 
Apache CloudStack: API to UI (STLLUG)
Apache CloudStack: API to UI (STLLUG)Apache CloudStack: API to UI (STLLUG)
Apache CloudStack: API to UI (STLLUG)
 
XenServer Virtualization In Cloud Environments
XenServer Virtualization In Cloud EnvironmentsXenServer Virtualization In Cloud Environments
XenServer Virtualization In Cloud Environments
 
Cloud stack design camp on jun 15
Cloud stack design camp on jun 15Cloud stack design camp on jun 15
Cloud stack design camp on jun 15
 
Hacking apache cloud stack
Hacking apache cloud stackHacking apache cloud stack
Hacking apache cloud stack
 
vBACD - Deploying Infrastructure-as-a-Service with CloudStack - 2/28
vBACD - Deploying Infrastructure-as-a-Service with CloudStack - 2/28vBACD - Deploying Infrastructure-as-a-Service with CloudStack - 2/28
vBACD - Deploying Infrastructure-as-a-Service with CloudStack - 2/28
 
CloudStack vs Openstack
CloudStack vs OpenstackCloudStack vs Openstack
CloudStack vs Openstack
 
Implementing CloudStack's VPC feature
Implementing CloudStack's VPC featureImplementing CloudStack's VPC feature
Implementing CloudStack's VPC feature
 
Performance out
Performance outPerformance out
Performance out
 
Xenserver Networking
Xenserver NetworkingXenserver Networking
Xenserver Networking
 
CloudStack Hyderabad Meetup: How the Apache community works
CloudStack Hyderabad Meetup: How the Apache community worksCloudStack Hyderabad Meetup: How the Apache community works
CloudStack Hyderabad Meetup: How the Apache community works
 
2 architectural at CloudStack Developer Day
2  architectural at CloudStack Developer Day2  architectural at CloudStack Developer Day
2 architectural at CloudStack Developer Day
 
Intro to CloudStack Build a Cloud Day
Intro to CloudStack Build a Cloud DayIntro to CloudStack Build a Cloud Day
Intro to CloudStack Build a Cloud Day
 

Semelhante a CloudStack - LinuxFest NorthWest

Virtualization 101 - DeepDive
Virtualization 101 - DeepDiveVirtualization 101 - DeepDive
Virtualization 101 - DeepDive
Amit Agarwal
 

Semelhante a CloudStack - LinuxFest NorthWest (20)

The Future of SDN in CloudStack by Chiradeep Vittal
The Future of SDN in CloudStack by Chiradeep VittalThe Future of SDN in CloudStack by Chiradeep Vittal
The Future of SDN in CloudStack by Chiradeep Vittal
 
Cloudstack for beginners
Cloudstack for beginnersCloudstack for beginners
Cloudstack for beginners
 
Open stack ha design & deployment kilo
Open stack ha design & deployment   kiloOpen stack ha design & deployment   kilo
Open stack ha design & deployment kilo
 
CloudStack Overview
CloudStack OverviewCloudStack Overview
CloudStack Overview
 
Directions for CloudStack Networking
Directions for CloudStack  NetworkingDirections for CloudStack  Networking
Directions for CloudStack Networking
 
CloudStack and SDN
CloudStack and SDNCloudStack and SDN
CloudStack and SDN
 
9-cloud-computing.pdf
9-cloud-computing.pdf9-cloud-computing.pdf
9-cloud-computing.pdf
 
CloudStack Build A Cloud Day (SCaLE 2013)
CloudStack Build A Cloud Day (SCaLE 2013)CloudStack Build A Cloud Day (SCaLE 2013)
CloudStack Build A Cloud Day (SCaLE 2013)
 
Virtualization 101 - DeepDive
Virtualization 101 - DeepDiveVirtualization 101 - DeepDive
Virtualization 101 - DeepDive
 
RedHat OpenStack Platform Overview
RedHat OpenStack Platform OverviewRedHat OpenStack Platform Overview
RedHat OpenStack Platform Overview
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
 
Climb Technical Overview
Climb Technical OverviewClimb Technical Overview
Climb Technical Overview
 
OpenStack and Windows
OpenStack and WindowsOpenStack and Windows
OpenStack and Windows
 
Scalable networking in Apache CloudStack
Scalable networking in Apache CloudStackScalable networking in Apache CloudStack
Scalable networking in Apache CloudStack
 
OpenStack: Toward a More Resilient Cloud
OpenStack: Toward a More Resilient CloudOpenStack: Toward a More Resilient Cloud
OpenStack: Toward a More Resilient Cloud
 
Hybrid Cloud Tutorial Linkedin 2
Hybrid Cloud Tutorial Linkedin 2Hybrid Cloud Tutorial Linkedin 2
Hybrid Cloud Tutorial Linkedin 2
 
Decisions behind hypervisor selection in CloudStack 4.3
Decisions behind hypervisor selection in CloudStack 4.3Decisions behind hypervisor selection in CloudStack 4.3
Decisions behind hypervisor selection in CloudStack 4.3
 
2014-09-15 cloud platform master class
2014-09-15 cloud platform master class2014-09-15 cloud platform master class
2014-09-15 cloud platform master class
 
Intro to CloudStack
Intro to CloudStackIntro to CloudStack
Intro to CloudStack
 
Introduction to CloudStack: How to Deploy and Manage Infrastructure-as-a-Serv...
Introduction to CloudStack: How to Deploy and Manage Infrastructure-as-a-Serv...Introduction to CloudStack: How to Deploy and Manage Infrastructure-as-a-Serv...
Introduction to CloudStack: How to Deploy and Manage Infrastructure-as-a-Serv...
 

Mais de ke4qqq

Understanding the CloudStack Release Process
Understanding the CloudStack Release ProcessUnderstanding the CloudStack Release Process
Understanding the CloudStack Release Process
ke4qqq
 
Infrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStackInfrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStack
ke4qqq
 
Puppet and CloudStack
Puppet and CloudStackPuppet and CloudStack
Puppet and CloudStack
ke4qqq
 
Puppetpreso
PuppetpresoPuppetpreso
Puppetpreso
ke4qqq
 
Bacd zenoss
Bacd zenossBacd zenoss
Bacd zenoss
ke4qqq
 
Build a Cloud Day - CloudStack
Build a Cloud Day - CloudStackBuild a Cloud Day - CloudStack
Build a Cloud Day - CloudStack
ke4qqq
 
Successfully deploy build manage your cloud with cloud stack2
Successfully deploy build manage your cloud with cloud stack2Successfully deploy build manage your cloud with cloud stack2
Successfully deploy build manage your cloud with cloud stack2
ke4qqq
 

Mais de ke4qqq (19)

The Tragedy of Open Source
The Tragedy of Open SourceThe Tragedy of Open Source
The Tragedy of Open Source
 
On-demand Continuous Integration with Jenkins, jclouds, and CloudStack
On-demand Continuous Integration with Jenkins, jclouds, and CloudStackOn-demand Continuous Integration with Jenkins, jclouds, and CloudStack
On-demand Continuous Integration with Jenkins, jclouds, and CloudStack
 
Cloud Innovation and Risks
Cloud Innovation and RisksCloud Innovation and Risks
Cloud Innovation and Risks
 
Understanding the CloudStack Release Process
Understanding the CloudStack Release ProcessUnderstanding the CloudStack Release Process
Understanding the CloudStack Release Process
 
ApacheConEU Keynote: What is the value of the Apache Software Foundation
ApacheConEU Keynote: What is the value of the Apache Software FoundationApacheConEU Keynote: What is the value of the Apache Software Foundation
ApacheConEU Keynote: What is the value of the Apache Software Foundation
 
It's not tools, Stupid
It's not tools, StupidIt's not tools, Stupid
It's not tools, Stupid
 
Infrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStackInfrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStack
 
DevOps, Cloud, and the Death of Backup Tape Changers
DevOps, Cloud, and the Death of Backup Tape ChangersDevOps, Cloud, and the Death of Backup Tape Changers
DevOps, Cloud, and the Death of Backup Tape Changers
 
Building a Dev/Test Cloud with Apache CloudStack
Building a Dev/Test Cloud with Apache CloudStackBuilding a Dev/Test Cloud with Apache CloudStack
Building a Dev/Test Cloud with Apache CloudStack
 
Building a Dev/Test Cloud with Apache CloudStack
Building a Dev/Test Cloud with Apache CloudStackBuilding a Dev/Test Cloud with Apache CloudStack
Building a Dev/Test Cloud with Apache CloudStack
 
10 Minute Overview of Apache CloudStack
10 Minute Overview of Apache CloudStack10 Minute Overview of Apache CloudStack
10 Minute Overview of Apache CloudStack
 
CloudStack Intro NYC
CloudStack Intro NYCCloudStack Intro NYC
CloudStack Intro NYC
 
Infrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStackInfrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStack
 
Puppet and CloudStack
Puppet and CloudStackPuppet and CloudStack
Puppet and CloudStack
 
Puppetpreso
PuppetpresoPuppetpreso
Puppetpreso
 
Bacd zenoss
Bacd zenossBacd zenoss
Bacd zenoss
 
Build a Cloud Day - CloudStack
Build a Cloud Day - CloudStackBuild a Cloud Day - CloudStack
Build a Cloud Day - CloudStack
 
Build a Cloud Day - CloudStack
Build a Cloud Day - CloudStackBuild a Cloud Day - CloudStack
Build a Cloud Day - CloudStack
 
Successfully deploy build manage your cloud with cloud stack2
Successfully deploy build manage your cloud with cloud stack2Successfully deploy build manage your cloud with cloud stack2
Successfully deploy build manage your cloud with cloud stack2
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

CloudStack - LinuxFest NorthWest

  • 1. David Nalley david@cloudstack.org Twitter/identi.ca: @ke4qqq / IRC: ke4qqq in #cloudstack on freenode BUILDING AN IAAS CLOUD WITH APACHE CLOUDSTACK
  • 2. Licensing • This presentation and it’s contents unless otherwise noted are released under a Creative Commons Attributions, Share-Alike 3.0 unported license and Apache Software License v2 at your discretion.
  • 3. History • Original company formed - 2008 (VMOps) • Project open sourced (GPLv3) as CloudStack – May 2010 • Acquired by Citrix – July 2011 • Dropped open core – August 2011 • Relicensed under ASL v2 April 3, 2012 • Accepted as a Apache incubating project. April 16, 2012
  • 4. What is CloudStack? Open Source Infrastructure as a Service platform that supports multiple hypervisors, complex network, firewall, load balancer and VPN configurations, high availability, in a multi- tenant environment.
  • 5. What does it really do? • Provide separation for the varied tenants • Allocate compute resources in a deterministic manner • Expose to the end user the ability to provision various computing services in a controlled manner (VLAN allocation, firewall rules, load balancer deployment, VM creation, etc) • Manage High Availability • Massively Scalable • Permit the placement of resource limits to be applied • Measuring usage over time
  • 6. Multiple hypervisor support • KVM • XenServer • Xen Cloud Platform • VMware (via vCenter) • Oracle VM • Bare Metal
  • 7. Multi-tenant Separation • Largely built around abstraction from an end-user POV – No interaction with hypervisor directly – No knowledge of underlying storage • Networking separation – Every account has at least one dedicated/isolated VLAN (Tagged Networking) – Layer 3 isolation aka Security Groups for untagged networking • Option to use dedicated hardware
  • 8. Networking • CloudStack has a number of network models • They are generally broken down by: – Method of isolation (VLAN, Security Groups) – Physical hardware or virtual • CloudStack can manage network infrastructure
  • 9. Networking • Services managed by CloudStack – DHCP – VLAN allocation – Firewall – NAT/Port forwarding – Routing – VPN – Load Balancing
  • 10. Networking • CloudStack can also manage physical network hardware (or the virtualized alternatives) – F5-Big IP – NetScaler – Juniper SRX • Additionally you can ‘mix and match’ some network elements as service offerings.
  • 11. Security Groups • Traditional isolation has been via VLAN • VLANs isolate well, but have some problems scaling – Standard has a hard limit of 4096 VLANs – Hardware that can actually keep up with 4096 VLANs is VERY expensive. – Regardless people tend to not like having arbitrary limits on what they can do. • Amazon and others use layer 3 isolation (Security Groups)
  • 12. Security Groups • Assumption of a quasi-trusted Layer 2 network • Typically will only have hypervisors directly connected to that network. • Filtering/isolation occurs at the bridge device (from a Linux perspective – think ebtables) • Deny by default
  • 15. High Availability • RFMTTR – but apparently HA looks better in marketing slicks and is used that way across the virtualization industry. • CloudStack is not a magical solution for HA – but might be a useful tool in the process to increase availability. • CloudStack will watch for HA-enabled VMs to ensure that they are up, and that the hypervisor it’s on is up – and will restart on another hypervisor if it goes down. • Redundant router
  • 16. Allocation Algorithms • How do you place VMs?, allocate storage, etc. • CloudStack ships with a number of options: – First Fit – Fill first – Disperse – Create your own • Tags • OS Preference
  • 17. Usage • Not billing per se – but does give you something to bill against. • Usage stats show VM count, CPU usage, disk allocation and usage, network usage; all over time. • Lots of integration and howto’s - from Excel spreadsheets to Ubersmith, Amysta, and Cloud Portal.
  • 18. High level Architectural Overview © Copyright David Baird and licensed for reuse under CC-BY license
  • 19. Secondary Storage • Used for storing templates and snapshots • Historically NFS – just added the option of object storage – Technically Swift, but Caringo, GlusterFS and others should work. • Managed by Secondary Storage VM – manages moving templates and snapshots from/to primary storage, aging snapshots out, etc.
  • 20. Primary Storage • In the UI we support NFS, iSCSI, and CLVM. • We can also make use of local storage – No HA, no live migration, etc. • Shared mountpoint – Anything that all the hypervisors can mount and write to.
  • 21. Resource division • We have somewhat arbitrary divisions of resources within CloudStack – Zones • Pods – Clusters
  • 22. Zone • In general practice this is used to designate a specific geographic location. • Shares secondary storage resource across the entire zone • Single network model for the entire zone
  • 23. Pod • In general practice – this is used to refer a rack of machines or a row of racks. • Shares guest network
  • 24. Cluster • This is typically a max of 8-15 machines per cluster and homogenity is enforced: – Same hypervisor (and same version of the hypervisor) – Same CPUs – Same networking (i.e. /dev/eth0 is connected to the same network across all machines) • Primary storage is cluster specific
  • 25. Plethora of Networks • Management Network: Where the hypervisors and management server communicate • Private Network: Default network for system VMs. (virtual router, secondary storage VM, Console proxy VM) • Public Network: The public (often internet-facing network) • Guest Network: The network that VMs are provisioned on. • Link-local network: The RFC 3927 network used for communication between hypervisor and system VMs.
  • 26. Management Server • UI/API pieces are stateless (state is stored in a MySQL database. • All UI functionality is an API call
  • 27. API • RESTful API interface – Unauthenticated API interace on 8096 (for localhost, disabled by default) – Authenticated API interface natively on port 8080 – Responses in XML or JSON – http://demo4.cloudstack.org/client/api?apikey=ZRFLi XIkmAHqgRmZzdiXMfaROyK35P_dXxS517WSa9Tmy1H g&command=deployVirtualMachine&serviceofferingi d=1&templateid=291&zoneid=1&signature=eXW%2fxf qx%2fhu%2frMreFksVsp3cT4M%3d
  • 28. UI • Go play with the UI
  • 30. Contact • http://cloudstack.org • Docs: http://docs.cloudstack.org • IRC: #cloudstack on Freenode • Twitter/identi.ca: @cloudstack • Mailing Lists – cloudstack-users@incubator.apache.org – cloudstack-dev@incubator.apache.org • Forums