SlideShare a Scribd company logo
DevCloud and CloudMonkey
   in 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 everything
Dev:                                 Ops:
       Java                             Shell
       IDE                              CLI
What the ASF did to CloudStack ?
• “A little bit about the internals”
A Very Flexible IaaS
                                   Platform
Compute     Hypervisor




Storage     Block & Object



                          Primary Storage                        Secondary Storage


Network     Network & Network Services




  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
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
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
“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 Host
Run CloudStack on local machine
Use 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_FcHRj87ZKiy0z
    0ty0ZsYBkoXkY9b7eq1EhwJaw7FF3akA3KBQ
• ? 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 ?”

More Related Content

DevCloud and CloudMonkey

  • 1. DevCloud and CloudMonkey in Apache CloudStack Sebastien Goasguen @sebgoa
  • 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
  • 6. What the ASF did to CloudStack ?
  • 7. • “A little bit about the internals”
  • 8. A Very Flexible IaaS Platform Compute Hypervisor Storage Block & Object Primary Storage Secondary Storage Network Network & Network Services http://www.slideshare.net/cloudstack/cloudstack-architecture
  • 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
  • 13. “To get your feet wet…”
  • 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 ?
  • 16. DevCloud: as Host Run CloudStack on local machine Use DevCloud to setup hosts
  • 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 !
  • 21. “Time for a Demo ?”

Editor's Notes

  1. 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