[See also T89177 and T102524 - may eventually merge those in as duplicates]
The driving factors here are:
- We want to align the two on various analytics and functional header info related to X-Forwarded-For, X-Forwarded-By, X-CS, X-CS2, X-Analytics, etc. That and X-Subdomain are really the key functional differences in the VCL code of the two today (the other is Cookie handling).
- One of the key reasons to leave mobile segregated in the past was its high potential fragmentation due to Vary-ing on X-CS for many different carriers in support of Zero. However, that was long ago addressed with the "X-CS: ON" -related work. Only a handful of special URLs now fully vary on a real carrier-id.
- Mobile is currently under-utilizing a 4-node cache cluster at each site, when its traffic could easily now be merged into the text cluster in terms of load and hot dataset size, etc. Reducing the count of distinct cache clusters with independent complex configurations is a big complexity/maintenance win at various levels, and helps to further reduce the required minimum machine counts at cache datacenters to support all traffic reliably.
Some of the key steps and/or issues to address here (many can be done as slow refactor work leading up to the bigger switches):
- Align the current text and mobile VCL code better where they differ for trivial or non-existent reasons, or one (usually text!) is simply better-configured than the other.
- get netmapper and analytics synced up between the clusters
- Fix mobile cookie handling and merge code-wise with text cookie handling
- Turn on the key mobile code in the text-caches with X-Subdomain regexes protecting exclusive parts in both directions (e.g. current text's mobile redirect code, and mobile's X-Subdomain code).
- Ensure no mobile-vs-desktop cache pollution on the text cluster (fixed via Vary changes or vcl_hash)
- Coordinate with Analytics on the shift of mobile request logs to the text data sources, make any necessary changes there to support
- Move the mobile IPs to the text-cluster. The two would still differ on IP address, but would both come through the same nginx proxy and varnish cluster.
[... at this stage, we can decom the actual mobile cache cluster and reuse it for other purposes ...]