FOSDEM 2012
                        Brussels, Belgium, February 4th, 2012




                      The OpenNebula Project

                                             Carlos Martín
                                             Daniel Molina

                                                 Developers


Acknowledgments
                                The research leading to these results has received funding from the European Union's Seventh
                                Framework Programme ([FP7/2007-2013] ) under grant agreement n° 261552 (StratusLab Project)


© OpenNebula Project. Creative Commons Attribution-NonCommercial-ShareAlike License                                        1/18
What is OpenNebula?
IaaS Cloud Computing Tool for Managing a Data Center's Virtual Infrastructure!

    Data Center Virtualization Manager
    ● Open-source Apache license                                                Public
                                                                                 User
    ● Interoperable, based on standards
    ● Adaptable


    Private Clouds                                       Private
    ● Virtualize your on-premise infrastructure           User

    Hybrid Clouds
    ●  Extend your private cloud with resources
       from a remote cloud provider
    Pubic Clouds                             Administrator
    ●  Expose standard cloud interfaces


    Ready for end-users                                                      Remote
                                                   Physical Infrastructure   Provider
    ●  Advanced user management
    ●  CLI and Web Interface

The OpenNebula Project                                                                  2/18
What is OpenNebula?
Building the Industry Standard Open Source Cloud Computing Tool!

                                             Third party scalability
  • Develop & innovate                       tests: 16000 VMs
  • Support the community
  • Collaborate                                        Commercial Support


                 TP
                         v1.0     v1.2   v1.4        v2.0      v2.2 V3.0    V3.2


2005          2008              2009        2010            2011       2012
dsa group doing
   research…


                                                         4,000 downloads/
                                                              month
                         European Funding
The OpenNebula Project                                                             3/18
What is OpenNebula?
A Really Quick Demo!



●  Let’s take a look at Sunstone!




The OpenNebula Project              4/18
The OpenNebula Architecture
A Peek under the Hood!

                            CLI                 GUI          Cloud Servers


                                                                                  Scheduler
                                          OCA (Ruby, Java)


                                                       XML-RPC API




                                                      OpenNebula core




                          Monitoring              Storage               Network
                                                                                        DB

                         Virtualization           Images                 Auth



          Design Principles                             Languages
          ● Modularity
          ● Lightness
          ● Openness

The OpenNebula Project                                                                        5/18
The OpenNebula Architecture
How to Develop Drivers!
                                                        Drivers
                               Cloud
     CLI          GUI
                              Servers                   ● Small scripts for each action
                                            Scheduler
           OCA (Ruby, Java)                             ● Any language (Shell, Ruby…)
                    XML-RPC API
                                                        ● Different drivers can co-exist in
                                                          heterogeneous environments
                  OpenNebula core


  Monitoring      Storage         Network        DB
 Virtualization   Images           Auth




                                    Easy to adapt
                                    Easy to create new ones




The OpenNebula Project                                                                       6/18
The OpenNebula Architecture
How to Develop Drivers!
                                                         Virtualization Drivers
                               Cloud
     CLI           GUI
                              Servers                    ●  Translate the OpenNebula VM life-
           OCA (Ruby, Java)                  Scheduler      cycle management into specific
                                                            hypervisor operations
                      XML-RPC API
                                                         Monitoring Drivers
                                                         ●  Gather information about the
                    OpenNebula core
                                                            physical host and hypervisor status

  Monitoring        Storage        Network
                                                         Hybrid Cloud Drivers
                                                  DB
 Virtualization     Images           Auth                ●  Interact with an external provider
                                                            instead of a hypervisor

                  OpenNebula distribution                            Community contributions




The OpenNebula Project                                                                            7/18
The OpenNebula Architecture
How to Develop Drivers!

  Virtualization Driver Example:
      Hypervisor: Xen
      Action: migrate
      Description: live-migrates a running VM to the specified Host




The OpenNebula Project                                               8/18
The OpenNebula Architecture
How to Develop Drivers!
                                                            Image & Storage Drivers
                               Cloud
     CLI           GUI
                              Servers
                                                            ●  Create or Import new Images into
           OCA (Ruby, Java)                    Scheduler       the Image Repository
                      XML-RPC API                           ●  File management between the
                                                               Image Repository and the physical
                                                               hosts
                    OpenNebula core


  Monitoring        Storage        Network          DB
 Virtualization     Images           Auth



                     OpenNebula distribution                         Community contributions


                  ●  Shared FS
                                                                                          scp-tsunami
                  ●  LVM                                   MooseFS
                  ●  iSCSI                                                CDMI API
                  ●  SSH
                                                           Market Place                   Swift/Glance
                  ●  HTTP


The OpenNebula Project                                                                                   9/18
The OpenNebula Architecture
How to Develop Drivers!
                                                           Networking drivers
                                 Cloud
     CLI            GUI
                                Servers                    ●  Manage network configuration in
           OCA (Ruby, Java)                    Scheduler      the hosts
                                                           ●  Firewalling rules
                       XML-RPC API
                                                           ●  Network Isolation
                     OpenNebula core                       ●  Bridge creation


  Monitoring         Storage        Network         DB
 Virtualization      Images           Auth




                     OpenNebula distribution

                  ●  VLAN, 802.1Q
                  ●  OpenvSwitch
                  ●  ebtables
                  ●  FLAT




