SlideShare a Scribd company logo
Deploying Apache CloudStack:
        From API to UI
          Joe Brockmeier
    PPMC Member Apache CloudStack
           jzb@apache.org
UGLY SLIDES AHEAD
What This Talk is About
•   What a Cloud Is and Challenges for IaaS
•   History and Overview of CloudStack
•   CloudStack’s Features and Capabilities
•   60 minutes (maybe more)
Five Six Characteristics of Clouds
•   On-Demand Self-Service
•   Broad Network Access
•   Resource Pooling
•   Rapid Elasticity
•   Measured Service
•   API Access
Cloud Service Models
     USER CLOUD a.k.a. SOFTWARE AS A SERVICE

     Single application, multi-tenancy, network-based, one-to-many delivery of
     applications, all users have same access to features.

     Examples: Salesforce.com, Google Docs, Red Hat Network/RHEL

     DEVELOPMENT CLOUD a.k.a. PLATFORM-AS-A-SERVICE

     Application developer model, Application deployed to an elastic service that
     autoscales, low administrative overhead. No concept of virtual machines or
     operating system. Code it and deploy it.

     Examples: VMware CloudFoundry, Google AppEngine, Windows Azure,
     Rackspace Sites, Red Hat OpenShift, Active State Stackato, Appfog

     SYSTEMS CLOUD a.k.a INFRASTRUCTURE-AS-A-SERVICE

     Servers and storage are made available in a scalable way over a network.

     Examples: EC2,Rackspace CloudFiles, OpenStack, CloudStack,
     Eucalyptus, OpenNebula
Deployment Models
Why Open Source?
History and more…

UNDERSTANDING CLOUDSTACK
What is Apache CloudStack?


Apache CloudStack is an open source IaaS
  that supports multiple hypervisors, high
            availability, complex
networking, firewall, load balancer, and VPN
configurations in a multi-tenant environment.
Specifically…
CloudStack is a set of applications that:
• Provides separation between tenants
• Handle allocating compute resources (inc.
  custom allocators)
• Let users provision compute resources
• Manages High Availability
• Massively scalable (thousands of nodes)
• Resource usage accounting
CloudStack History
• CloudStack began as VMOps (2008) later became
  Cloud.com.
• Cloud.com released as CloudStack under GPLv3
  (May 2010)
• Cloud.com acquired by Citrix (July 2011)
• Entirely open source (August 2011)
• Relicensed & proposed to Apache (April 3, 2012)
• Accepted as incubating project (April 16, 2012)
• First release (4.0.0-incubating) (November 6,
  2012)
• First minor release (4.0.1-incubating) (February
  12, 2013)
CloudStack UI
•   Reference Implementation of the API
•   Built with HTML 4, CSS, and jQuery
•   Uses Java Server Pages for localization
•   Three types of customizations
    – Minor (logo, minor CSS)
    – Major (adding/changing tabs, additional links)
    – Rewrite using API
Deploying Apache CloudStack from API to UI
Or Visually…
Architectural Overview (Basic)
Hypervisor Support
•   KVM
•   XenServer
•   Xen Cloud Platform
•   VMware via vCenter
•   Bare Metal via IPMI
CloudStack Terminology
           • Zone: Availability zone, aka
             Regions. Could be
             worldwide. Different data
             centers
           • Pods: Racks or aisles in a
             data center
           • Clusters: Group of
             machines with a common
             type of Hypervisor
           • Host: A Single server
           • Primary Storage: Shared
             storage across a cluster
           • Secondary Storage:
             Shared storage in a single
             Zone
CloudStack Architecture
                                    Internet          Hypervisor is the basic unit
  CloudStack
 Management                                            of scale.
    Server
Zone 1                                                Cluster consists of one ore
                                                       more hosts of same
                     L3 core                           hypervisor
                                                      All hosts in cluster have
Pod 1 Access Layer              Pod N                  access to shared (primary)
                                         Secondary     storage
                           ….             Storage
  Cluster N                                           Pod is one or more clusters,
                                                       usually with L2 switches.

      ….                                              Availability Zone has one or
                                                       more pods, has access to
  Cluster 1                                            secondary storage.

   Host 1                                             One or more zones
                Primary                                represent cloud
                Storage
   Host 2
