Page rule caching strategy for a SPA

hi guys, been thinking of a page rule caching strategy for a potentially high traffic SPA.

Option 1: (as described here in “Best Practice 2”): https://support.cloudflare.com/hc/en-us/articles/360021023712:

  1. Cache Everything (to act as catch all for static, anonymous content)
  2. Bypass Cache on Cookie (to bypass caching everything if the request has a matching cookie) → in my case an auth cookie
  3. Origin Cache Control (to specify how long Cloudflare should keep the cached resource in our edge network before asking the origin for it again) → I would call a REST endpoint in Azure which would return a reponse with a header telling CF how long to cache. My data would be in Azure.
    Regarding nr. 2, since Pages Functions run in front of cache, I was thinking of implementing the protected (auth cookie required) endpoints with Functions (calling the Azure origin, in Functions I could use fine grained cache control there, meaning cache/invalidate cache responses there for logged-in user x)

Option 2:
Do everything in CF and use Pages Functions, R2, Cache, etc.

I’m leaning towards option 2 atm for perfomance/price (particularly egress) reasons. Do you agree?