[openstack-dev] [all] [tc] Multi-clouds integration by OpenStack cascading

joehuang joehuang at huawei.com
Thu Oct 23 08:58:55 UTC 2014


Hi,

Because I am not able to find a meeting room to have deep diving OpenStack cascading before design summit. You are welcome to have a f2f conversation about the cascading before design summit. I planned to stay at Paris from Oct.30 to Nov.8, if you have any doubt or question, please feel free to contact me. All the conversation is for clarification / idea exchange purpose, not for any secret agreement purpose. It is necessary before design summit, for design summit session, it's only 40 minutes, if all 40 minutes are spent on basic question and clarification, then no valuable conclusion can be drawn in the meeting. So I want to work as client-server mode, anyone who is interested in talking cascading with me, just tell me when he will come to the hotel where I stay at Paris, then a chat could be made to reduce misunderstanding, get more clear picture, and focus on what need to be discussed and consensuses during the design summit session. 

>>>"It kind of feels to me that if we just concentrated on the part of this that is working out how to distribute/federate Neutron then we'd have a solution that could be mapped as easily cells and/or regions - and I wonder if then why really need yet another aggregation concept ?"

My answer is that it seems to be feasible but can not meet the muti-site cloud demand (that's the drive force for cascading): 
1) large cloud operator ask multi-vendor to build the distributed but unified multi-site cloud together and each vendor has his own OpenStack based solution. If shared Nova/Cinder with federated Neutron used, the cross data center integration through RPC message for multi-vendor infrastrcuture is very difficult, and no clear responsibility boundry, it leads to difficulty for trouble shooting, upgrade, etc.
2) restful API /CLI is required for each site to make the cloud always workable and manageable. If shared Nova/Cinder with federated Neutron, then some data center is not able to expose restful API/CLI for management purpose.
3) the unified cloud need to expose open and standard api. If shared Nova / Cinder with federated Neutron, this point can be arhieved.

Best Regards

Chaoyi Huang ( joehuang )

-----Original Message-----
From: henry hly [mailto:henry4hly at gmail.com] 
Sent: Thursday, October 23, 2014 3:13 PM
To: OpenStack Development Mailing List (not for usage questions)
Subject: Re: [openstack-dev] [all] [tc] Multi-clouds integration by OpenStack cascading

Hi Phil,

Thanks for your feedback, and patience of this long history reading :) See comments inline.

On Wed, Oct 22, 2014 at 5:59 PM, Day, Phil <philip.day at hp.com> wrote:
>> -----Original Message-----
>> From: henry hly [mailto:henry4hly at gmail.com]
>> Sent: 08 October 2014 09:16
>> To: OpenStack Development Mailing List (not for usage questions)
>> Subject: Re: [openstack-dev] [all] [tc] Multi-clouds integration by 
>> OpenStack cascading
>>
>> Hi,
>>
>> Good questions: why not just keeping multiple endpoints, and leaving 
>> orchestration effort in the client side?
>>
>> From feedback of some large data center operators, they want the 
>> cloud exposed to tenant as a single region with multiple AZs, while 
>> each AZ may be distributed in different/same locations, very similar with AZ concept of AWS.
>> And the OpenStack API is indispensable for the cloud for eco-system 
>> friendly.
>>
>> The cascading is mainly doing one thing: map each standalone child 
>> Openstack to AZs in the parent Openstack, hide separated child 
>> endpoints, thus converge them into a single standard OS-API endpoint.
>>
>> One of the obvious benefit doing so is the networking: we can create 
>> a single Router/LB, with subnet/port member from different child, 
>> just like in a single OpenStack instance. Without the parent 
>> OpenStack working as the aggregation layer, it is not so easy to do 
>> so. Explicit VPN endpoint may be required in each child.
>>
> I've read through the thread and the various links, and to me this still sounds an awful lot like having multiple regions in Keystone.
>
> First of all I think we're in danger of getting badly mixed up in terminology here around AZs which is an awfully overloaded term - esp when we make comparisons to AWS AZs.  Whether we think the current Openstack usage of these terms or not, lets at least stick to how they are currently defined and used in Openstack:
>
> AZs - A scheduling concept in Nova and Cinder.    Simply provides some isolation schemantic about a compute host or storage server.  Nothing to do with explicit physical or geographical location, although some degree of that (separate racks, power, etc) is usually implied.
>
> Regions - A keystone concept for a collection of Openstack Endpoints.   They may be distinct (a completely isolated set of Openstack service) or overlap (some shared services).  Openstack clients support explicit user selection of a region.
>
> Cells - A scalability / fault-isolation concept within Nova.  Because Cells aspires to provide all Nova features transparently across cells this kind or acts like multiple regions where only the Nova service is distinct (Networking has to be common, Glance has to be common or at least federated in a transparent way, etc).   The difference from regions is that the user doesn’t have to make an explicit region choice - they get a single Nova URL for all cells.   From what I remember Cells originally started out also using the existing APIs as the way to connect the Cells together, but had to move away from that because of the performance overhead of going through multiple layers.
>
>

Agree, it's very clear now. However isolation is not all about hardware and facility fault, REST API is preferred in terms of system level isolation despite the theoretical protocol serialization overhead.

>
> Now with Cascading it seems that we're pretty much building on the 
> Regions concept, wrapping it behind a single set of endpoints for user 
> convenience, overloading the term AZ

Sorry not very certain of the meaning "overloading". It's just a configuration choice by admin in the wrapper Openstack. As you mentioned, there is no explicit definition of what a AZ should be, so Cascading select to map it to a child Openstack. Surely we could use another concept or invent new concept instead of AZ, but AZ is the most appropriate one because it share the same semantic of "isolation"
with those child.

> to re-expose those sets of services to allow the user to choose between them (doesn't this kind of negate the advantage of not having to specify the region in the client- is that really such a bit deal for users ?) , and doing something to provide a sort of federated Neutron service - because as we all know the hard part in all of this is how you handle the Networking.
>
> It kind of feels to me that if we just concentrated on the part of this that is working out how to distribute/federate Neutron then we'd have a solution that could be mapped as easily cells and/or regions - and I wonder if then why really need yet another aggregation concept ?
>

I agree that it's not so huge a gap between cascading AZ and standalone endpoints for Nova and Cinder. However, wrapping is strongly needed by customer feedback for Neutron, especially for those who operate multiple internally connected DC. They don't like to force tenants to create multiple route domain, connected with explicit vpnaas. Instead they prefer a simple L3 router connecting subnets and ports from different DC, just as today within the single endpoint.

It's certainly a reasonable advice with hybrid solution: standalone Nova endpoints, and single wrapped tree of distributed Neutron. In fact tt has been an option in the history of our Cascading project, but we found it is complex for the customer to manage, and not so clear in the architecture model. Detail f2f discuss is appreciated if there is a chance later.

Best Regards
Wu



> Phil
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

_______________________________________________
OpenStack-dev mailing list
OpenStack-dev at lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


More information about the OpenStack-dev mailing list