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.
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Xen and Apache cloudstack
1. Xen and CloudStack
Ewan Mellor
Director, Engineering, Open-source Cloud Platforms
Citrix Systems
2. Agenda
• What is CloudStack?
• Move to the Apache Foundation
• CloudStack architecture on Xen
• The future for CloudStack
• Developing on CloudStack
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. CloudStack is…
Compute Hypervisor
XenServer Oracle VM vSphere KVM Bare metal
Storage Block & Object
Fiber
Local Disk iSCSI NFS Swift
Channel
Network Network & Network Services
Network Load
Isolation Firewall VPN
Type balancer
5.
6. CloudStack versus OpenStack
CloudStack OpenStack
Apache Foundation OpenStack Foundation
(incubating) (founding in progress)
2008-present 2010-present
Java Python
Fairly centralized Aggressively distributed
Complete solution More of a framework
7. 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.
8. CloudStack and Xen
Most CloudStack users choose Xen or XenServer
Xen
VMware
KVM
It is the combination that works the best!
9. 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
10. Users
Router
Management
cluster Load balancer
L3 core switch
Access layer
switches
Servers Secondary
Storage
Pod 1 Pod 2 Pod 3 Pod N
11. 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
12. Users
Router
Management
cluster Load balancer
L3 core switch
Access layer
switches
Servers Secondary
Storage
Pod 1 Pod 2 Pod 3 Pod N
14. Virtual network topologies
CS Virtual Router provides network services External devices provide network services
Guest network Guest network
Public network Public network
Guest Guest
10.1.1.1 VM 1
10.1.1.1 VM 1
SRX
CS firewall
Guest Guest
Virtual 10.1.1.3 VM 2 10.1.1.3 VM 2
Router
NetScaler
DHCP, DNS, NAT, Guest Guest
10.1.1.4 VM 3 LB 10.1.1.4 VM 3
LB, VPN
Guest Guest
10.1.1.5 VM 4 10.1.1.5 VM 4
CS
DHCP, DNS
Virtual
Router
15. Multi-tier virtual network topology
Guest network Guest network Guest network
Public network
App VM
10.1.2.31 1 10.1.3.21
Web VM
10.1.1.1 1 10.1.2.21
SRX firewall App VM
10.1.2.24 2 10.1.3.45
Web VM
10.1.1.3 2 10.1.2.18
Netscaler Web VM
LB 3 10.1.2.38 DB VM 1
10.1.1.4 10.1.3.24
Web VM
10.1.1.5 4 10.1.2.39
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
16. Users
Router
Management
cluster Load balancer
L3 core switch
Access layer
switches
Servers Secondary
Storage
Pod 1 Pod 2 Pod 3 Pod N
17. Users
Router
Management
cluster Load balancer
L3 core switch
Access layer
switches
Servers Secondary
Storage
Pod 1 Pod 2 Pod 3 Pod N System VMs
Customer VMs
18. Driver domains
Control 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 HW
I/O Memory CPUs
18
20. 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
21. 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
22. The future for CloudStack
• Absorb new changes from Xen and XS
– Storage migration
– The Windsor architecture
– I/O subsystem changes
23. The future for CloudStack
• New object storage systems
– Caringo CAStor
– HDFS
– Riak CS
• New block storage systems
– GlusterFS?
– Ceph?
• Open vSwitch / OpenFlow / VXLAN
25. 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
26.
27. Why?
• Eliminates
– need for another machine / hypervisor
– Primary and secondary storage
– Networking, VLAN, etc
– Install and configuration of environment
• Disposable changes
– Revert to snapshot
28. 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
32. Management Server Cluster
MS is stateless. MS
can be deployed as
physical server or VM
MySQL
User API Management Single MS node can
Server
Load
manage up to 10K
Balancer Replication hosts. Multiple nodes
Admin API Management can be deployed for
Server
scale or redundancy
Replica
Infrastructure
Resources
33. 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
34. Deployment Architecture
Management Internet Hypervisor is the basic
Server
Cluster
unit of scale.
Zone 1 Cluster consists of one
ore more hosts of same
L3 hypervisor
Pod 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
36. Overview
• Install Virtual Box
• Download DevCloud virtual machine
• Install DevCloud VM
• Run the VM
• Login to the CloudStack GUI
• Start a CloudStack VM.
37. 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
38. 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
Hinweis der Redaktion
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.