SPA on Magnolia
Internet
CDN
(optional)
Load
Balancer
Magnolia
Public 1
Magnolia
Public 2
Magnolia
Public n
JCR
JCR
JCR
Magnolia
Author
JCR
Light Modules
SPA
Publish
author-instace.com
All instances read Light Modules from one place
index.html + js, css files served by Magnolia from
/.resources/my-ligh-module/webresources/
my-domain.com
SPA outside Magnolia (e.g. AWS, Netlify, etc.)
Internet
CDN
(optional)
Load
Balancer
Magnolia
Public 1
Magnolia
Public 2
Magnolia
Public n
JCR
JCR
JCR
Magnolia
Author
JCR
Light Modules
Publish
author-instace.com
All instances read Light Modules from one place
Server serving SPA static files (index.html + jss, css)
SPA
2. Calls REST
my-domain.com
public-instance.com
It can have multiple instances with�LB and/or CDN in front of it
Author instance for WYSIWYG in Pages app fetches page
SPA knows it is WYSIWYG preview thanks to url query param and point 2 knows to fetch REST from author-instance.com/.rest/my-endpoint
SPA with SSR outside Magnolia (e.g. Next.js)
Internet
SPA with SSR
SPA
Load
Balancer
Magnolia
Public 1
Magnolia
Public 2
Magnolia
Public n
JCR
JCR
JCR
Magnolia
Author
JCR
Light Modules
Publish
public-instance.com
author-instace.com
All instances read Light Modules from one place
my-domain.com
It can have multiple instances with�LB and/or CDN in front of it
Author instance for WYSIWYG in Pages app fetches page
SPA with SSR knows it is WYSIWYG preview thanks to url query param and point 2 knows to fetch REST from author-instance.com/.rest/my-endpoint
2. Calls REST
SPA with SSR
SPA
SPA with Ecommerce
Internet
SPA with SSR
SPA
Load
Balancer
Magnolia
Public 1
Magnolia
Public 2
Magnolia
Public n
JCR
JCR
JCR
Magnolia
Author
JCR
Light Modules
Publish
public-instance.com
my-domain.com
SPA with SSR
SPA
Ecommerce Hybris, Commercetools, Salesforce
Load
Balancer
CDN