Currently, the App Lease does not block all apps associated with the task hub from processing messages in the work item queue.
I know this behavior is something that we have discussed in the past. We can use this thread to centralize discussion.
Should we change this behavior, keep this behavior, or make this a configurable option for customers?
I personally prefer this option as it is more akin to an active-active configuration where I can make the most of available capacity by processing activities in both Apps simultaneously.
But I think this is likely an advanced option so I could understand if the default behaviour may not do this. However I would still like the option to opt-in to allow my scenario as described above.
@olitomlinson for the active-active configuration using a competing consumer model across regions how does the app lease configuration even help in this scenario?
@mpaul31
I believe, because the Activity functions can in theory execute anywhere (any region) as they are essentially stateless which lends itself to active-active configurations. For me, being able to use all available compute is advantageous for processing activities. However if I lost one region due to a compute outage, my app can still perform work albeit at a degraded pace.
If orchestrations functions could transcend regions then I would be even happier, but that would mean finding a way to co-locate orchestrations and their state in a globally routable way which is a another challenge.
The app-lease provides active-failover for orchestration functions which is suffice for now for me :)
Most helpful comment
@mpaul31
I believe, because the Activity functions can in theory execute anywhere (any region) as they are essentially stateless which lends itself to active-active configurations. For me, being able to use all available compute is advantageous for processing activities. However if I lost one region due to a compute outage, my app can still perform work albeit at a degraded pace.
If orchestrations functions could transcend regions then I would be even happier, but that would mean finding a way to co-locate orchestrations and their state in a globally routable way which is a another challenge.
The app-lease provides active-failover for orchestration functions which is suffice for now for me :)