CloudStack Storage
• Primary Storage:
   –   Anything that can be mounted on the node of a cluster.
   –   Cluster LVM…iSCSI…
   –   Holds disk images of running VMs
   –   Support for CEPH with KVM hypervisors
• Secondary Storage:
   –   Available across the zone
   –   Holds snapshots and templates (image repo)
   –   Can use OpenStack swift or any object store (Gluster FS…)
   –   New support for Caringo

• Can use NFS for both to start
• Storage abstraction refactoring underway in 4.1.0 and 4.2.0
Networking
• Extremely flexible to:
  – Provide isolation with VLANs
  – Provide isolation at L3 with shared L2 (scalability)
  – Support hardware devices that exposes API
  – Deployed on existing networking infrastructure
  – Support new networking paradigm (SDN)
     • Support for Nicira Virtual P
     • Extensive use of Open VSwitch
Management Server
• UI/API bits are stateless (state is stored in
  a MySQL database)
• All UI functionality is available as an API
  call
• Restful API
  – Unauthenticated API on 8096 for localhost
    (disabled by default)
  – Authenticated on port 8080
  – Responses in XML or JSON
Highly Scalable
• Up to 10K resources managed per
  management server node
• Internal testing w/software simulators
  shows up to 30K physical resources and
  30K VMs managed by 4 management
  server nodes.
• Real production deployments of tens of
  thousands of resources
• See Alex Huang’s presentation:
   http://is.gd/alexh_scale
CloudStack Allocation
• How are VMs placed, storage
  allocated, etc.?
• CloudStack has several defaults
  – First fit
  – Fill first
  – Disperse
• Don’t like those? Create your own!
• Allows over-provsioning
• OS Preference
High Availability
• RFMTTR – “really fast mean time to
  recovery.”
• CloudStack is not (alone) a magical HA
  solution.
• Watches HA-enabled VMs to ensure
  they’re up, and that the hypervisor it’s on
  is up. Will restart on another if the
  hypervisor goes down.
• Redundant router.
Load Balancing
• Uses HA Proxy
• CloudStack supports load-balancing for
  distributing traffic to its instances
• Choose between round-robin, source, or
  least connections
• Choose stickiness policy
  (source, lbcookie, appcookie)
Snapshots
• CloudStack allows you to take snapshots
  manually or set up recurring snapshots.
• Snapshots can be managed automagically
  (keep N number) and manually (delete
  snapshot manually).
• Can be turned into templates or volumes
  to be used by other instances.
CloudStack Networking
• CloudStack manages
  –   DHCP
  –   VLAN allocation
  –   Firewall
  –   NAT/Port forwarding
  –   Routing
  –   VPN
  –   Load Balancing
• CloudStack can manage physical network
  hardware (F5-Big IP, NetScaler, Juniper SRX)
CloudStack Networking Types
• CloudStack offers Basic and Advanced
  Networking
  – Basic: Easy, can only be one physical network
    • Every host, system VM, and guest instance has a
      unique IP
  – Advanced: Allows multiple physical networks
    • Each account has a public IP, assigned to virtual
      router, guest IP range (e.g. 10.0.1.10/24), and
      VLAN ID for the isolated guest network
    • Guests communicate via their own dedicated
      VLAN
CloudStack Networks
• Management Network: Used by hypervisors
  and management server to communicate
• Private Network: Default network for system
  VMs (virtual router, secondary storage
  VM, console proxy VM)
• Public Network: Public-facing (e.g. the
  Internet)
• Guest Network: Network VMs are provisioned
  on
• Link-local Network: Network used for
  communication between hypervisor and
  system VMs. (RFC 3927)
Security Groups
• Traditional isolation has been via VLAN
• VLANs provide isolation, but at the cost of
  scaling
  – Standard limit is 4,096 VLANs
  – Hardware that supports upper limit is
    expensive
  – What happens with 4,097?
• Amazon and others use Layer 3 isolation
  (Security Groups)
Security Groups
• Assumes a quasi-trusted Layer 2 network
• Filtering/isolation happens at the bridge
  level (think ebtables)
• Deny by default
Accounts, Domains, and Projects
• CloudStack has a top-level domain called
  ROOT
• You can create sub-domains
• You can create 3 types of
  accounts, admins, domain-admins, or users
• Projects can be used to hold resources for
  time-limited projects
• Supports LDAP integration
• CloudStack’s account system is very simple –
  don’t make it more complicated!
