Re: [sfc] WG adoption of draft-quinn-sfc-problem-statement-02

Chris Frederick <cfrederick@sandvine.com> Fri, 24 January 2014 17:09 UTC

Return-Path: <cfrederick@sandvine.com>
X-Original-To: sfc@ietfa.amsl.com
Delivered-To: sfc@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5839B1A0008 for <sfc@ietfa.amsl.com>; Fri, 24 Jan 2014 09:09:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.834
X-Spam-Level:
X-Spam-Status: No, score=-1.834 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, J_CHICKENPOX_91=0.6, RP_MATCHES_RCVD=-0.535] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NsK6ugyhjXXk for <sfc@ietfa.amsl.com>; Fri, 24 Jan 2014 09:09:48 -0800 (PST)
Received: from mail1.sandvine.com (Mail1.sandvine.com [64.7.137.134]) by ietfa.amsl.com (Postfix) with ESMTP id BC0A61A0057 for <sfc@ietf.org>; Fri, 24 Jan 2014 09:09:47 -0800 (PST)
Received: from WTL-EXCHP-2.sandvine.com ([fe80::68ac:f071:19ff:3455]) by wtl-exchp-1.sandvine.com ([fe80::ac6b:cc1e:f2ff:93aa%20]) with mapi id 14.01.0339.001; Fri, 24 Jan 2014 12:09:45 -0500
From: Chris Frederick <cfrederick@sandvine.com>
To: Linda Dunbar <linda.dunbar@huawei.com>, "Paul Quinn (paulq)" <paulq@cisco.com>, "mikebianc@aol.com" <mikebianc@aol.com>
Thread-Topic: [sfc] WG adoption of draft-quinn-sfc-problem-statement-02
Thread-Index: AQHPGR4EBBXmRpg9rk2thNSnYBnFRZqUcgwA//+e4mCAAAP3kA==
Date: Fri, 24 Jan 2014 17:09:45 +0000
Message-ID: <802F0FD88084CC4D82A0663874219D1A1887EE12@wtl-exchp-2.sandvine.com>
References: <204899072.8879.1390579493455.JavaMail.tomcat@mgs-aam01.mail.aol.com> <CC4C05B5-6777-4F40-8813-29DDC19519E2@cisco.com> <4A95BA014132FF49AE685FAB4B9F17F645C707E2@dfweml701-chm.china.huawei.com>
In-Reply-To: <4A95BA014132FF49AE685FAB4B9F17F645C707E2@dfweml701-chm.china.huawei.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [192.168.194.252]
Content-Type: multipart/alternative; boundary="_000_802F0FD88084CC4D82A0663874219D1A1887EE12wtlexchp2sandvi_"
MIME-Version: 1.0
Cc: "Jim Guichard (jguichar)" <jguichar@cisco.com>, Cathy Zhang <Cathy.H.Zhang@huawei.com>, "<Ron_Parker@affirmednetworks.com>" <Ron_Parker@affirmednetworks.com>, "<sfc@ietf.org>" <sfc@ietf.org>, "<jmh@joelhalpern.com>" <jmh@joelhalpern.com>
Subject: Re: [sfc] WG adoption of draft-quinn-sfc-problem-statement-02
X-BeenThere: sfc@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Network Service Chaining <sfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sfc>, <mailto:sfc-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sfc/>
List-Post: <mailto:sfc@ietf.org>
List-Help: <mailto:sfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sfc>, <mailto:sfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 24 Jan 2014 17:09:53 -0000

Policy-based selection of a particular service function instance (path) can be useful in a number of scenarios (say, where there's a desire to send a particular app/protocol to cache1 vs. cache2, etc).
In the interest of sharing approaches, we lb on internal IP of each flow (ensuring the same flow goes to the same instance) across named instances, physical or virtualized.
This  approach obviously implies a need to health check not just the chain but individual instances as well, which we do w/ an inline health check, going both directions through the chain.
I think it makes sense to allow the specification of a set of equivalent chains, decided by the start of the chain. Thx,
/c

From: sfc [mailto:sfc-bounces@ietf.org] On Behalf Of Linda Dunbar
Sent: Friday, January 24, 2014 11:36 AM
To: Paul Quinn (paulq); mikebianc@aol.com
Cc: Jim Guichard (jguichar); Cathy Zhang; <jmh@joelhalpern.com>; <sfc@ietf.org>; <Ron_Parker@affirmednetworks.com>
Subject: Re: [sfc] WG adoption of draft-quinn-sfc-problem-statement-02

If a service function has a small number of instances, say less than 10, and they are relative stable, then it is doable for Service Chain to specify the specific instances.

But if there are large number of instances, say in hundreds, and those instances' location/presence change over time (e.g. in NFV environment), then it is not scalable to have Service Chain path to specify the specific instances. The instances selection should be left up to implementation, or at least out of the SFC WG scope.

Linda

From: Paul Quinn (paulq) [mailto:paulq@cisco.com]

To contextualize my comments:
Assuming you needed to insert a CDN into a chain and had 8 equally viable instances (cdn1..cdn8), I see two primary methods of choosing which instance receives a particular flow:
1.  The chain includes either the pool of services (CDN) or a shim service (proxy, service lb) where the specific instance is selected on the fly
2. The specific instance is part of the chain (cdn1)

If the latter (instance in chain), should SFC include a mechanism for remapping the chain to use another instance?
In either case, should the selection of the instance ("service distribution"? anyone? anyone?) be part of SFC or left up to implementation?



It depends :)  In case #1, does the "shim service" present itself as a SF?  It might still have policy dependencies about being coupled with cdn, but is it externally "visible"?