The OpenNebula Project                                                                         10/18
The OpenNebula Architecture
How to Develop Drivers!
                                                         Authentication drivers
                               Cloud
     CLI          GUI
                              Servers                    ●  Strong security
                                             Scheduler
           OCA (Ruby, Java)                              ●  Flexibility
                    XML-RPC API

                                                         Authorization drivers
                  OpenNebula core
                                                         ●  Add any limitations to the user
                                                            actions
  Monitoring      Storage          Network         DB
 Virtualization   Images             Auth




                         OpenNebula distribution               Community contributions

                   ●  SSH Keypairs
                   ●  x509 Certificates
                   ●  LDAP
                   ●  ACLs
                   ●  Quotas




The OpenNebula Project                                                                        11/18
The OpenNebula Architecture
How to Interact with OpenNebula!
                                                         XML-RPC
                               Cloud
     CLI          GUI
                              Servers                    ●  Simple, fast
                                             Scheduler
           OCA (Ruby, Java)                              ●  Works in any language
                    XML-RPC API

                                                         OCA (OpenNebula Cloud API)
                  OpenNebula core
                                                         ●  High level bindings
                                                         ●  Complete functionality
  Monitoring      Storage         Network          DB
                                                         ●  Ruby, Java, Python
 Virtualization    Images             Auth



                  OpenNebula distribution                             Community Contributions

       Administrator GUI                User GUI




                                                           ●  OCCI
                         Cloud APIs
                                                                                  ●  CDMI

                                                           ●  OVF

The OpenNebula Project                                                                          12/18
The OpenNebula Architecture
How to Interact with OpenNebula!
  OCA Ruby Example:
      Shutdown all my Virtual Machines




The OpenNebula Project                   13/18
So much more
Multi-tier Cloud Architecture!


                                     CloudFront
                                 •  Portal
                                 •  Cloud API (EC2, OCCI)
     User                        •  Global AuthN




          OpenNebula Zone                                   OpenNebula Zone
            •  Multi-tenancy                                •    Multi-tier arch.
            •  Runs Instances                               •    Scalable
            •  Stores Images                                •    Isolation
            •  Networking                                   •    Multiple-site
            •  Authorization                                     support




The OpenNebula Project                                                              14/18
Join our growing community!
Organizations Building Clouds and Innovative Projects!

    Organizations Building Clouds for Development, Testing and Production




         Projects Building an Open Cloud Ecosystem Around OpenNebula




                         16,000 VMs!




The OpenNebula Project                                                  15/18
Join our growing community!


 How to contribute
 ● Join our mailing list
 ● Follow the development at dev.opennebula.org




 Ecosystem projects
 ● OpenNebula hosts an ecosystem catalog
 ● Promote and discuss ecosystem projects in our ecosystem
   mailing list

 IRC Channel
 ● #opennebula on irc.freenode.net


The OpenNebula Project                                       16/18
Questions?
We Will Be Happy to Answer any Question !

                                          @opennebula




                         The research leading to these results has received funding from the European Union's Seventh
                         Framework Programme ([FP7/2007-2013] ) under grant agreement n° 261552 (StratusLab Project)


The OpenNebula Project                                                                                             17/18

