Cloud Platform for Networking: OpenNebule
OpenNebula 1 is a open source toolbox for cloud computing, and its overall architecture as shown in Fig. 3.1. It supports to establish and manage the private cloud with the implementation of Xen [1], Kernel-based Virtual Machine (KVM) [4], or VMware ESX [6], and provides Deltacloud 2 adapter collaborative with Amazon Elastic Compute Cloud (Amazon EC2) [10] to manage the hybrid cloud. Besides the cloud service providers like Amazon, the Amazon partners running the private cloud on the different OpenNebula instances can also play the role of the remote cloud service providers. The current version of OpenNebula supports XEN, KVM, and VMware, as well as real-time access to EC2 and ElasticHosts. 3 Furthermore, it supports the image file copy and transmission, and virtual network management.
OpenNebula provides the following functions to the enterprise for implementing the private cloud, hybrid cloud, and public cloud:
- Highly secure multi-tenant operations;
- On-demand preparation and monitoring of computing, storage, and network resources;
- High availability;
- Distributed resource optimization to provide better workload performance;
- Centralized management across multiple regions and available interfaces;
- High scalability.
As shown in Fig. 3.2, the private cloud aims to give local users and administrators with a flexible and agile private infrastructure, to run the virtual services in the manageable domain managed. OpenNebula virtual infrastructure exposes the Application Programming Interfaces (APIs) of virtualization, networking, image and physical resources configuration, management, monitoring, and accounting.
An OpenNebula private cloud provides the users with a fast delivery and scalable infrastructure platform to meet the dynamic demands. The services are hosted in a virtual machine, and then submitted, monitored, and controlled through OpenNebula operations center or OpenNebula interfaces in the cloud.
As shown in Fig. 3.3, OpenNebula provides Deltacloud adapter and Amazon EC2 to manage the hybrid cloud.
The OpenNebula public cloud is an extension of the private cloud to expose the Representational State Transfer (REST) interface. If you permit your partners or external users access to your infrastructure or to sell your services, the cloud interface should be added to your private or hybrid cloud. Obviously, a local cloud solution is the natural backend for any public cloud.
As shown in Fig. 3.4, OpenNebula framework consists of three layers: the drivers layer, the core layer, and the tools layer. The drivers layer directly interacts with the operating system to create, startup, and shut down the VMs, allocate storage for the VMs, and monitor the status of the physical and virtual machines. The core layer manages the VMs, storage devices, and virtual networks. The tools layer provides the users with the APIs and the command line or browser as the user interface.
OpenNebula uses the shared storage devices to provide VM images so that each compute node can access the same VM image resource. If users need to start or shutdown a VM, OpenNebula will login to the compute node to directly running the corresponding virtualization management commands. This model is also known as agentless [7] to eliminate the need to install the additional software (or service) on the compute nodes, so the system complexity is relatively lower.
Moreover, OpenNebula uses the bridge to connect the virtual network, while the IP and Media Access Control (MAC) address of each node is generated within a certain range. The network will be connected to a specific bridge, while each bridge has his network owner and it can be public or private. The virtual network is isolated from each other, and it uses Ebtables 4 to filter the data link layer packet.