SlideShare a Scribd company logo
Apache CloudStack

Sebastien Goasguen @sebgoa
Build a Cloud Day, Feb 1st 2013
        Ghent, Belgium
Big Thanks !
SaaS
PaaS…
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 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
Intro to CloudStack Build a Cloud Day
ASF
Apache Way

• “Transparency, consensus, non-
  affiliation,respect for fellow developers,
  and meritocracy, in no specific order “
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
Apache Processes
What the ASF did to CloudStack ?
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
• “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. Feature Freeze Yesterday...
• 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
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
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
New Isolation types ?
Hugo’s talk
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
Wido’s talk
“Once deployed, how do you use it ?”
A powerful UI
An extensive API
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
“Not a Standard, But…”
Enabling EC2 and S3
Oved’s talk
“Lessons learned from Deploy and Use :”
Noa’s talk
“Build an Ecosystem:
                       a PaaS
                       a SaaS …”
Charles’s talk
Brian’s talk
“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
“Time for a Demo ?”
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
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 !

More Related Content

Intro to CloudStack Build a Cloud Day

  • 1. Apache CloudStack Sebastien Goasguen @sebgoa Build a Cloud Day, Feb 1st 2013 Ghent, Belgium
  • 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
  • 11. ASF
  • 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
  • 15. What the ASF did to CloudStack ?
  • 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
  • 17. • “A little bit about the internals”
  • 18. 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
  • 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
  • 29. “Once deployed, how do you use it ?”
  • 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
  • 33. “Not a Standard, But…”
  • 36. “Lessons learned from Deploy and Use :”
  • 38. “Build an Ecosystem: a PaaS a SaaS …”
  • 41. “To get your feet wet…”
  • 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 ?
  • 44. DevCloud: as Host Run CloudStack on local machine Use DevCloud to setup hosts
  • 45. “Time for a Demo ?”
  • 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

  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
  2. Even though this does not really makes sense because companies don’t have a standing with ASF, individuals do.
  3. http://download.cloud.com/releases/3.0.3/api_3.0.3/TOC_Root_Admin.html