Usage Accounting
• Provides stats that can be used for billing
  (but is not a billing solution)
• Usage stats show: VM count, CPU
  usage, disk allocation and use, network
  usage over time.
• Integration howtos for importing to
  Excel, Ubersmith, Amysta, and Cloud
  Portal.
APIs
•   Root Admin, Domain Admin, User
•   Set of methods available over HTTP(S)
•   Authenticated on 8080 w/Keys
•   Unauthenticated on 8096 (off by default)
•   Python + Ruby clients available
Deploying Apache CloudStack from API to UI
AWS EC2 and S3 Compatibility
• Includes an EC2/S3 compatibility layer
• See:
  – http://wiki.cloudstack.org/display/RelOps/EC2+AP
    I+support+in+CloudStack
  – http://www.slideshare.net/sebastiengoasguen/clo
    udstack-ec2-configuration
• Euca Tools, Boto, etc. should work with
  CloudStack
CloudMonkey
• New ASF CloudStack CLI
• Python code, built using Marvin
• https://cwiki.apache.org/CLOUDSTACK/cl
  oudstack-cloudmonkey-cli.html
• Available from CloudStack source or pypi:
  – http://pypi.python.org/pypi/cloudmonkey/
Trying CloudStack
DevCloud
• DevCloud is a VirtualBox image w/nested virt.
• Grab the DevCloud image from:
http://wiki.cloudstack.org/display/COMM/DevCloud
• Log in via the GUI:
http://localhost:8080/client
• SSH to DevCloud:
ssh -p 2222 root@localhost
Username: admin            Password: password
• DevCloud KVM – effort to run DevCloud on a KVM
   host
CloudStack Runbook
• Minimal install (1 server)
• Written by David Nalley w/fixes from the
  community
• http://people.apache.org/~ke4qqq/runbook
  /
• Focuses on CentOS w/KVM – other
  runbooks in process for Ubuntu w/Xen or
  KVM.
Get Involved
• Main Site: CloudStack.org
• IRC: #cloudstack and #cloudstack-dev
• Follow @cloudstack on Twitter
• Lots of Presos:
  http://slideshare.net/cloudstack
• Mailing Lists:
  http://cloudstack.org/discuss/mailing-
  lists.html
Contact Me
Email: jzb@apache.org


Phone: +1 314-669-4JZB
(4592)

Blog: http://dissociatedpress.net/


Twitter:

More Related Content

PPTX
Apache CloudStack from API to UI
PDF
CloudStack-Developer-Day
PPTX
CloudStack Overview
PPTX
PPTX
PDF
2 architectural at CloudStack Developer Day
PDF
Hacking apache cloud stack
Apache CloudStack from API to UI
CloudStack-Developer-Day
CloudStack Overview
2 architectural at CloudStack Developer Day
Hacking apache cloud stack

What's hot (20)

PPTX
Apache CloudStack Architecture by Alex Huang
PDF
CloudStack Hyderabad Meetup: Using CloudStack to build IaaS clouds
PPTX
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
PDF
Cloud stack for_beginners
PPTX
Cloud stack overview
PPTX
Apache CloudStack: API to UI (STLLUG)
PPTX
Cloud stack overview
PPTX
Automating CloudStack and hypervisor installation and configuration
PDF
CloudStack Networking at CloudOpen Japan
PPTX
Introduction to CloudStack: How to Deploy and Manage Infrastructure-as-a-Serv...
PPTX
BACD July 2012 : The Xen Cloud Platform
PDF
CloudStack Architecture Future
PPTX
Xen and Apache cloudstack
PPT
Intro to CloudStack Build a Cloud Day
PPT
Introduction to Apache CloudStack by David Nalley
PPTX
Getting Started with Apache CloudStack
PPTX
Building clouds with apache cloudstack apache roadshow 2018
PDF
Decisions behind hypervisor selection in CloudStack 4.3
PDF
Ceph and Apache CloudStack
Apache CloudStack Architecture by Alex Huang
CloudStack Hyderabad Meetup: Using CloudStack to build IaaS clouds
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
Cloud stack for_beginners
Cloud stack overview
Apache CloudStack: API to UI (STLLUG)
Cloud stack overview
Automating CloudStack and hypervisor installation and configuration
CloudStack Networking at CloudOpen Japan
Introduction to CloudStack: How to Deploy and Manage Infrastructure-as-a-Serv...
BACD July 2012 : The Xen Cloud Platform
CloudStack Architecture Future
Xen and Apache cloudstack
Intro to CloudStack Build a Cloud Day
Introduction to Apache CloudStack by David Nalley
Getting Started with Apache CloudStack
Building clouds with apache cloudstack apache roadshow 2018
Decisions behind hypervisor selection in CloudStack 4.3
Ceph and Apache CloudStack
Ad

