2. 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/25
3. What is OpenNebula?
A Quick Demo!
● Let’s take a look at Sunstone!
The OpenNebula Project 3/25
4. What is OpenNebula?
Appliances Ready to Run!
OpenNebula Marketplace Virtual Appliance
● Catalog of Virtual Appliances ● Virtual machine image and
● Users and organizations can share configuration files
their Appliances ● Ready to run
● Fully integrated with OpenNebula
marketplace.c12g.com
The OpenNebula Project 4/25
5. The Cloud Provider Perspective
What are the Main Components to Build a Cloud Infrastructure?!
VM Instance Networks
Internet
• Public and private networks
Front-end Hosts
• Authentication • Multiple hypervisors
• Authorization • Up to 500 hosts
• ACLs, roles, • Automatic failover and HA
groups… • Resource pools
• Accounting • Automatic resource allocation
• Logging
• Resource quotas
Service Networks Datastores
• Monitoring, control… • VM image storage
• Live migration… • Multiple datastores
• Storage access… • Heterogeneous configurations
• Shared or non-shared
The OpenNebula Project 5/25
6. The Cloud Provider Perspective
Broad Commodity and Enterprise Platform Support!
VM Instance Networks
Internet
• VLAN per user (layer2)
• Open vSwitch, 802.1q
• Ebtables
Front-end Hosts
• X509, LDAP, • VMware,
ssh keys • Xen
• ACLs, • KVM
permissions,
groups
Service Networks Datastores
• SSH, Ganglia/Nagios • DFS: NFS, Gluster, GlusterFS…
• Additional monitor agents • SAN: Fibre Channel, iSCSI, LVM…
• SSH
The OpenNebula Project 6/25
7. The Cloud Provider Perspective
Clustering the Physical Resources!
Clusters
• Pools of hosts that share datastores and networks
• Used for load balancing, high availability, and high performance computing
Multiple Datastores per Cluster
• Balance I/O operations between storage servers
• Define different SLA policies (e.g. backup) and performance features for
different VM types or users
The OpenNebula Project 7/25
8. The Cloud Provider Perspective
Centralized Management of Multiple OpenNebula Instances (Zones)!
Federation of Clouds
• Multi-tier architecture
• Scalability
oZones Server • Isolation
• Portal • Multiple-site support
Cloud • Cloud API (EC2, OCCI)
Administrator/ • Global AuthN
Consumer
The OpenNebula Project 8/25
9. The Cloud Provider Perspective
On-demand Provision of Virtual Data Centers!
Virtual Private Cloud Computing
● Typical scenario in large organizations
and cloud providers
● On-demand provision of fully-
configurable and isolated VDC with full
control and capacity to administer its
users and resources
The OpenNebula Project 9/25
10. The Cloud Provider Perspective
Hybrid Cloud Computing!
● Extension of the local private infrastructure with resources from remote clouds
● Cloudbursting to meet peak or fluctuating demands
Cloud Consumer
Cloud Provider
The OpenNebula Project 10/25
11. The Cloud Provider Perspective
How Can I Operate my Cloud Infrastructure?!
… programming APIs (create new tools and integrate), web interfaces (simplify
operation), and command lined interface (create scripts)…
CLI
API
● XML-RPC
● OCA (Ruby, Java, Python)
The OpenNebula Project 11/25
12. The Cloud Integrator Perspective
The Cloud Integrator Perspective!
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 12/25
13. The Cloud Integrator Perspective
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 13/25
14. The Cloud Integrator Perspective
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 14/25
15. The Cloud Integrator Perspective
How to Develop Drivers!
Virtualization Driver Example:
Hypervisor: Xen
Action: migrate
Description: live-migrates a running VM to the specified Host
The OpenNebula Project 15/25
16. The Cloud Integrator Perspective
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 16/25
17. The Cloud Integrator Perspective
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 17/25
18. The Cloud Integrator Perspective
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
● Active Directory
● ACLs
● Quotas
The OpenNebula Project 18/25
19. The Cloud Integrator Perspective
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 19/25
20. The Cloud Integrator Perspective
How to Interact with OpenNebula!
OCA Ruby Example:
Shutdown all my Virtual Machines
The OpenNebula Project 20/25
21. About the OpenNebula Project
A Project Aimed at Building the Industry Standard Open Cloud Management 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 3.4 3.6
2005 2008 2009 2010 2011 2012
dsa group doing
research…
4,000 downloads/
month
European Funding
The OpenNebula Project 21/25
22. About the OpenNebula Project
Open Cloud Enabler in the ICT Industry!
Enabling Hosting Companies and Telcos to Offer Cloud Services
Enabling Technology Companies to Offer Cloud Products
Enabling Service Companies to Offer Cloud Consulting and Integration
The OpenNebula Project 22/25
23. About the OpenNebula Project
Open Cloud Enabler for Building and Operating Virtualized Data Centers!
Industry
Supercomputing Centers
Research Centers
The OpenNebula Project 23/25
24. 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 24/25
25. Questions?
We Will Be Happy to Answer any Question !
TL; DR: OpenNebula is awesome, go check it out!
@opennebula
The research leading to these results has received funding from Comunidad de Madrid through
research grant MEDIANET S2009/TIC-1468,
The OpenNebula Project 25/25