Using Adobe IO to Support Server-Side Rendering
Many web applications are written using client-side single-page application (SPA) frameworks, like ReactJS and Angular. Doing so has many advantages, however, it does prevent a slight challenge for search engines like Google to effectively index content on pages and make them available to a Google search. There is a common solution to this called Server-side rendering. “Server-side rendering (SSR) is a popular technique for rendering client-side SPAs on the server and then sending a fully rendered page to the client. This allows for dynamic components to be served as static HTML markup.”
It is common to execute directly against a NodeJS server to accomplish SSR, each with its own respective costs associated with them. With all requests coming through the AEM runtime, teams need a direction on where to send client-side requests to be rendered server-side. Adobe’s recommendation is to route these requests to Adobe’s IO Runtime. This blog post will outline the technical design for executing SSR within your AEM Environment.
First, Adobe IO Runtime (What is it?)
“The Adobe I/O Runtime is a serverless platform that allows you to quickly deploy custom code to respond to events and execute functions right in the cloud, all with no server set-up required. Developers can run code on top of our Cloud solutions, bringing Adobe services together with APIs.”
To execute against this serverless environment, you are required to register a new project with the IO console. This operation is within the console: https://console.adobe.io/