Hey Hongfei,
Thanks for the email.  To be honest I saw that geo blocking was not in the
UI, so I added it without really thinking about the implications in Traffic
Router, that is my fault.
I think I am on board with Cisco's implementation and I look forward to it
being contributed back to Traffic Control.

Thanks,
Dave

On Thu, Nov 2, 2017 at 4:34 PM, Hongfei Zhang (hongfezh) <[email protected]
> wrote:

> Hi Folks,
>
> Two months ago,  We (Cisco) branched off 2.1.x for our next release. We
> noticed the geo restrictions functionality was not supported for steering
> services. Since some of our customers are using the blocking features
> extensively (CZF, National geo blocking, regional geo blocking, vpn
> blocking) and will be using steering services, we decided to enable the
> blocking functionality. The work was completed a few weeks ago on our
> fork.  We recently noticed https://github.com/apache/
> incubator-trafficcontrol/pull/1458 “Cannot set geo restrictions on
> CLIENT_STEERING delivery services” seemed to try address the same issue.
>
> The open source implementation however differs from ours in a significant
> way and I want to bring this up so we can understand the use cases and
> desired behavior better.
>
>
>   1.  Open source took the straightforward approach where operator
> explicitly configure geo restriction for steering service,  traffic router
> then enforce them on steering service only. Disclaimer - I can’t find any
> evidence where such enforcement exists in master today and I assuming this
> is WIP (TrafficRouter code doesn’t check any geo blocking attributes for
> steering service itself). It does however explicitly ignore the target’s
> service’s setting https://github.com/apache/incubator-trafficcontrol/blob/
> master/traffic_router/core/src/main/java/com/comcast/cdn/
> traffic_control/traffic_router/core/router/TrafficRouter.java#L468 .
>
>
> To end user the blocking features works in a way I call “Overwriting” –
> steering service’s setting overwrites those of the target services’s. If
> steering services is not configured as geo blocking, then it becomes wide
> open regardless of targets’ settings. So operator must configure these
> settings, most likely duplicate them from target DSs’ if they need to
> enforce same geo blocking for steering service. Although requiring extra
> steps to configure, this approach does give operator the flexibility to
> enforce geo restriction options for steering service that is different from
> those defined for targets.
>
>
>   1.  Cisco’s implementation, in addition to added support for
> regional/vpn restrictions, took a different approach. We do not require
> operator to configure geo restriction for steering service (hidden from
> UI), and changed the Router code to iterate through the target DSs and
> apply the various restrictions on each. If a target DS is configured to be
> blocked, its caches will not be added in the “locations” response.
>
> To end user the blocking features works in a way I call “Inheriting” –
> steering service inherits blocking ability from the target DSs.  Our view
> is that steering service is a virtual service to add service resiliency and
> it is only meaningful/useful when overlaid on top of real services,
> therefore this inheritance behavior might be desirable. From a restriction
> enforcement perspective,  it is simpler since target service’s restrictions
> is always in effect. It does not however provide any flexibility to
> bypass/overwriting the target DSs’ settings.
>
> Since our open source community , especially Comcast folks have extensive
> operational experiences, I would like to hear your take. To me the most
> importantly questions is: What is end user (operator)’s perception about
> steering service concept? – Is it just another FULL service they need/want
> to provision that will have its only individual characters or it is just
> simply an OVERLAY mechanism that gives them additional service resiliency?
>
> There are certainly options to make the two co-exist (invoke 1 after 2,
> let user configure/choose one over the other, etc) but an answer to above
> question can guide us to provide the “right” solution. The answer will also
> helps us deciding other existing DS feature’s applicability to steering.
>
> Thanks,
> -Hongfei
>
>

Reply via email to