Viewers also liked (20)

PPTX
Financial Services in India
DOCX
Acacia’s patent monetization operating subsidiaries
PPS
Usaf Museum
PPTX
Crash course for designing projects
DOCX
Smartphone Patent Wars: Legal & Policy Issues of Standard Essential Patens in...
PPTX
UCSD Career Boost Career Revolution
PDF
Prfm programming 2
DOCX
IoT Smart Home Innovation R&D White Space Insights from Patents
PDF
1725077 374
PDF
Emerging Smartphone Killer Applications Insights from Patents
PDF
IoT Business Insights from Patents
PPT
Mobile patents in lawsuit
PPT
Prosvjed U Zagrebu
PDF
Immutability
PPT
Human Computer Interaction
PDF
Manuale minimo-delleconomia-politica-dellimmaginario
PPT
BiLogica - verslo analitikos paslaugos
DOCX
Internet of Things (IoT) Strategic Patent Development 4Q 2015
PPT
Human Computer Interaction
PDF
The First Monthly Magazine Of GCL
Financial Services in India
Acacia’s patent monetization operating subsidiaries
Usaf Museum
Crash course for designing projects
Smartphone Patent Wars: Legal & Policy Issues of Standard Essential Patens in...
UCSD Career Boost Career Revolution
Prfm programming 2
IoT Smart Home Innovation R&D White Space Insights from Patents
1725077 374
Emerging Smartphone Killer Applications Insights from Patents
IoT Business Insights from Patents
Mobile patents in lawsuit
Prosvjed U Zagrebu
Immutability
Human Computer Interaction
Manuale minimo-delleconomia-politica-dellimmaginario
BiLogica - verslo analitikos paslaugos
Internet of Things (IoT) Strategic Patent Development 4Q 2015
Human Computer Interaction
The First Monthly Magazine Of GCL
Ad

Similar to Deploying Apache CloudStack from API to UI (20)

PDF
Txlf2012
PDF
CloudStack - LinuxFest NorthWest
PPTX
Taking the open cloud to 11
PDF
2012 CloudStack Design Camp in Taiwan--- CloudStack Overview-1
PPTX
Open stack ha design & deployment kilo
PDF
CloudStack Architecture and Refactor
PPT
CloudStack and SDN
PDF
CloudStack Best Practice in PPTV
PPTX
What is cloud computing
PPTX
Introduction to CloudStack: How to Deploy and Manage Infrastructure-as-a-Serv...
PPTX
Intro to CloudStack
PPT
Scalable networking in Apache CloudStack
PDF
Business Intelligent
PPTX
XenServer Virtualization In Cloud Environments
PPTX
Climb Technical Overview
PPTX
OpenStack Framework Introduction
PPTX
Introduction to linux containers
PPTX
Cloud Computing Platform-CloudStack
PPT
MyCloud for $100k
PDF
Hacking apache cloud stack
Txlf2012
CloudStack - LinuxFest NorthWest
Taking the open cloud to 11
2012 CloudStack Design Camp in Taiwan--- CloudStack Overview-1
Open stack ha design & deployment kilo
CloudStack Architecture and Refactor
CloudStack and SDN
CloudStack Best Practice in PPTV
What is cloud computing
Introduction to CloudStack: How to Deploy and Manage Infrastructure-as-a-Serv...
Intro to CloudStack
Scalable networking in Apache CloudStack
Business Intelligent
XenServer Virtualization In Cloud Environments
Climb Technical Overview
OpenStack Framework Introduction
Introduction to linux containers
Cloud Computing Platform-CloudStack
MyCloud for $100k
Hacking apache cloud stack

More from Joe Brockmeier (8)

