A quick intro to DevCloud the CloudStack sandbox, and how to use CloudMonkey to manage your cloud.
DevCloud is a virtualbox image that contains the CloudStack source code and that is setup to run the storage infrastructure needed by CloudStack plus the networking setup to build the guest network of the VMs. Tiny Linux instances can be started within the Devcloud VM making use of nested virtualization.
This is a perfect setup to discover cloudstack, give demos and test new codes. It is used to test new releases and verify basic functionality. You can run DevCloud on your laptop and then use the command line interface CloudMonkey to make API calls to your DevCloud instance.
This is the perfect complement to the talk on CloudMonkey and shows the basic functionality of a cloud. Instance creation, snapshots, networking, network offering and AWS EC2 compatibility.
3. 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…
4. IaaS is really:
• A Data Center Orchestrator
– Data storage
– Data movement
– Data processing
• That can:
– Handle failures
– Support large scale
– Be programmed
5. 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. Architecture / Language
• Java application
• Tomcat6, Axis2, Maven build + ant
– Ant going away in 4.1
• Moving towards a plugin architecture
10. 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. 4.2 most likely in July
11. 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
12. 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
14. 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 ?
17. CloudMonkey
• The CloudStack CLI, developed by Rohit Yadav
• ~600 lines of Python
• pip install cloudmonkey
• Lots of features:
– Auto-completion
– Tabular output
– Help , scriptable, interactive shell…
18. Intro
• $ cloudmonkey
• ☁ Apache CloudStack ? cloudmonkey 4.0.0. Type
help or ? to list commands.
• ? cloudmonkey> set apikey plgWJfZK4gyS3mOMTVmjUVg-
X-jlWlnfaUJ9GAbBbf9EdM-
kAYMmAiLqzzq1ElZLYq_u38zCm0bewzGUdP66mg
• ? cloudmonkey> set secretkey
VDaACYb0LV9eNjTetIOElcVQkvJck_J_QljX_FcHRj87ZKiy0z
0ty0ZsYBkoXkY9b7eq1EhwJaw7FF3akA3KBQ
19. • ? cloudmonkey> list users
• ? cloudmonkey> list virtualmachines
• ? cloudmonkey> help list templates
• ? cloudmonkey> deploy virtualmachine –help
• ? cloudmonkey> list templates
templatefilter=all
• ? cloudmonkey> list serviceofferings | grep id
• ? cloudmonkey> stop virtualmachine id=2c650856-
a080-4766-a8b3-4166042ccec7
20. 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 !
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