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

henry hly henry4hly at gmail.com
Thu Oct 23 07:12:33 UTC 2014


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



More information about the OpenStack-dev mailing list