DevCloud and CloudMonkey in Apache CloudStack Sebastien Goasguen @sebgoa.
Transcript of DevCloud and CloudMonkey in Apache CloudStack Sebastien Goasguen @sebgoa.
DevCloud and CloudMonkeyin Apache CloudStack
Sebastien Goasguen@sebgoa
IaaS…
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…
IaaS is really:
• A Data Center Orchestrator– Data storage– Data movement– Data processing
• That can:– Handle failures– Support large scale– Be programmed
DevOps
• Bring your developers closer to the operations• Make your sys admins develop the apps• Move to Software Defined Data Center,
Automate everythingDev:
JavaIDE
Ops: Shell CLI
What the ASF did to CloudStack ?
• “A little bit about the internals”
A Very Flexible IaaS Platform
Compute Hypervisor
Storage Block & Object
Network Network & Network Services
Primary Storage Secondary Storage
http://www.slideshare.net/cloudstack/cloudstack-architecture
Architecture / Language
• Java application• Tomcat6, Axis2, Maven build + ant
– Ant going away in 4.1
• Moving towards a plugin architecture
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
Pod 1
….
Cluster N
Access LayerAccess Layer
Host 2Host 2
Cluster 1
CloudStack Cloud Architecture
Host 1Host 1
Hypervisor is the basic unit of scale.
Cluster consists of one ore more hosts of same hypervisor
All hosts in cluster have access to shared (primary) storage
Pod is one or more clusters, usually with L2 switches.
Availability Zone has one or more pods, has access to secondary storage.
One or more zones represent cloud
PrimaryStorage
Zone 1
….
L3 coreL3 core
SecondaryStorage
Pod N
CloudStack Management
Server
InternetInternet
Cloud Interactions
CloudStackCloudStack
Cloud user{API client (Fog/etc)}
End User UI
End User UI
Admin UI
Admin UI
MySQLMySQL
CloudStackCloudStackClustered
CloudStackManagement
Server
ClusteredCloudStack
ManagementServer
Domain Admin
UI
Domain Admin
UI
CS Admin & End-user API
Cloud user{ec2 API client }
ec2 API
Monitoring CS API vSphere ClusterPrimaryStorage
vcentervcenter
Cluster Mgmt
XS ClusterPrimaryStorage
vCenter API
XAPI
KVM ClusterPrimaryStorageJSON
OVM Cluster PrimaryStorage
XenApi
NetConf
Nitro APIJuniper SRX
Netscaler
Console Proxy VMConsole
Proxy VMConsole Proxy VMConsole
Proxy VM
JSON
Cloud user
HTTPSAjax Console
Ajax Console
VNC
Sec. StorageVM
Sec. StorageVM
NFS Server
NFSSec. Storage
VMSec. Storage
VM
HTTP (Template Download)
HTTP (Template Copy)
HTTP (Swift)
NFS
Router VMRouter VMRouter VMRouter VM
Router VMRouter VM
JSON
{Proxied} SSH
http://www.slideshare.net/cloudstack/cloudstack-architecture
“To get your feet wet…”
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 ?
Self-Contained
DevCloud: as HostRun CloudStack on local machineUse DevCloud to setup hosts
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…
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_FcHRj87ZKiy0z0ty0ZsYBkoXkY9b7eq1EhwJaw7FF3akA3KBQ
• 🙉 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
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 !
“Time for a Demo ?”