Intro to Cloudstack
Upcoming SlideShare
Loading in...5
×
 

Intro to Cloudstack

on

  • 2,536 views

Introduction to Cloudstack terminology, features and architecture.

Introduction to Cloudstack terminology, features and architecture.

Statistics

Views

Total Views
2,536
Views on SlideShare
2,524
Embed Views
12

Actions

Likes
2
Downloads
157
Comments
0

2 Embeds 12

http://www.linkedin.com 11
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Intro to Cloudstack Intro to Cloudstack Presentation Transcript

  • Intro to Cloudstack Sebastien GoasguenJuly 10th, Ecole des Mines de Nantes, France
  • Info• Apache incubator project• http://www.cloudstack.org• #cloudstack on irc.freenode.net• @cloudstack on Twitter• http://cloudstack.org/discuss/mailing-lists.html Welcoming contributions and feedback, Join the fun !
  • A Very Flexible IaaS PlatformCompute HypervisorStorage Block & Object Primary Storage Secondary StorageNetwork Network & Network Services http://www.slideshare.net/cloudstack/cloudstack-architecture
  • 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
  • Storage• Primary Storage: – Anything that can be mounted on the node of a cluster. – Cluster LVM…iSCSI… – Holds disk images of running VMs• Secondary Storage: – Available across the zone – Holds snapshots and templates (image repo) – Can use Openstack swift or any object store (Gluster FS…)• Can use NFS for both to start
  • Physical Network Operations Users Admin and Cloud API CloudStack Mgmt Server Cluster Router MySQL Load Balancer Availability Zone L3 Core Switch Access LayerSwitches … Secondary Servers Storage … … … … Pod 1 Pod 2 Pod 3 Pod NSlide from Chiradeep Vittal, http://www.slideshare.net/cloudstack/cloudstack-networking
  • Cloud Interactions OVM Cluster Primary Storage Ap i Xen vcenter Monitoring Primary CS API Clu I ste AP vSphere Cluster Storage r rM nte End gm vCe t User UI Primary XS Cluster Storage Admin UI Clustered CloudStack XAPI Domain CS Admin & CloudStack CloudStack End-user API Primary Admin UI Management JSON KVM Cluster Storage Server NetConf Juniper SRXCloud user Nitro API{API client (Fog/etc)} VNC JSON ec2 API JSON Netscaler Cloud user Console Console {ec2 API client } Proxy VM Proxy VM NFS MySQL Server Sec. Storage NFS NFS {Proxied} SSH Sec. Storage VM Ajax HTTPS VM Console Router VM HTTP (Template Download) Router VM HTTP (Template Copy) Router VM Cloud user HTTP (Swift) http://www.slideshare.net/cloudstack/cloudstack-architecture
  • Inside a Management Server • Tomcat application • Async jobs, ESB, REST API Plugins cmd.execute() PluginsCloudStack Commands Async Plugins API API Job Ser Queu Serv vlet e ices Kernel Responses Mgr API Agent Mess Resource API age (Cmds) Local s Bus Or Remote Agent Manager Hypervisor Network Native Device APIs API MySQL http://www.slideshare.net/cloudstack/cloudstack-architecture
  • Layer-2 Guest Virtual Network CS Virtual Router provides Network Services External Devices provide Network Services Network Hardware exposing API can be controlled Guest Virtual Network 10.1.1.1/8 Guest Virtual Network 10.1.1.1/8 VLAN 100 VLAN 100Public PublicNetwork/Inter Network/Internet Guest net Guest Public IP Private IP 10.1.1.1 10.1.1.1 VM 1 10.1.1.111 VM 1 Gateway 65.37.141.11 JuniperPublic IP 1 SRX address65.37.141.11 CS Firewall 10.1.1.1 Guest Guest Virtual 10.1.1.3 VM 2 10.1.1.3 VM 2 Router Public IP Private IP DHCP, DNS 65.37.141. NetScaler 10.1.1.112 NAT Guest 112 Load Guest Load Balancing 10.1.1.4 VM 3 Blancer VM 3 10.1.1.4 VPN Guest Guest 10.1.1.5 VM 4 10.1.1.5 VM 4 CS DHCP, Virtual Router DNSSlide from Chiradeep Vittal, http://www.slideshare.net/cloudstack/cloudstack-networking
  • Other TopologiesNo services [Static Ips] Dedicated VLAN with DHCP and DNS User can request specific IP[s] for NIC Guest Virtual Network 10.1.1.0/24 Guest Virtual Network 10.1.1.0/24 VLAN 100 VLAN 100 Guest Guest VM 1 10.1.1.1 VM 1 10.1.1.1 Gateway address 10.1.1.1 Guest Guest 10.1.1.3 VM 2 Gateway 10.1.1.3 VM 2 address 10.1.1.1 Guest Guest Core switch 10.1.1.4 VM 3 VM 3 10.1.1.4 Guest Core switch Guest 10.1.1.5 VM 4 10.1.1.5 VM 4 DHCP, CS DNS Virtual Router User-dataSlide from Chiradeep Vittal, http://www.slideshare.net/cloudstack/cloudstack-networking
  • A customizable GUIhttp://docs.cloudstack.org/CloudStack_Documentation/Custom izing_the_CloudStack_UI
  • A very extensive APIhttp://download.cloud.com/releases/3.0.3/api_3.0.3/TOC_Root _Admin.html
  • Making API callsCan be authenticated or not.HTTP call.User Keys can be generated via the GUIBase url: http://<manager-host>:8080/client/api?….def make_request(requests, secretKey): request = zip(requests.keys(), requests.values()) request.sort(key=lambda x: str.lower(x[0])) requestUrl = "&".join(["=".join([r[0], urllib.quote_plus(str(r[1]))]) for r in request]) hashStr = "&".join(["=".join([str.lower(r[0]),str.lower(urllib.quote_plus(str(r[1]))).replace("+", "%20")]) for r in request]) sig = urllib.quote_plus(base64.encodestring(hmac.new(secretKey, hashStr,hashlib.sha1).digest()).strip()) print "Signature: %s"%sig requestUrl += "&signature=%s"%sig print requestUrlif __name__ == __main__: requests = { "apiKey": "BRZ5j4E8O4di2MZWnQsYBLThCrTGO-LGeZaMjsnvelkHuY5P8FdTnluNZTDQhCUy-wqeJzk8EAc_NbcZxTF_FA", "response" : "json", "command" : "listZones" } secretKey = "bFlx2llt3OmM4AiHzfwV1ZbuJ5tsv6hAx6IeM32CkM-obCA77BRwBr3_yQ0bO1-kdZyfD3-lY6khsXCx18n3Mw" make_request(requests, secretKey)
  • EC2 compatibility via Cloudbridge• Significant development work happening to make Cloudstack highly compatible with EC2 API.• http://wiki.cloudstack.org/display/RelOps/EC2+AP• Euca tools, boto etc…should work with cloudstack.• Lots of potential for contributions…
  • Note: System VMs• When a Zone is enabled some system VMs get started: – Router for instances – Proxy for console access – Manage secondary storage• Different from Opennebula and Nimbus, needs to get used to.• 3 IP addresses need to be reserved for those.
  • Note: Highly Scalable• See: – http://www.slideshare.net/cloudstack/scalability-1281 – From Alex Huang. 10k “resources” managed per Mgt server. 30k resources with 30k VM in simulation.• Management server can be setup in a multi- node configuration with a load-balancer and replicated MySQL.
  • Note: DevCloud• A Virtual box appliance packaged to provide a working Cloudstack environment.• Available since last week , from Edison Su• Aimed at developers but has other use cases: – Xen PV hosts gives nested virtualization – Local EC2 Cloud on your laptop – Networking experiments ?• http://wiki.cloudstack.org/display/comm/DevClou
  • Note: VM Placement• Scheduling of VMs• Stack them, spread them, random…• Configurable