Jump to: navigation, search

Difference between revisions of "OpenStack cascading solution"

(Advantage of the architecture)
(Proof of Concept)
Line 124: Line 124:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Member !! E-Mail !! Role
+
! Member !! Chinese Name !! E-Mail !! Role
 
|-
 
|-
| Chaoyi Huang || joehuang@huawei.com || inventor, designer of Nova/Cinder/Glance cascading, code reviewer
+
| Chaoyi Huang || 黄朝意 || joehuang@huawei.com || inventor, designer of Nova/Cinder/Glance cascading, code reviewer
 
|-
 
|-
| Hongning Wu || wuhongning@huawei.com ||  inventor, designer of Neutron cascading, code reviewer
+
| Hongning Wu || 吴红宁 ||  wuhongning@huawei.com ||  inventor, designer of Neutron cascading, code reviewer
 
|-
 
|-
| Fan Qin || qinfan@huawei.com || developer of Nova cascading
+
| Fan Qin || 覃帆 ||  qinfan@huawei.com || developer of Nova cascading
 
|-
 
|-
| Chi Zhang || z.zhangchi@huawei.com || developer of Cinder cascading
+
| Chi Zhang || 张驰 ||  z.zhangchi@huawei.com || developer of Cinder cascading
 
|-
 
|-
| Haojie Jia || jiahaojie@huawei.com || developer of Neutron cascading
+
| Haojie Jia || 贾豪杰 ||  jiahaojie@huawei.com || developer of Neutron cascading
 
|-
 
|-
| Dong Jia || jiadong.jia@huawei.com || developer of Glance cascading
+
| Dong Jia || 贾栋 ||  jiadong.jia@huawei.com || developer of Glance cascading
 
|-
 
|-
|  ||  ||  
+
|  ||  ||  ||  
 
|}
 
|}
  

Revision as of 02:55, 26 July 2014

Overview

OpenStack cascading solution is designed for large scale distributed cloud, for example, a cloud with million level VMs distributed in many data centers.

OpenStack cascading mainly concentrate on API aggregation, merging multiple child OpenStacks to work as a single Openstack in the tenant access API interface(Nova/Cinder/Neutron/Glance/Ceilometer API). For tenants, it is a single region, and multiple child OpenStacks are not visible which had already been aggregated and hidden by the parent OpenStack. The tenant can see multiple "available zones", and each child OpenStack exactly work internally as Amazon like availability zone.

  • The parent OpenStack expose standard OpenStack API
  • The parent OpenStack manage many child OpenStacks by using standard OpenStack API
  • Each child OpenStack functions as a Amazon like available zone and is hidden by the parent OpenStack

Cascading01.png

  • Cascading OpenStack: the parent OpenStack, providing API and scheduling and orchestration of Cascaded OpenStacks
  • Cascaded OpenStack: the child OpenStack, provisioning the VM, Volume and virtual Networking resources

Challenges when building large scale cloud

To build large scale OpenStack based cloud, for example, the cloud includes 1 million VMs or 100k hosts. There are big challenges

Naturally, there are two ways to do that:

1. scale up a single monolithic OpenStack region, but

  • It’s a big challenge for a single OpenStack to manage scale for example 1 million VMs or 100K hosts.
  • Can not obtain real fault isolation area like EC2’s available zone, all of the cloud are tighten up into one OpenStack because of shareing RPC message bus and database.
  • Single huge monolithic system bring high risk with OAM & trouble shooting, and big challenge for even the most skilled Op team to handle SW rolling upgrade and configuration changes, etc.
  • Difficult for heterogeneous vendor’s infrastructure integration, multi-vendor's infrastructure co-existence is high demand for large scale cloud


2. setup hundreds of OpenStack Regions with discrete API endpoint, but

  • Have to buy or develop his own cloud management platform to integrate the discrete cloud into one cloud, and also, OpenStack API ecosystem is lost.
  • Or, leave customer with splitted resource island without any association…

Architecture of OpenStack cascading

For detailed architecture design, please refer to following links.
Please leave your comments in the Google Doc or send mail to PoC team member ( Listed in PoC team section) .

(release date: July 25, 2014)


The OpenStack cascading includes cascading of Nova, Cinder, Neutron, Glance and Ceilometer. KeyStone will be global service shared by cascading and cascaded OpenStacks, and Heat will consume cascading OpenStack API. Therefore no cascading is required for KeyStone and Heat.

Cascading02.png


  • Nova-Proxy: Transfer the VM operation to cascaded Nova. Also responsible for attach volume and network to the VM in the cascaded OpenStack.
  • Cinder-Proxy: Transfer the volume operation to cascaded Cinder.
  • L2-Proxy: Finish L2-networking in the cascaded OpenStack, including cross OpenStack networking.
  • L3-Proxy: Finish L3-networking in the cascaded OpenStack, including cross OpenStack networking.
  • FW-Proxy: TBD
  • LB-Proxy: TBD
  • VPN-Proxy: TBD


