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.
Intro to Apache CloudStack David Nalley @firstname.lastname@example.org / email@example.com
#whoami• Recovering Sysadmin• F/LOSS contributor• Committer and PMC member for Apache CloudStack
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.
Graphical User Interface• CloudStack offers an administrators Web interface, used for provisioning and managing the cloud, as well as an end-users 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.
• 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.
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
Create Custom Virtual Machines via ServiceOfferings
Dashboard Provides Overview of Consumed Resources• Running, Stopped & Total VMs• Public IPs• Private networks• Latest Events
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
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
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
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
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
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
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)
Secondary Storage• Secondary Storage - provides storage for machine images and snapshots• Secondary Storage VM - provides stateless and scalable management and interaction with Secondary Storage.
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.
Virtual router• Lowest common denominator (so far) is a virtual machine.• Provides a number of services • DHCP • Routing • DNS • Loadbalancing • Firewall • NAT