Content Delivery Network (CDN)

We can't use CDN for an internal site due to network infrastructure but what would be the best practice to simulate one? Knowing that we can speed it up by leveraging Varnish cache server. Any architecture ideas?

There is no difference between an internal setup vs. external setup:

  • front-facing reverse proxy like Nginx or Apache which proxies back all requests to
  • Varnish which proxies all requests to a loadbalancer like
  • HAProxy which balances the remaining uncached requests to
  • 1..N Plone ZEO clients

Thank You @zopyx for the super quick response.. We are looking for a generic setup picture/ diagram to share with our Systems Administrators.

I understand there are multiple options available is there a Pros/ Cons of one versus another. We have multiple locations in the Asia Pacific region, traffic coming back to the United States is not helpful, looking for a viable solution in lieu of AWS/ Azure etc.m

Varnish does not and can not replace a global CDN.

There are various commercial providers for private CDNs.

Pick one...

Otherwise build out own CDN (google for "build your own CDN")...

I don't thinlk that there is any difference between internal setup and the external setup.

We are using Varnish proxy server. But sometimes I'm stressful, because Varnish VCL (config file) is not easy for me. However Varnish is very strong server.

I want to use CDN, but sometime we can't use CDN.

Our server structures are below.

  • using CDN

CDN -> (LB) -> nginx(es) -> Plone(s)
(I will try nothing nginx on AWS, I try to use lambda edge for rewriting VirtualHostBase)

  • not using CDN

nginx -> Varnish -> Plone(s)