1. Author of this mindmap
1.1. Name - George Chou
1.2. email - [email protected]
1.3. Twitter - @GeorgeChouNext - https://twitter.com/GeorgeChouNext
2. Version
2.1. 1.1
2.2. Latest Update: 06/05/2013
2.3. Comments highly welcome
2.4. History
2.4.1. Version 1.0
2.4.1.1. Initial Publish (03/01/2013)
2.4.2. Version 1.1
2.4.2.1. 03/28/2013
2.4.2.1.1. Add more references for developer oriented
2.4.2.1.2. Add news about Cloudstock graduated from incubator to become top level project
2.4.2.2. 04/08/2013
2.4.2.2.1. Dev Resource - QuickCloud
2.4.2.2.2. CloudStack Open Source Statistics
2.4.2.3. 04/22/2013
2.4.2.3.1. Add weekly news pointer
2.4.2.3.2. Learn CloudStack through Google Summber of Code 2013
2.4.2.4. 05/02/2013
2.4.2.4.1. Stackmate - CloudFormation for CloudStack
2.4.2.5. 5/3/2013
2.4.2.5.1. Add current event node
2.4.2.6. 5/6/2013
2.4.2.6.1. CloudStack Community Analysis
2.4.2.7. 5/13/2013
2.4.2.7.1. Add API work-thru video
2.4.2.8. 5/19/2013
2.4.2.8.1. Blog about Cloudstack University
2.4.2.9. 06/05/2013
2.4.2.9.1. Quick 4.1 release summary
3. Software Architecture Diagram
4. API
4.1. CloudStack API Developer's Guide - http://incubator.apache.org/cloudstack/docs/en-US/Apache_CloudStack/4.0.1-incubating/html/API_Developers_Guide/index.html
4.2. Interact with Cloudstack Management Server
4.2.1. URL of the server
4.2.2. API key & Secret Key for an account
4.2.3. HTTP GET/POST
4.2.4. Payload: XML or JSON
4.3. Every API request has the format Base URL+API Path+Command String+Signature.
4.4. Three types of REST API
4.4.1. Synchronous APIs - hit the DB of the management server
4.4.2. Asynchronous API - cause operation within the cloud system
4.4.3. Asynchronous-Create API - create new entities within the management server DB and then runs operations against these new entities
4.5. OAM&P API
4.5.1. Operations
4.5.2. Administration
4.5.3. Maintenance
4.5.4. Provisioning
4.6. End User API
4.7. AWS API
4.7.1. S3 - https://cwiki.apache.org/CLOUDSTACK/s3-api-in-cloudstack.html & http://www.docstoc.com/docs/128147706/CloudStack-S3-API
4.7.2. EC2 - http://tinyurl.com/c3rfqgo
4.8. Plugins
4.8.1. Plugins - add more capability to Cloudstack
4.8.2. Can be two jars - server component to be deployed on management server
4.8.3. An optional ServerResource component to be deployed co-located with the resource
4.8.4. Can expose its own API through Pluggable Service for administration configuration purpose
4.8.5. Slides (11/10/2012) - http://www.slideshare.net/kkitase/9-plugin-cloudstack-developer-day
4.9. API walk-thru video - http://www.youtube.com/watch?feature=player_embedded&v=ZPfm2EksIbc
5. Competitors
5.1. OpenStack
5.2. Eucalyptus
5.3. OpenNebula
5.4. CloudStack vs. OpenStack vs. Eucalyptus (10/2012) - http://www.slideshare.net/bizalgo/cloudstack-vs-openstack-vs-eucalyptus-iaas-private-cloud-brief-comparison
6. Management Server Interaction
7. Metering
7.1. Real Time
7.2. Historical
7.3. Invoice
7.4. Based on data generated by Usage Engine
8. Developer Resources
8.1. Source - git clone https://git-wip-us.apache.org/repos/asf/incubator-cloudstack.git
8.2. Setup Apache Cloudstack Development Environment - http://incubator.apache.org/cloudstack/develop/environment.html
8.3. Development 101 - https://cwiki.apache.org/CLOUDSTACK/development-101.html
8.4. Developer's FAQ - http://incubator.apache.org/cloudstack/develop/developer-faq.html
8.5. Documents - http://incubator.apache.org/cloudstack/docs/en-US/index.html
8.6. Write Cloudstack Plugins - http://www.slideshare.net/buildacloud/writing-a-plugin-for-apache-cloudstack
8.7. DevCloud
8.7.1. A Virtualbox appliance packaged to provide a working CloudStack environment
8.7.2. For version prior 4.0 - http://wiki.cloudstack.org/display/COMM/DevCloud
8.7.3. Latest version - https://cwiki.apache.org/confluence/display/CLOUDSTACK/DevCloud
8.8. QuickCloud - https://cwiki.apache.org/confluence/display/CLOUDSTACK/QuickCloud
8.8.1. A much easier way to start up CloudStack in one box
8.8.2. In Rough-But-Ready State of implementation (4/2013)
8.9. Swift Developer Document - http://docs.openstack.org/developer/swift/
8.10. Cloudstack Development Roadmap - http://www.slideshare.net/kkitase/6-roadmap-cloudstack-developer-day
8.11. Learning through projects
8.11.1. Google Summer of Code 2012 with CloudStack - http://bit.ly/17eXY1B
8.12. Stackmate - CloudFormation for CloudStack - https://github.com/chiradeep/stackmate
9. Security
9.1. Secure Single Sign-on
9.2. Multi-role support
9.3. Secure Cloud Deployment
9.4. LDAP Integration
10. Management
10.1. Interface Methods
10.1.1. RESTful API
10.1.2. Built on top of CloudStack API
10.1.2.1. Rich Management User Interface - AJAX implementation
10.1.2.2. Command line tools
10.2. Multi-tenancy & Account Management
10.2.1. Domains & Delegate Domain Administration
10.3. Service Offering Management
10.3.1. Compute Offering
10.3.2. Disk Offering
10.3.3. Network Offering
10.4. Resource Overprovision
10.5. Notification & Alarm
10.6. Capacity Threadholding
11. End-User Experience
11.1. Self-Service Portal
11.2. AJAX VNC client to access virtual machine
11.3. Create pre-defined template for easy cloud deployment
11.4. ISO and template managment
11.5. Snapshot management
11.6. Project grouping all resources together for easy maintenance
12. Current Events
12.1. CloudStack Collaboration Conference (6/23~6/25)
13. Objectives of this mindmap
13.1. Quick Access to Apache CloudStack related Information
13.2. High Level Introduction
13.3. Public link for this mindmap - http://tinyurl.com/b7xebgw
14. Basic Introduction
14.1. What is Cloudstack?
14.1.1. An open source software platform that pools/deploys/manages/orchestrates computing resources to build public, private, and hybrid Infrastructure as a Service (IaaS) clouds.
14.1.2. Development story & future vision (9/1/2012) - http://www.slideshare.net/kkitase/cloudstackdevelopmentstory
14.1.3. Apache CloudStack Becomes a Top-Level Apache Project (03/26/2013) - http://java.dzone.com/articles/apache-cloudstack-becomes-top
14.1.4. 4.1 release quick summary - http://bit.ly/13kEuY2
14.2. Architecture & Deployment
14.2.1. Slide (4/29/2012) - http://www.slideshare.net/cloudstack/cloudstack-architecture
14.2.2. YouTube Part I - http://www.youtube.com/watch?v=D1K_8rvDhic
14.2.3. YouTube - Part II http://www.youtube.com/watch?v=uSwisRfJVdM
14.2.4. Slides (12/2012) (more comprehensive) - http://www.slideshare.net/tcloudcomputing-tw/cloudstack-overview1
14.3. wikipedia - http://en.wikipedia.org/wiki/Cloudstack
14.4. Apache incubator - http://incubator.apache.org/cloudstack/
14.5. Apache CloudStack Wiki - https://cwiki.apache.org/CLOUDSTACK/home.html
14.6. (11/09/2012 - Apache Process - http://www.slideshare.net/kkitase/7-apache-process-cloudstack-developer-day
14.7. YouTube Channel - http://www.youtube.com/diycloudcomputing
14.8. Slideshare Channel - http://www.slideshare.net/cloudstack
14.9. Cloudstack University - https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+University
14.9.1. Objective - learn various facets of CloudStack in lecture style
14.9.2. Blog about Cloudstack University
14.10. CloudStack Open Source Statistics - http://www.ohloh.net/p/CloudStack
14.11. CloudStack Weekly News - https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+Weekly+News
14.12. CloudStack Community Analysis - http://buildacloud.org/blog/258-update-on-apache-cloudstack-community-analysis.html
15. Features & Components
15.1. Feature Table - http://incubator.apache.org/cloudstack/software/features.html
15.2. Core Components
16. Architectures
16.1. Conceptual Deployment Architecture
16.2. Management Server Deployment Architecture
16.3. Cloudstack Cloud Architecture
17. Management Server vs. Hypervisors
18. Compute
18.1. Supported Hypervisors
18.1.1. XenServer - http://www.citrix.com/products/xenserver/overview.html
18.1.2. Xen Cloud Platform - http://wiki.xen.org/wiki/XCP_Overview
18.1.3. KVM - http://www.linux-kvm.org/page/Main_Page
18.1.4. VMware via vCenter
18.1.5. Oracle VM
18.1.6. Bare Metal via IPMI - https://cwiki.apache.org/CLOUDSTACK/cloudstack-baremetal.html
18.2. Multiple Guest VM OSs Support
18.3. User Data Support
18.3.1. Create VM from template
18.3.2. User data creates unique cloud identity for VMs
18.4. Live Migration of VM without down time
19. Primary & Second Storage
20. Storage
20.1. Primary Storage (Cluster Level)
20.1.1. For VMs
20.1.2. Local Disk
20.1.3. iSCSC
20.1.4. Fiber Channel
20.1.5. Scaling Storage with Ceph
20.1.5.1. Slides (7/2012) - http://www.slideshare.net/cloudstack/vbacd-july-2012-scaling-storage-with-ceph
20.1.5.2. Video - http://www.youtube.com/watch?v=RAfsHEaiVxI
20.2. Secondary Storage (Zone Level)
20.2.1. For template, ISOs and snapshots
20.2.2. NFS
20.2.3. OpenStack Swift storage integration
20.2.3.1. Intro on Swift - http://swiftstack.com/openstack-swift/architecture/
20.3. Storage Tiering
20.4. Block Storage Volumes
20.5. Cluster Logical Volumn Manager Support
20.6. CloudStack vs. Cloud Storage - Where are we? Where do we need to go?
20.6.1. Slides - http://www.slideshare.net/SolidFireInc/cloud-stack-cloud-storage
20.6.2. Video - http://www.youtube.com/watch?v=WFSS3grIFuU
20.6.3. Personal note - I believe the CloudStack Storage needs major change to catch up competitors, better storage offering while moving Cloudstack to new architecture and deployment model
21. Network
21.1. VLAN
21.2. MPLS support for VLAN
21.3. Virtual Router
21.4. Firewall
21.5. Load Balancing
21.6. Netscaler Support
21.7. Network as a Service
21.7.1. Select different network offerings during VM deployment
21.7.2. Migrate VM from one network offering to another
21.7.3. Slide - http://www.slideshare.net/kkitase/3-networking-cloudstack-developer-day
21.8. Software-based network management
21.8.1. V4.0 - Support for Nicira NVP (L2)
21.8.1.1. Schuberg Philis case - Nicira NVP integration - http://www.slideshare.net/hugotrippaers/cloud-stack-nvp-integration-bacd#btnNext
21.8.2. Vision Statement (11/2012) - http://www.slideshare.net/kkitase/35-sdn-cloudstack-developer-day
22. HIgh Avalibility
22.1. Management Server
22.1.1. Deployed in a multi-node installation with load balancer
22.1.2. Management Server Database (MySQL) may be configured to use replication to provide for a manual failover
22.2. VM Hosts
22.2.1. CloudStoack supports NIC bonding
22.2.2. Separate networks for storage as well as iSCSI Multipath
22.2.3. Custom VM Sync technology constantly monitors and maintains the state of all virtual machines within the cloud from notifications of individual VM status to the ability to automatically ensure that the VM remains running.