PDF
Thinking inside the box (shared)
PDF
Community Over Code: How to Build a Successful Project
PDF
Introduction to Atomic: Tailoring a Trusted OS for Containers
PDF
Sharing Apache's Goodness: How We Should be Telling Apache's Story
ODP
Solving the Package Problem
PDF
Apache CloudStack: From API to UI (NYLUG)
PDF
How I Learned to Stop Worrying, and Love Open Source Software Foundations
PDF
Bootstrapping coverage
Thinking inside the box (shared)
Community Over Code: How to Build a Successful Project
Introduction to Atomic: Tailoring a Trusted OS for Containers
Sharing Apache's Goodness: How We Should be Telling Apache's Story
Solving the Package Problem
Apache CloudStack: From API to UI (NYLUG)
How I Learned to Stop Worrying, and Love Open Source Software Foundations
Bootstrapping coverage

Recently uploaded (20)

PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
1. Introduction to Computer Programming.pptx
PDF
cuic standard and advanced reporting.pdf
PPT
Teaching material agriculture food technology
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PPTX
A Presentation on Artificial Intelligence
PPTX
Machine Learning_overview_presentation.pptx
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Encapsulation_ Review paper, used for researhc scholars
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
20250228 LYD VKU AI Blended-Learning.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Digital-Transformation-Roadmap-for-Companies.pptx
1. Introduction to Computer Programming.pptx
cuic standard and advanced reporting.pdf
Teaching material agriculture food technology
MIND Revenue Release Quarter 2 2025 Press Release
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
gpt5_lecture_notes_comprehensive_20250812015547.pdf
SOPHOS-XG Firewall Administrator PPT.pptx
A Presentation on Artificial Intelligence
Machine Learning_overview_presentation.pptx
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Spectral efficient network and resource selection model in 5G networks
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Build a system with the filesystem maintained by OSTree @ COSCUP 2025

