Xen and Apache cloudstack


Published on

CloudStack, the world's leading open-source cloud infrastructure platform, was recently donated to the Apache Foundation, and is now an incubated Apache project. Ewan Mellor, Director of Engineering in the Citrix Cloud Platforms Group will describe the CloudStack project and explain why Xen is the pre-eminent hypervisor in public clouds today. He will describe the changes coming in CloudStack in the next 12 months, and how they are going to change the way that Xen is consumed in public and private clouds next year.

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • We’re an unusual Apache Incubator project. The code has been open-source for a long time (GPLv3) and it is a mature codebase (version 4.0 coming RSN). This has lead to a number of challenges. We’ve actually had developers say to us that they don’t want to get involved because it looks like all the problems are already solved!If there’s anything at all that comes out of this talk, I would like it to be for you all to know that there are actually plenty of interesting problems left to solve in cloud infrastructure! Hopefully some of you would like to get involved in those things too.
  • vSphere (ESX as we used to call it) is still a great hypervisor, and we rarely have problems with it. Of course, it comes with a cost, especially since you need the full richness of vCenter and the vSphere suite for monitoring and management. KVM is also a good hypervisor, but we have deeper integration with XenServer through the XenAPI, and the great work that the xapi team does. So XenServer tends to work better than KVM just because of the richer, easier integration that we can do.What doesn’t work so well?Things that we’ve already fixed! It is common for people to be running systems without hotfixes for known problems. Frustrating, but that’s a product quality issue in that we can’t rely on service providers to be running XenCenter to check for updates every day.People who don’t use PV drivers (surprisingly common). Providers often don’t control (or don’t want to control) the guest. Improving the delivery mechanisms for in-guest drivers and agents would make big difference.Storage going away. NFS servers can go bad, and that causes a real mess.
  • The management cluster includes a database cluster as well as the CloudStack servers themselves.
  • [ kevin: say what it does first (it stores VM disks) ]
  • [ 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 rackNetwork – Network is the logical and physical network associated with service offerings. Multiple concurrent network service offerings and topologies can be supported within CloudStackSecondary 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.
  • Xen and Apache cloudstack

    1. 1. Xen and CloudStackEwan MellorDirector, Engineering, Open-source Cloud PlatformsCitrix Systems
    2. 2. Agenda• What is CloudStack?• Move to the Apache Foundation• CloudStack architecture on Xen• The future for CloudStack• Developing on CloudStack
    3. 3. CloudStack is…• Infrastructure-as-a-Service software• For people to build Amazon-style clouds – either as a public service, – or as a private cloud within your own organization.
    4. 4. CloudStack is…Compute Hypervisor XenServer Oracle VM vSphere KVM Bare metalStorage Block & Object Fiber Local Disk iSCSI NFS Swift ChannelNetwork Network & Network Services Network Load Isolation Firewall VPN Type balancer
    5. 5. CloudStack versus OpenStackCloudStack OpenStackApache Foundation OpenStack Foundation(incubating) (founding in progress)2008-present 2010-presentJava PythonFairly centralized Aggressively distributedComplete solution More of a framework
    6. 6. Apache incubation• Citrix donated the CloudStack code to the Apache Software Foundation and Apache Incubator• The project now needs to prove that it can operate openly and independent of Citrix• If it can do that, it can be accepted as a top-level Apache project.
    7. 7. CloudStack and XenMost CloudStack users choose Xen or XenServer Xen VMware KVMIt is the combination that works the best!
    8. 8. CloudStack is…• A cluster of management servers• An orchestration engine• State and user management• Region, zone, pod, cluster model• A large collection of effectors• System VMs• Usage reporting• User interface
    9. 9. Users RouterManagementcluster Load balancer L3 core switchAccess layer switches Servers Secondary Storage Pod 1 Pod 2 Pod 3 Pod N
    10. 10. Two types of storage Primary storage• Stores virtual disks L3 switch• Configured at cluster level• Close to hosts for better performance• Requires high IOPS Pod 1 L2 switch Secondary Cluster 1 storage Host 1 Primary Secondary storage Host 2 storage• Stores templates, ISOs and snapshots• Configured at zone level• Zone can have one or more• High capacity, low cost
    11. 11. Users RouterManagementcluster Load balancer L3 core switchAccess layer switches Servers Secondary Storage Pod 1 Pod 2 Pod 3 Pod N
    12. 12. Networking features• Choice of network isolation – Physical, VLAN, L3 (anti-spoof), overlay (GRE)• Multiple networks – Shared networks, project networks• IPAM / DHCP• Gateway (inc VRRP)• VPN, stateful firewall, NAT, port forwarding• Traffic monitoring• Load balancing• User-data / password-change services
    13. 13. Virtual network topologiesCS Virtual Router provides network services External devices provide network services Guest network Guest networkPublic network Public network Guest Guest VM 1 VM 1 SRX CS firewall Guest Guest Virtual VM 2 VM 2 Router NetScaler DHCP, DNS, NAT, Guest Guest VM 3 LB VM 3 LB, VPN Guest Guest VM 4 VM 4 CS DHCP, DNS Virtual Router
    14. 14. Multi-tier virtual network topology Guest network Guest network Guest networkPublic network App VM 1 Web VM 1 SRX firewall App VM 2 Web VM 2 Netscaler Web VM LB 3 DB VM 1 Web VM 4 DHCP, DNS, CS DHCP, CS DHCP, DNS CS user-data Virtual DNS, Virtual user-data, Virtual Router user-data Router NAT, VPN Router Public network
    15. 15. Users RouterManagementcluster Load balancer L3 core switchAccess layer switches Servers Secondary Storage Pod 1 Pod 2 Pod 3 Pod N
    16. 16. Users RouterManagementcluster Load balancer L3 core switchAccess layer switches Servers Secondary Storage Pod 1 Pod 2 Pod 3 Pod N System VMs Customer VMs
    17. 17. Driver domainsControl domain Guest VMn Driver Domain(dom0) e.g. • Disk Apps • Network PV Back Ends PV Front Ends PV Back End HW Drivers HW Driver Guest OS Kernel Xen Hypervisor Host HWI/O Memory CPUs 18
    18. 18. The road ahead
    19. 19. The future for CloudStack• Disentangle some core components – Make it easier for people to work on subsystems – Make it easier to scale the API layers
    20. 20. S3 API system VM S3 API NFS, CIFS, HDFS, 3rd- party object S3 API VM store API, …S3 API Object store VM… … … (e.g., NetApp, Hadoop, …) S3 API VM
    21. 21. The future for CloudStack• Absorb new changes from Xen and XS – Storage migration – The Windsor architecture – I/O subsystem changes
    22. 22. The future for CloudStack• New object storage systems – Caringo CAStor – HDFS – Riak CS• New block storage systems – GlusterFS? – Ceph?• Open vSwitch / OpenFlow / VXLAN
    23. 23. DevCloud
    24. 24. DevCloud – What is inside?• VirtualBox VM – Xen Cloud Platform – Ubuntu 12.04 dom0 (aka Kronos) • JVM, Tomcat, developer tools • NFS server • MySQL – Working, pre-configured CloudStack – System VMs – Tiny Linux template
    25. 25. Why?• Eliminates – need for another machine / hypervisor – Primary and secondary storage – Networking, VLAN, etc – Install and configuration of environment• Disposable changes – Revert to snapshot
    26. 26. Run• Start the DevCloud VM from VirtualBox UI• Access the CloudStack UI – http://localhost:8080/client• Access the dom0 – ssh root@localhost –p 2222• From the UI, enable the zone – System VMs will start up
    27. 27. CloudStack architecture
    28. 28. Management Server Cluster  MS is stateless. MS can be deployed as physical server or VM MySQLUser API Management  Single MS node can Server Load manage up to 10K Balancer Replication hosts. Multiple nodesAdmin API Management can be deployed for Server scale or redundancy Replica Infrastructure Resources
    29. 29. Components• Hosts • Servers onto which services will be VM provisioned Host• Primary Storage Network VM • VM disk storage Host• Cluster Primar • A grouping of hosts and their associated y storage Storag e• Pod Cluster • Collection of clusters in the same failure boundary Seconda ry Cluster• Network Storage • Logical network associated with service offerings CloudStack Pod• Secondary Storage • Template, snapshot and ISO storage CloudStack Pod• Zone Zone • Collection of pods, network offerings and secondary storage
    30. 30. Deployment ArchitectureManagement Internet  Hypervisor is the basic Server Cluster unit of scale.Zone 1  Cluster consists of one ore more hosts of same L3 hypervisorPod 1 Pod N  All hosts in cluster have L2 Secondar access to shared …. y (primary) storage Cluster N Storage  Pod is one or more clusters, usually with L2 …. switches. Cluster 1  Availability Zone has one Host 1 or more pods, has Primary access to secondary Host 2 Storage storage.  One or more zones
    31. 31. DevCloud step-by-step
    32. 32. Overview• Install Virtual Box• Download DevCloud virtual machine• Install DevCloud VM• Run the VM• Login to the CloudStack GUI• Start a CloudStack VM.
    33. 33. Virtual Box• Download / install from Oracle• Ensure that VT-d and virtualization extensions are enabled in your laptop CPU• Recommend at least 2 GB for DevCloud VM
    34. 34. DevCloud VM• Download from http://download.cloud.com/templates/devcl oud/DevCloud.ova• Latest install instructions here: http://wiki.cloudstack.org/display/COMM/DevClo ud• Import DevCloud into VirtualBox – Change memory allocation to 2 GB• Snapshot for known good state