5. What is Apache CloudStack?
• CloudStack is an open source Infrastructure-as
–a-Service (IaaS) orchestration platform that
enables users to build, manage and deploy
compute cloud environments.
• CloudStack is a Top-Level Project at the Apache
Software Foundation.
6. Graphical User Interface
• CloudStack offers an administrator's Web interface, used for
provisioning and managing the cloud, as well as an end-user's Web
interface, used for running VMs and managing VM templates.
• The UI can be customized to reflect the desired service provider
or enterprise look and feel.
7. • CloudStack Web Services Query HTTP API is loosely based on the
REST architecture and allows developers to create new
management solutions or integrate existing systems with
CloudStack. It supports output in both XML and JSON.
• EC2/S3 support (translation layer) is also present.
8. Benefits of CloudStack
Workforce Leverage
Self Service
Remove IT as a service delivery critical path
Management
Automation Reduce IT operational costs
Workload
Standardization Consistent application and service deployment
Capital Leverage
Usage Metering
Visibility into user and line of business usage
Centralized
Management Manage complete infrastructure, regardless of scale
Smarter
Virtualization Drive reduced capital requirements
10. Dashboard Provides Overview of Consumed Resources
• Running, Stopped & Total VMs
• Public IPs
• Private networks
• Latest Events
11. Virtual Machine Management
Users
Change
VM Operations Console Access VM Status
Service Offering
Start
• CPU Utilized 2 CPUs 4 CPUs
Stop 1 GB RAM 4 GB RAM
• Network Read
20 GB 200 GB
Restart • Network Writes
20 Mbps 100 Mbps
Destroy
12. Volume & Snapshot Management
Add / Delete VM 1
Volumes Volume
Create Templates Volume Template
from Volumes
Hourly Weekly
Schedule Now
Snapshots Daily Monthly
View Snapshot
History ….
12/2/2012 7.30 am 2/2/2012 7.30 am
13. Network & Network Services
• Create Networks and attach VMs
• Acquire public IP address for NAT &
load balancing
• Control traffic to VM using ingress and
egress firewall rules
• Set up rules to load balance traffic
between VMs
15. CloudStack Architecture
(OSS/BSS, Monitoring, Identity Management , Etc)
User Interface Developer API
Operational Integration Administrator End User Console Amazon*
Availability and Security Image Libraries
Integration API
snapshots LB HA Monitoring
Application Catalog
Dynamic Workload Management
Resource Management Custom Templates
Operating System ISOs
Servers Storage Network
Service Management (Metering, Accounts, etc.)
Virtualization Layer
Servers Network Storage
16. Cloud Infrastructure Overview - Summary
• One or more hosts grouped into a
cluster
Secondary
• One or more clusters grouped into a Management Storage
Server
pod
• One or more pods grouped into a
zone
• One or more zones controlled by MySQL
one management server Cloud_db
17. Components
• Hosts
• Servers onto which services will be provisioned VM
• Primary Storage Host
• VM disk storage Network
VM
• Cluster Host
• A grouping of hosts and their associated storage
Primary
• Pod Storage
• Collection of clusters in the same failure boundary
• Network Cluster
• Logical network associated with service offerings Secondary
Storage Cluster
• Secondary Storage
• Template, snapshot and ISO storage
CloudStack Pod
• Zone
• Collection of pods, network offerings and secondary storage
CloudStack Pod
• Management Server Farm
• Management and provisioning tasks
Zone
18. CloudStack Infrastructure -
Overview
• CloudStack provides a number of
‘infrastructure’ pieces, external to the
management server that provide scalable
services.
• Secondary Storage (SSVM)
• Console Proxy (CPVM)
• Virtual Router (VR or domR)
19. Secondary Storage
• Secondary Storage - provides
storage for machine images and
snapshots
• Secondary Storage VM - provides
stateless and scalable management
and interaction with Secondary
Storage.
20. Console Proxy
• Hypervisors provide access to
the ‘console’ of a virtual machine
generally via VNC.
• Accessing it requires direct
access to the hypervisor -
including credentials into the
hypervisor directly.
• CPVM proxies access to the
VNC session and provides access
control so that others can’t get
access.
• Automatically scales to handle
demand of console sessions.
• Provides an AJAX interface that
is usable on virtually any device.
21. Virtual router
• Lowest common denominator (so far) is a virtual machine.
• Provides a number of services
• DHCP
• Routing
• DNS
• Loadbalancing
• Firewall
• NAT
Editor's Notes
How many of you are using IaaS today? How many of those are using public cloud? Anyone using anything other than Amazon? Anyone work for a service provider? Any interesting use cases that folks want to talk about?
Empower users to “serve themselves”— removing IT from the critical path of the service delivery Automate previously labour intensive tasks, helping to reduce IT operation costs and deliver faster Reduces complexity and variability by using standard workloads which ensures consistency with each application and service deployment Retains visibility into resource allocation and line of business usage on a real-time level Increased server/admin ratio and delivers benefits of scale — even if deployed globally
The process of requesting a VM follows a simple wizard model. The user first starts by selecting which Zone the VM will be deployed into, then selects the service offering and any additional disks. The last step in the wizard is to select a network topology from the list of options defined for that service, zone and user.
User at a glance can see all the resources he is currently consuming, their current status and also get alerted on critical events related to his resources.
Once provisioned, user has full control of the virtual machines including it’s management. Based on the future needs, the user can even change the profile of the VM (i.e. increment or reduce resources) by changing the underlying service offering.
User also full access/control to the root and data disks. User can manage his data by adding/deleting volumes. He can also devise his back-up strategy by scheduling snapshots of the volumes as well as controlling how many snapshots CS should maintain. Based on the limits set by user, CloudStack cleans up the older snapshots automatically
User can determine the number of networks VM is on. He can control all incoming and outgoing traffic by setting up appropriate firewall rules. By default, for any VM deployed, CloudStack automatically sets up rules to stop all incoming traffic and allow all outgoing traffic. User can also set up load balancer rules to spread traffic among two or more VMs he owns.
Amazon APIs support is via CloudBridge (not to confuse with Citrix NetSCaler CloudBridge) which is a separate open source project. CloudBridge provides an Amazon EC2 compatible API accessible through both SOAP and REST web services. The EC2 API calls are translated to CloudStack API calls by CloudBridge. Clients can continue using existing EC2-compatible tools.
[ kevin: I think you want to define terms then use them in the deployment arch slide ] The core components of a CloudStack implementation are: Hosts – Hosts are servers from at least one of the supported virtualization providers. CloudStack fully supports hosts from multiple providers, but does not convert VM images from one hypervisor type to another. Depending on the hypervisor, a “host” may be a higher level concept. For example, in XenServer a CloudStack “host” is equivalent to a XenServer resource pool and the “host” entry is the pool master. Primary Storage – Primary storage is the hypervisor level storage containing the deployed VM storage. Primary storage options will vary by hypervisor, and depending upon the hypervisor selected, CloudStack may impose requirements upon it. Cluster – Host groups are combined into Clusters which contain the primary storage options for the Cluster. Primary storage isn’t shared outside of a Cluster. In the case of CloudStack, a Cluster in of itself does not imply modification of any clustering concept within the hypervisor. For example, in XenServer a resource pool is a host to CloudStack, and CloudStack does not create a super set of Cluster functionality for XenServer. Pod -- Host groups are combined first into Clusters and then into Pods. For many customers, a pod represents a high level physical concept like a server rack Network – Network is the logical and physical network associated with service offerings. Multiple concurrent network service offerings and topologies can be supported within CloudStack Secondary Storage – Secondary storage is the storage system used for template and ISO management. It also is where snapshot events occur. Zone – A zone is a collection pods to form some level of service availability. While Amazon EC2 defines an availability zone as a data center, CloudStack keeps the concept more abstract allowing cloud operators to have multiple availability zones within a given data center. Management Server Farm – The CloudStack management server farm is a grouping of CentOS/RHEL CloudStack servers forming a web farm, with an underlying MySQL cluster database. The management server farm can manage multiple Zones, and can be virtualized.