Deploying Apache CloudStack from API to UI

  • 1. Deploying Apache CloudStack: From API to UI Joe Brockmeier PPMC Member Apache CloudStack [email protected]
  • 3. What This Talk is About • What a Cloud Is and Challenges for IaaS • History and Overview of CloudStack • CloudStack’s Features and Capabilities • 60 minutes (maybe more)
  • 4. Five Six Characteristics of Clouds • On-Demand Self-Service • Broad Network Access • Resource Pooling • Rapid Elasticity • Measured Service • API Access
  • 5. Cloud Service Models USER CLOUD a.k.a. SOFTWARE AS A SERVICE Single application, multi-tenancy, network-based, one-to-many delivery of applications, all users have same access to features. Examples: Salesforce.com, Google Docs, Red Hat Network/RHEL DEVELOPMENT CLOUD a.k.a. PLATFORM-AS-A-SERVICE Application developer model, Application deployed to an elastic service that autoscales, low administrative overhead. No concept of virtual machines or operating system. Code it and deploy it. Examples: VMware CloudFoundry, Google AppEngine, Windows Azure, Rackspace Sites, Red Hat OpenShift, Active State Stackato, Appfog SYSTEMS CLOUD a.k.a INFRASTRUCTURE-AS-A-SERVICE Servers and storage are made available in a scalable way over a network. Examples: EC2,Rackspace CloudFiles, OpenStack, CloudStack, Eucalyptus, OpenNebula
  • 9. What is Apache CloudStack? Apache CloudStack is an open source IaaS that supports multiple hypervisors, high availability, complex networking, firewall, load balancer, and VPN configurations in a multi-tenant environment.
  • 10. Specifically… CloudStack is a set of applications that: • Provides separation between tenants • Handle allocating compute resources (inc. custom allocators) • Let users provision compute resources • Manages High Availability • Massively scalable (thousands of nodes) • Resource usage accounting
  • 11. CloudStack History • CloudStack began as VMOps (2008) later became Cloud.com. • Cloud.com released as CloudStack under GPLv3 (May 2010) • Cloud.com acquired by Citrix (July 2011) • Entirely open source (August 2011) • Relicensed & proposed to Apache (April 3, 2012) • Accepted as incubating project (April 16, 2012) • First release (4.0.0-incubating) (November 6, 2012) • First minor release (4.0.1-incubating) (February 12, 2013)
  • 12. CloudStack UI • Reference Implementation of the API • Built with HTML 4, CSS, and jQuery • Uses Java Server Pages for localization • Three types of customizations – Minor (logo, minor CSS) – Major (adding/changing tabs, additional links) – Rewrite using API
  • 16. Hypervisor Support • KVM • XenServer • Xen Cloud Platform • VMware via vCenter • Bare Metal via IPMI
  • 17. CloudStack Terminology • Zone: Availability zone, aka Regions. Could be worldwide. Different data centers • Pods: Racks or aisles in a data center • Clusters: Group of machines with a common type of Hypervisor • Host: A Single server • Primary Storage: Shared storage across a cluster • Secondary Storage: Shared storage in a single Zone
  • 18. CloudStack Architecture Internet  Hypervisor is the basic unit CloudStack Management of scale. Server Zone 1  Cluster consists of one ore more hosts of same L3 core hypervisor  All hosts in cluster have Pod 1 Access Layer Pod N access to shared (primary) Secondary storage …. Storage Cluster N  Pod is one or more clusters, usually with L2 switches. ….  Availability Zone has one or more pods, has access to Cluster 1 secondary storage. Host 1  One or more zones Primary represent cloud Storage Host 2
  • 19. CloudStack Storage • Primary Storage: – Anything that can be mounted on the node of a cluster. – Cluster LVM…iSCSI… – Holds disk images of running VMs – Support for CEPH with KVM hypervisors • Secondary Storage: – Available across the zone – Holds snapshots and templates (image repo) – Can use OpenStack swift or any object store (Gluster FS…) – New support for Caringo • Can use NFS for both to start • Storage abstraction refactoring underway in 4.1.0 and 4.2.0
  • 20. Networking • Extremely flexible to: – Provide isolation with VLANs – Provide isolation at L3 with shared L2 (scalability) – Support hardware devices that exposes API – Deployed on existing networking infrastructure – Support new networking paradigm (SDN) • Support for Nicira Virtual P • Extensive use of Open VSwitch
  • 21. Management Server • UI/API bits are stateless (state is stored in a MySQL database) • All UI functionality is available as an API call • Restful API – Unauthenticated API on 8096 for localhost (disabled by default) – Authenticated on port 8080 – Responses in XML or JSON
  • 22. Highly Scalable • Up to 10K resources managed per management server node • Internal testing w/software simulators shows up to 30K physical resources and 30K VMs managed by 4 management server nodes. • Real production deployments of tens of thousands of resources • See Alex Huang’s presentation: http://is.gd/alexh_scale
  • 23. CloudStack Allocation • How are VMs placed, storage allocated, etc.? • CloudStack has several defaults – First fit – Fill first – Disperse • Don’t like those? Create your own! • Allows over-provsioning • OS Preference
  • 24. High Availability • RFMTTR – “really fast mean time to recovery.” • CloudStack is not (alone) a magical HA solution. • Watches HA-enabled VMs to ensure they’re up, and that the hypervisor it’s on is up. Will restart on another if the hypervisor goes down. • Redundant router.
  • 25. Load Balancing • Uses HA Proxy • CloudStack supports load-balancing for distributing traffic to its instances • Choose between round-robin, source, or least connections • Choose stickiness policy (source, lbcookie, appcookie)
  • 26. Snapshots • CloudStack allows you to take snapshots manually or set up recurring snapshots. • Snapshots can be managed automagically (keep N number) and manually (delete snapshot manually). • Can be turned into templates or volumes to be used by other instances.
  • 27. CloudStack Networking • CloudStack manages – DHCP – VLAN allocation – Firewall – NAT/Port forwarding – Routing – VPN – Load Balancing • CloudStack can manage physical network hardware (F5-Big IP, NetScaler, Juniper SRX)
  • 28. CloudStack Networking Types • CloudStack offers Basic and Advanced Networking – Basic: Easy, can only be one physical network • Every host, system VM, and guest instance has a unique IP – Advanced: Allows multiple physical networks • Each account has a public IP, assigned to virtual router, guest IP range (e.g. 10.0.1.10/24), and VLAN ID for the isolated guest network • Guests communicate via their own dedicated VLAN
  • 29. CloudStack Networks • Management Network: Used by hypervisors and management server to communicate • Private Network: Default network for system VMs (virtual router, secondary storage VM, console proxy VM) • Public Network: Public-facing (e.g. the Internet) • Guest Network: Network VMs are provisioned on • Link-local Network: Network used for communication between hypervisor and system VMs. (RFC 3927)
  • 30. Security Groups • Traditional isolation has been via VLAN • VLANs provide isolation, but at the cost of scaling – Standard limit is 4,096 VLANs – Hardware that supports upper limit is expensive – What happens with 4,097? • Amazon and others use Layer 3 isolation (Security Groups)
  • 31. Security Groups • Assumes a quasi-trusted Layer 2 network • Filtering/isolation happens at the bridge level (think ebtables) • Deny by default
  • 32. Accounts, Domains, and Projects • CloudStack has a top-level domain called ROOT • You can create sub-domains • You can create 3 types of accounts, admins, domain-admins, or users • Projects can be used to hold resources for time-limited projects • Supports LDAP integration • CloudStack’s account system is very simple – don’t make it more complicated!
  • 33. Usage Accounting • Provides stats that can be used for billing (but is not a billing solution) • Usage stats show: VM count, CPU usage, disk allocation and use, network usage over time. • Integration howtos for importing to Excel, Ubersmith, Amysta, and Cloud Portal.
  • 34. APIs • Root Admin, Domain Admin, User • Set of methods available over HTTP(S) • Authenticated on 8080 w/Keys • Unauthenticated on 8096 (off by default) • Python + Ruby clients available
  • 36. AWS EC2 and S3 Compatibility • Includes an EC2/S3 compatibility layer • See: – http://wiki.cloudstack.org/display/RelOps/EC2+AP I+support+in+CloudStack – http://www.slideshare.net/sebastiengoasguen/clo udstack-ec2-configuration • Euca Tools, Boto, etc. should work with CloudStack
  • 37. CloudMonkey • New ASF CloudStack CLI • Python code, built using Marvin • https://cwiki.apache.org/CLOUDSTACK/cl oudstack-cloudmonkey-cli.html • Available from CloudStack source or pypi: – http://pypi.python.org/pypi/cloudmonkey/
  • 39. DevCloud • DevCloud is a VirtualBox image w/nested virt. • Grab the DevCloud image from: http://wiki.cloudstack.org/display/COMM/DevCloud • Log in via the GUI: http://localhost:8080/client • SSH to DevCloud: ssh -p 2222 root@localhost Username: admin Password: password • DevCloud KVM – effort to run DevCloud on a KVM host
  • 40. CloudStack Runbook • Minimal install (1 server) • Written by David Nalley w/fixes from the community • http://people.apache.org/~ke4qqq/runbook / • Focuses on CentOS w/KVM – other runbooks in process for Ubuntu w/Xen or KVM.
  • 41. Get Involved • Main Site: CloudStack.org • IRC: #cloudstack and #cloudstack-dev • Follow @cloudstack on Twitter • Lots of Presos: http://slideshare.net/cloudstack • Mailing Lists: http://cloudstack.org/discuss/mailing- lists.html
  • 42. Contact Me Email: [email protected] Phone: +1 314-669-4JZB (4592) Blog: http://dissociatedpress.net/ Twitter:

