Hybrid Cloud Framework for OpenStack using nova-cells

Registered by Abdul Hannan Kanji

Presently the OpenStack architecture has no support for hybrid cloud framework which is necessary for enterprises as resolves sudden peaks in traffic efficiently by using resources from public cloud infrastructures like Amazon EC2.
            The objective of this project is to implement the hybrid cloud framework into OpenStack. This will be used to Balance load between the public and private cloud together. It also provides a uniform and homogeneous view of the virtualized resources, regardless of it being from the private or the public cloud. This infrastructure is capable of managing the entire lifecycle of the VMs running on that cloud.

DESIGN:

Framework using Nova Cells:
            This hybrid cloud framework uses Nova Cells to map the public cloud as a sub cloud to OpenStack. This involves implementing the public cloud as a child cell in the Cells implementation in OpenStack. Hence, the parent cell balances load between the public child cell and the public child cell. In this architecture, a separate hybrid “pseudo child cell” is used in which the virtualization driver is overridden to contact a public cloud using the provided APIs. The private cloud looks at the public cloud element as one single child cell. Hence, using this architecture, we can scale the Openstack cloud across geographic regions and also, enable leveraging resources from the public cloud. Hence, makes the cloud more elastic. The scheduling and decision to burst to the public cloud is taken at the Cell level.

Virtualization Driver:
             A new Virtualization driver is implemented based on the existing driver framework. This driver classed EC2Driver uses Amazon EC2 API to contact EC2 and forward requests to it. Endpoints returned are updated in OpenStack. This is a pluggable driver and changing the configuration to use this driver will enable it.

Current Services Provided:
             The following features of the hybrid cloud have been implemented.
1. Load Based Cells Scheduler to decide on whether to burst to the public cloud.
2. EC2 Driver to use EC2 API to spawn and manage VM's on Amazon EC2.
3. All features related to spawning and managing a VM have been implemented.

Network:
              Currently the implementation uses Nova network to manage all network services. Work is underway to shift all Network Management services to Neutron. To facilitate communication between remote clouds, a VPN is established.

PROJECT IMPLEMENTATION:
           The projects has been implemented with Amazon EC2 as the foreign cloud and also another OpenStack cloud as the foreign cloud. Hence, for enterprises which are restricted from moviing to the public cloud, the OpenStac-OpenStack architecture provides them with all the features of a private-public hybrid cloud. A separate driver called OpenStackDrvier uses Nova API to forward requests to the remote OpenStack cloud. Hence, we will have both OpenStack-EC2 as well as OpenStack to OpenStack type of bursting mechanisms.

Blueprint information

Status:
Started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Drafting
Series goal:
None
Implementation:
Started
Milestone target:
None
Started by
Abdul Hannan Kanji

Related branches

Sprints

Whiteboard

If you are still working on this, please re-submit via nova-specs. If not, please mark as obsolete, and add a quick comment to describe why. --johnthetubaguy (20th April 2014)

We are working on this project and will be presenting at the Atlanta summit. We will re-submit via nova-specs. Thank you. --Vidhisha B

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.