We have a CMS website developed in EPI 11 and hosted on Cloud EPI DXC. We have Akamai CDN on top of Cloudflare CDN what Episerver provides.
In Akamai CDN we cache the pages to serve from there instead of calling for server every time for better response.
We are now want to use built in Episerver visitor group criterias for personalization.
The issue is, as we are caching a page in CDN, we are not able to personalize it via CDN.
For example, we have following issues:
1.for the first time users which does not have any cookie, session etc, we will not be able to identify that user which page to serve.
2.as editor can apply mutiple visitor group criterias, how to cache those number of permutations and server those via CDN for all the users.
Does, anyone have faced or came across such scenario. It will be great help.
The short answer is that you can not cache at the edge if you want logic serverside to render diffrent content to diffrent users on the same url.
To make this happend there are som common techniques.
1) DO NOT cache pages with personalization. Use Origin Cache Controll headers to tell your edge if a page can be cached or not. I think there are API to detect if personalization by Visitor Groups are used on a page in Episerver that you can use. If you use other services to personalize the page (like Episervers other services for personalization) you need to take that into account to and you will soon end up with no caching of html pages.
3) Use Edge Computing to run a small script on the edge that decides what content to serve the user. In this scenario you can pretty much do anything like modifying the content directly och modify the request url depending on cookies. I have a hard time to see this work with any server side technique like visitorgroups though.
I'm not sure that Akamai CDN on top of Cloudflare is a good solution from a performance perspective since it will cause an extra hop and more latancy but that is another question. If you have not already done so, discuss options with Episerver. Premium support is included with the DXC service.