Since we've already discussed dynamically inserting and removing services into or from a chain (long flow use cases draft), it seems that specifying the specific service instance in a chain (#1 above) for a flow would be simpler than introducing a shim proxyish service.  This approach might also simplify the requirements for stateful v non-stateful services.


________________________________
From: Ron_Parker@affirmednetworks.com<mailto:Ron_Parker@affirmednetworks.com><Ron_Parker@affirmednetworks.com<mailto:Ron_Parker@affirmednetworks.com>>
To: Joel M. Halpern<jmh@joelhalpern.com<mailto:jmh@joelhalpern.com>>,Linda Dunbar<linda.dunbar@huawei.com<mailto:linda.dunbar@huawei.com>>,Cathy Zhang<Cathy.H.Zhang@huawei.com<mailto:Cathy.H.Zhang@huawei.com>>,Paul Quinn (paulq)<paulq@cisco.com<mailto:paulq@cisco.com>>,Jim Guichard (jguichar)<jguichar@cisco.com<mailto:jguichar@cisco.com>>
cc: sfc@ietf.org<mailto:sfc@ietf.org><sfc@ietf.org<mailto:sfc@ietf.org>>
Sent: Friday, January 24, 2014
Subject: Re: [sfc] WG adoption of draft-quinn-sfc-problem-statement-02

Hi, Joel.

I think you raise an excellent point on the ambiguity of load balancing. I would propose that there are more than 2 cases of load balancing:

* mid-box service function (e.g., firewall) with internal load balancing
* mid-box service function (e.g., firewall) requiring external load balancing
* explicitly addressed service (e.g., DB server) with internal load balancing
* explicitly addressed service (e.g., Web HTTP server) requiring external load balancing

>From an SFC perspective, I think we can ignore the cases where the mid-box or explicit application is internally load balanced. Such applications would typically present a single locator (i.e., IP address) to the outside world and manage redirection internally to the clustered application.

I think the last bullet, external load balancing for an explicitly addressed service (e.g., Web HTTP server) lends itself to load balancing as an explicit service function from an SFC perspective. That is, the service function in the service function chain is "load balancer".

The second bullet, external load balancing for mid-box service function (e.g., firewall), is slightly trickier. From an SFC perspective, my view is that the service function that appears in the service function chain is still firewall and not load balancer. However, I do think that SFC should explicitly embrace the concept of a "load-balanced service function". I tried to address this in http://datatracker.ietf.org/doc/draft-parker-sfc-chain-to-path/ and would appreciate any feedback.

Thanks.

Ron


-----Original Message-----


From: sfc [mailto:sfc-bounces@ietf.org<mailto:bounces@ietf.org>] On Behalf Of Joel M. Halpern
Sent: Thursday, January 23, 2014 10:36 PM
To: Linda Dunbar; Cathy Zhang; Paul Quinn (paulq); Jim Guichard (jguichar)
Cc: sfc@ietf.org<mailto:sfc@ietf.org>
Subject: Re: [sfc] WG adoption of draft-quinn-sfc-problem-statement-02

For apps that have their own internal load balancer, I agree that there is no point in the tenant using the data center offered load balancer service.
But many apps do not have their own custom load balancer. So a data center might well offer load balancing as a service for those tenants who want it.

My only point was to distinguish load balancing as a service selected by the customer from load balancing used by the oeprator internall;y to deliver some other service.

Yours,
Joel

On 1/23/14 10:18 PM, Linda Dunbar wrote:
> Joel,
> Questions inserted below:
> -----Original Message-----
> From: sfc [mailto:sfc-bounces@ietf.org<mailto:bounces@ietf.org>] On Behalf Of Joel M. Halpern
> Sent: Thursday, January 23, 2014 3:17 PM
> To: Cathy Zhang; Paul Quinn (paulq); Jim Guichard (jguichar)
> Cc: sfc@ietf.org<mailto:sfc@ietf.org>
> Subject: Re: [sfc] WG adoption of draft-quinn-sfc-problem-statement-02
> In looking at the services, we need to be careful about who the
> service is for. Using load balancing as an example, there are two different cases.
> One case, common in a data center, will bw where load balncing is
> part of the service being delivered to the tenant, to help manage the
> tenants application traffic.
> [Linda] do you mean when "Load Balancing" among cluster of servers for
> one tenant application being offered as a service?
> Isn't this kind of "load balancing" application specific? Like Oracle
> DB has its own Load Balancer among cluster of servers.
> A different situation is when load balancing is used internally to the
> service chaining to manage instances of the internal services (where
> cardinality is invisible to the tenant / user).
> In the former case, LB is a service. And has to be able to direct
> traffic to the correct tenant application instance.
> In the latter case, the load balancing may well be bundled in with a
> collection of co-located service instances, with the whole looking
> like a service instance to service chaining and the end user. (There
> appear to be a multiplicity of ways to deliver this behavior. How
> much we need to specify in the architecture remains to be seen.)
> Yours, Joel _______________________________________________
> sfc mailing list
> sfc@ietf.org<mailto:sfc@ietf.org> <mailto:sfc@ietf.org>
> https://www.ietf.org/mailman/listinfo/sfc
_______________________________________________
sfc mailing list
sfc@ietf.org<mailto:sfc@ietf.org>
https://www.ietf.org/mailman/listinfo/sfc
_______________________________________________
sfc mailing list
sfc@ietf.org<mailto:sfc@ietf.org>
https://www.ietf.org/mailman/listinfo/sfc
_______________________________________________
sfc mailing list
sfc@ietf.org<mailto:sfc@ietf.org>
https://www.ietf.org/mailman/listinfo/sfc