My talk from BACD http://buildacloud.org workshop in Ghent, Belgium
All videos can be viewed at: http://www.youtube.com/playlist?list=PLb899uhkHRoZZefRW5XmCb8QBcRO7o74E
This is an introductory talk for the workshop, it introduces CloudStack and the community at the Apache Software Foundation, it presents the basic layers of the Cloud IaaS, PaaS, and SaaS and shows how the CloudStack ecosystem addresses all layers. It presents the basic features of cloudstack, networking with a focus on SDN (Software Defined Networking) , storage with a focus on large scale object store (Ceph), a use case with Spotify, a PaaS with Karafe and fuse Fabric, the API using deltacloud which provides the CIMI standard interface and an application integration using the CloudStack API with Activeeon.
This is the perfect complement to the videos on youtube and serves as a introduction to CloudStack.
6. IaaS challenges
• Not out of the box by itself
• Need a farm of hypervisors
– Xen, KVM, VMware…
• Need storage
– For image catalogue
– For volume/snapshot management
• Need flexible network that can be configured
on-demand
– VLANS, no VLANS, existing net infra, SDN…
7. IaaS is really:
• A Data Center Orchestrator
– Data storage
– Data movement
– Data processing
• That can:
– Handle failures
– Support large scale
– Be programmed
8. DevOps
• Bring your developers closer to the operations
• Make your sys admins develop the apps
• Move to Software Defined Data Center,
Automate everything
Dev: Ops:
Java Shell
IDE CLI
9. What is CloudStack ?
• Open source Infrastructure as a Service (IaaS)
solution.
• “Programmable” Data Center orchestrator
• Hypervisor agnostic (with addition of bare
metal provisioning)
• Support scalable storage (Ceph, RIAK CS…)
• Support complex enterprise networking (e.g
Firewall, load balancer, VPN, VPC…)
• Multi-tenant
12. Apache Way
• “Transparency, consensus, non-
affiliation,respect for fellow developers,
and meritocracy, in no specific order “
13. Apache Process
• 100% community driven
• New ideas, decisions only taken on mailing lists.
Votes taken by community
• Project led by Project Management Committee
(PMC):
– http://www.apache.org/dev/pmc.html
– http://incubator.apache.org/guides/committer.html
• Non committers get invited as committers:
– http://community.apache.org/newcommitter.html
16. Contributions
Examples:
Sungard: Announced that
6 developers were joining
the Apache project
Schuberg Philis: Big
contribution in
building/packaging and
Nicira support
PCextreme: RBD/Ceph
support
Caringo: Support for own
object store
Basho: Devcloud
packaging, S3 integration
19. Architecture / Language
• Java application
• Tomcat6, Axis2, Maven build + ant
– Ant going away in 4.1
• Moving towards a plugin architecture
20. Releases
• Apache CloudStack 4.0 released in November
• Time based releases
– Rather slip features but guarantee release
• Apache CloudStack 4.1 planned for March
22nd. Feature Freeze Yesterday...
• 4.2 most likely in July
21. CloudStack Cloud Architecture
Internet
Internet Hypervisor is the basic unit of
CloudStack
Management scale.
Server
Zone 1 Cluster consists of one ore
more hosts of same
L3 core
L3 core hypervisor
All hosts in cluster have access
Pod 1 Access Layer
Access Layer Pod N to shared (primary) storage
Secondary
…. Storage Pod is one or more clusters,
Cluster N usually with L2 switches.
Availability Zone has one or
…. more pods, has access to
secondary storage.
Cluster 1
One or more zones represent
Host 11
Host cloud
Primary
Storage
Host 22
Host
22. Cloud Interactions OVM Cluster Primary
Storage
Ap i
Xen vcenter
vcenter
Monitoring Primary
CS API Clu I
ste AP vSphere Cluster
Storage
r M n ter
End
End
gm vCe
t
User UI
User UI
Primary
XS Cluster Storage
Admin
Admin Clustered
Clustered
CloudStack XAPI
UI
UI CloudStack
Domain
Domain
CS Admin & CloudStack
CloudStack
CloudStack
CloudStack
End-user API Primary
Admin
Admin
UI
UI
Management
Management JSON KVM Cluster Storage
Server
Server NetConf
Juniper SRX
Cloud user Nitro API
{API client (Fog/etc)} VNC
JSON
ec2 API JSON Netscaler
Cloud user Console
Console
Console
{ec2 API client } ProxyConsole
VM
Proxy VM
Proxy VM
Proxy VM NFS
MySQL
MySQL Server
Sec. Storage
Sec. Storage NFS NFS
{Proxied} SSH Sec. VM
Storage
Sec. Storage
VM
Ajax
Ajax HTTPS VM
VM
Console
Console Router VM
Router VM HTTP (Template Download)
Router VM
Router VM HTTP (Template Copy)
Router VM
Router VM
Cloud user HTTP (Swift)
http://www.slideshare.net/cloudstack/cloudstack-architecture
23. Networking
• Extremely flexible to:
– Provide isolation with VLANs
– Provide isolation at L3 with shared L2 (scalability)
– Support hardware devices that exposes API
– Deployed on existing networking infrastructure
– Support new networking paradigm (SDN)
• Support for Nicira Virtual P
• Extensive use of Open VSwitch
24. 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 100
Public Public
Network/Inter Network/Inter
net Guest net Guest
Guest
Guest Private IP
VM 11 Public IP 10.1.1.1 VM 11
10.1.1.1 VM 10.1.1.111 VM
Gateway 65.37.141.11 Juniper
Juniper
Public IP 1 SRX
SRX
address
65.37.141.11 CS Firewall
Firewall
CS 10.1.1.1 Guest
Guest Guest
Guest
Virtual
Virtual
10.1.1.3 VM 22
VM 10.1.1.3 VM 22
VM
Router
Router
Public IP Private IP
DHCP, DNS 65.37.141. NetScaler 10.1.1.112
NetScaler
NAT Guest 112 Load Guest
Guest Load Guest
Load Balancing 10.1.1.4 VM 33 Blancer VM 33
VM Blancer 10.1.1.4 VM
VPN
Guest
Guest Guest
Guest
10.1.1.5 VM 44
VM 10.1.1.5 VM 44
VM
CS
CS
DHCP, Virtual
Virtual
Router
Router
DNS
Slide from Chiradeep Vittal, http://www.slideshare.net/cloudstack/cloudstack-networking
27. Storage
• Primary Storage:
– Anything that can be mounted on the node of a cluster.
– Cluster LVM…iSCSI…
– Holds disk images of running VMs
– Support for CEPH with KVM hypervisors
• Secondary Storage:
– Available across the zone
– Holds snapshots and templates (image repo)
– Can use Openstack swift or any object store (Gluster FS…)
– New support for Caringo
• Can use NFS for both to start
• Storage Abstraction refactoring underway
32. API
• Not REST but a Query API
• A set of methods available over http(s)
• Unauthenticated on integration port
• Authenticated on 8080 using Access and
Secret Key
• Python/Ruby clients available
• Internal Marvin client
• Cloudmonkey CLI
• Other clouds client support the API
42. DevCloud
• A Virtual box appliance packaged to provide a
working CloudStack environment.
• Aimed at developers but has other use cases:
– Xen PV hosts gives nested virtualization
– Local EC2/S3 Cloud on your laptop
– Networking experiments ?
46. Build A Cloud Events
• http://www.buildacloud.org
• @build_cloud or @sebgoa on twitter
• Upcoming events in Europe in 2013:
– BACD Ghent Belgium February 1st
– FOSDEM February 2-3, Brussels
– In the works, Cloudcamp, Edinburgh March 27th
– Probable LinuxTag, Berlin, May
– Probable Summer: RMLL 6-11 July, Brussels
– Probable in Fall: Linuxcon Europe, OWF Paris
47. Info
• Apache incubator project
• http://incubator.apache.org/cloudstack
• #cloudstack and #cloudstack-dev on irc.freenode.net
• @CloudStack on Twitter
• http://www.slideshare.net/cloudstack
• http://incubator.apache.org/cloudstack/mailing-lists.html
• Collaboration Conference, Nov 30th -Dec 2nd
– http://collab12.cloudstack.org/
– http://www.youtube.com/diycloudcomputing
Welcoming contributions and feedback, Join the fun !
Editor's Notes
Caveat: A contributor is identified by sending a single email on the –dev or –users mailing list. This graphs plots the number of unique email addresses
Even though this does not really makes sense because companies don’t have a standing with ASF, individuals do.