Cascading03.png


  • Sync-Manager: Synchronize image among the cascading and policy determined Cascaded OpenStacks
  • Ceilometer-Proxy: Transfer the request to destined Ceilometer or collect information from several Ceilometer. Implementation not started

Advantage of the architecture

See more detail information in the document linked in the section "Architecture of OpenStack cascading". The major advantage of the architecture is listed here:

Cascading04.png

  • Aggregated distributed cloud with one OpenStack API endpoint


Cascading OpenStack aggregate many Cascaded OpenStack via standard OpenStack API, and expose with one OpenStack API endpoint by cascading OpenStack.

Cascading05.png

  • Fault isolation with Amazon like availability zone


if one Cascaded OpenStack failed, other part of the cloud can still work and accessible. This makes one cascaded OpenStack can act as Amazon like Availability Zone. If Cascading OpenStack failed, all Cascaded OpenStacks are still manageable via OpenStack API independently. In phase I, the provisioning is not allowed for consistency consideration between cascading and Cascaded OpenStack. In phase II, after the consistency issue is solved, the provisioning can be allowed even if Cascading OpenStack is failed.

Cascading06.png

  • Reduce Upgrade / OAM challenge with availability zone granularity


Cascading OpenStack manages Cascaded OpenStacks via standard OpenStack API. OpenStack api is restful API with backward compatibility.

Each Cascaded OpenStack and Cascading OpenStack can be managed independently as standalone OpenStack. Therefore the upgrade or operation and maintenance can be done in availability zone granularity.

Cascading07.png

  • Plug & Play fast integration with OpenStack API


Relied on the standard OpenStack API managed by Cascading OpenStack, a new vendor’s physical resources with OpenStack built-in could be integrated into the cloud via plug & play model, just like USB device plugged into PC. This benefit makes OpenStack API as the soft defined “PCI” bus in Cloud era.

Cascading08.png

  • Scale out architecture even across multiple data centers


Scalability not only in one Cascaded OpenStack, but also for multi-vendors’s Cascaded OpenStack spread into many datacenters. Because OpenStack API is restful API, one Cascading OpenStack to manage multiple data centers across WAN or LAN is feasible.

Use Case

  • Use Case 1:

The cloud admin wants to provide one cloud to tenants with one OpenStack api. The cloud is very large scale, and the cloud will be one standalone region in one big data center. The cloud will grow with capacity expansion gradually, to avoid vendor-lock in, multiple vendors to build the cloud is also required.

  • Use Case 2:

The cloud admin wants to provide one cloud to tenants with one OpenStack api. The cloud is very large scale, and the cloud will include resources distributed in multiple data centers. The cloud will grow with capacity expansion gradually, to avoid vendor-lock in, multiple vendors to build the cloud is also required.


Cascading10.png


Blueprints

To start an incubation project or register blueprint under different project with one umbrella blueprint, it's a tough decision. None of current contribution methodology can work for OpenStack cascading: many projects like Nova/Cinder/Neutron/Glance/Ceilometer are involved, they work together to make cascading work. After the OpenStack cascading is introduced, the CI is quite different from the current single OpenStack instance CI environment, the CI enrionment for OpenStack cascading needs at least one cascading OpenStack and two cascaded OpenStack.

Your comments are welcome.

The blueprints are:

[tbd]

Proof of Concept

The PoC team welcome discussion on any topic of OpenStack cascading solution. Please send mail to all PoC team member for any topic.

Member Chinese Name E-Mail Role
Chaoyi Huang 黄朝意 joehuang@huawei.com inventor, designer of Nova/Cinder/Glance cascading, code reviewer
Hongning Wu 吴红宁 wuhongning@huawei.com inventor, designer of Neutron cascading, code reviewer
Fan Qin 覃帆 qinfan@huawei.com developer of Nova cascading
Chi Zhang 张驰 z.zhangchi@huawei.com developer of Cinder cascading
Haojie Jia 贾豪杰 jiahaojie@huawei.com developer of Neutron cascading
Dong Jia 贾栋 jiadong.jia@huawei.com developer of Glance cascading

Hands on lab

coming soon, hopefully in August, 2014
[tbd]

Source Code Repository

coming soon, the source code will be available from Github, hopefully in August, 2014
[tbd]

CI Environment

Ask for help. Warmly welcome CI guru to help build the CI environment for OpenStack cascading solution.

How to Play

Your comments are welcome. [tbd]

Mail-list

The OpenStack cascading solution PoC team has no special mail-list currently. You can also use OpenStack dev list to reach us, please include [openstack-dev] [cascading] in the mail title.

Meetings

[tbd]

Technology Hub

Last update

July 25, 2014