Editor's Notes

  • #8: User-driven solutions to real problemsLower barrier to participationLarger user base of users helping users Aggressive release cycles stay current with the state-of-the-artChoice of infrastructureControl of data and securityAvoid lock-inOpen data, open standards, open APIs
  • #33: A user can belong to only one Account, .ie. the same User cannot belong to multiple Accounts.Whenever creating an account at any domain level it can be of two types - Admin or user. If account == Admin then he will be domain admin of that domain and if created with type=user he will be a regular account under that domain.Admin created at ROOT level is called ROOT admin and since ROOT is the top domain he has privileges to act on all the resources.Username is unique in a Domain across Accounts in that Domain. The same username can exist in other domains, including subdomains.Account name is unique in a domain. The same Account name can exist in other domains, including subdomains.Domain name can repeat as long as the full pathname from ROOT is unique. For ex, you can have ROOT/d1, as well as ROOT/foo/d1, and ROOT/bar/d1.Resources belong to an Account, not individual users in that account. Billing, resource limits etc are maintained by Account, not usernames.CloudStack allows to create 3 different types of accounts --> admin/domain-admin or user account. All the roles (admin, domain admins and user) are attached at account level.Under the account all the users have the same privileges. There are no role based users in one account.We can have multiple admins for the same domain.All the domains get created under the ROOT domain.