FOSDEM 2012 - OpenNebula Project

  • 1.
    FOSDEM 2012 Brussels, Belgium, February 4th, 2012 The OpenNebula Project Carlos Martín Daniel Molina Developers Acknowledgments The research leading to these results has received funding from the European Union's Seventh Framework Programme ([FP7/2007-2013] ) under grant agreement n° 261552 (StratusLab Project) © OpenNebula Project. Creative Commons Attribution-NonCommercial-ShareAlike License 1/18
  • 2.
    What is OpenNebula? IaaSCloud Computing Tool for Managing a Data Center's Virtual Infrastructure! Data Center Virtualization Manager ● Open-source Apache license Public User ● Interoperable, based on standards ● Adaptable Private Clouds Private ● Virtualize your on-premise infrastructure User Hybrid Clouds ●  Extend your private cloud with resources from a remote cloud provider Pubic Clouds Administrator ●  Expose standard cloud interfaces Ready for end-users Remote Physical Infrastructure Provider ●  Advanced user management ●  CLI and Web Interface The OpenNebula Project 2/18
  • 3.
    What is OpenNebula? Buildingthe Industry Standard Open Source Cloud Computing Tool! Third party scalability • Develop & innovate tests: 16000 VMs • Support the community • Collaborate Commercial Support TP v1.0 v1.2 v1.4 v2.0 v2.2 V3.0 V3.2 2005 2008 2009 2010 2011 2012 dsa group doing research… 4,000 downloads/ month European Funding The OpenNebula Project 3/18
  • 4.
    What is OpenNebula? AReally Quick Demo! ●  Let’s take a look at Sunstone! The OpenNebula Project 4/18
  • 5.
    The OpenNebula Architecture APeek under the Hood! CLI GUI Cloud Servers Scheduler OCA (Ruby, Java) XML-RPC API OpenNebula core Monitoring Storage Network DB Virtualization Images Auth Design Principles Languages ● Modularity ● Lightness ● Openness The OpenNebula Project 5/18
  • 6.
    The OpenNebula Architecture Howto Develop Drivers! Drivers Cloud CLI GUI Servers ● Small scripts for each action Scheduler OCA (Ruby, Java) ● Any language (Shell, Ruby…) XML-RPC API ● Different drivers can co-exist in heterogeneous environments OpenNebula core Monitoring Storage Network DB Virtualization Images Auth Easy to adapt Easy to create new ones The OpenNebula Project 6/18
  • 7.
    The OpenNebula Architecture Howto Develop Drivers! Virtualization Drivers Cloud CLI GUI Servers ●  Translate the OpenNebula VM life- OCA (Ruby, Java) Scheduler cycle management into specific hypervisor operations XML-RPC API Monitoring Drivers ●  Gather information about the OpenNebula core physical host and hypervisor status Monitoring Storage Network Hybrid Cloud Drivers DB Virtualization Images Auth ●  Interact with an external provider instead of a hypervisor OpenNebula distribution Community contributions The OpenNebula Project 7/18
  • 8.
    The OpenNebula Architecture Howto Develop Drivers! Virtualization Driver Example: Hypervisor: Xen Action: migrate Description: live-migrates a running VM to the specified Host The OpenNebula Project 8/18
  • 9.
    The OpenNebula Architecture Howto Develop Drivers! Image & Storage Drivers Cloud CLI GUI Servers ●  Create or Import new Images into OCA (Ruby, Java) Scheduler the Image Repository XML-RPC API ●  File management between the Image Repository and the physical hosts OpenNebula core Monitoring Storage Network DB Virtualization Images Auth OpenNebula distribution Community contributions ●  Shared FS scp-tsunami ●  LVM MooseFS ●  iSCSI CDMI API ●  SSH Market Place Swift/Glance ●  HTTP The OpenNebula Project 9/18
  • 10.
    The OpenNebula Architecture Howto Develop Drivers! Networking drivers Cloud CLI GUI Servers ●  Manage network configuration in OCA (Ruby, Java) Scheduler the hosts ●  Firewalling rules XML-RPC API ●  Network Isolation OpenNebula core ●  Bridge creation Monitoring Storage Network DB Virtualization Images Auth OpenNebula distribution ●  VLAN, 802.1Q ●  OpenvSwitch ●  ebtables ●  FLAT The OpenNebula Project 10/18
  • 11.
    The OpenNebula Architecture Howto Develop Drivers! Authentication drivers Cloud CLI GUI Servers ●  Strong security Scheduler OCA (Ruby, Java) ●  Flexibility XML-RPC API Authorization drivers OpenNebula core ●  Add any limitations to the user actions Monitoring Storage Network DB Virtualization Images Auth OpenNebula distribution Community contributions ●  SSH Keypairs ●  x509 Certificates ●  LDAP ●  ACLs ●  Quotas The OpenNebula Project 11/18
  • 12.
    The OpenNebula Architecture Howto Interact with OpenNebula! XML-RPC Cloud CLI GUI Servers ●  Simple, fast Scheduler OCA (Ruby, Java) ●  Works in any language XML-RPC API OCA (OpenNebula Cloud API) OpenNebula core ●  High level bindings ●  Complete functionality Monitoring Storage Network DB ●  Ruby, Java, Python Virtualization Images Auth OpenNebula distribution Community Contributions Administrator GUI User GUI ●  OCCI Cloud APIs ●  CDMI ●  OVF The OpenNebula Project 12/18
  • 13.
    The OpenNebula Architecture Howto Interact with OpenNebula! OCA Ruby Example: Shutdown all my Virtual Machines The OpenNebula Project 13/18
  • 14.
    So much more Multi-tierCloud Architecture! CloudFront •  Portal •  Cloud API (EC2, OCCI) User •  Global AuthN OpenNebula Zone OpenNebula Zone •  Multi-tenancy •  Multi-tier arch. •  Runs Instances •  Scalable •  Stores Images •  Isolation •  Networking •  Multiple-site •  Authorization support The OpenNebula Project 14/18
  • 15.
    Join our growingcommunity! Organizations Building Clouds and Innovative Projects! Organizations Building Clouds for Development, Testing and Production Projects Building an Open Cloud Ecosystem Around OpenNebula 16,000 VMs! The OpenNebula Project 15/18
  • 16.
    Join our growingcommunity! How to contribute ● Join our mailing list ● Follow the development at dev.opennebula.org Ecosystem projects ● OpenNebula hosts an ecosystem catalog ● Promote and discuss ecosystem projects in our ecosystem mailing list IRC Channel ● #opennebula on irc.freenode.net The OpenNebula Project 16/18
  • 17.
    Questions? We Will BeHappy to Answer any Question ! @opennebula The research leading to these results has received funding from the European Union's Seventh Framework Programme ([FP7/2007-2013] ) under grant agreement n° 261552 (StratusLab Project) The OpenNebula Project 17/18