I’m currently in the process of building a Gatsby website and would like to leverage the benefits of Server-Side Rendering (SSR) and Gatsby Lambda functions. I’m seeking your recommendations and advice on how best to achieve this.
My primary goals for the project are:
Optimal performance and scalability
Easy deployment and configuration for continuous CI/CD.
As I understand, Render supports static site deployments and dynamic applications using Docker. However, I’m not entirely sure about the best way to configure my Gatsby site with SSR, should I use a Dockerfile to set up my custom environment?
I would greatly appreciate any insights, examples, or documentation links that could help me in making an informed decision.
Thank you in advance for your assistance.
I’m not overly familiar with Gatsby with SSR, but I expect it would run on a Render Web Service using the Node Native Environment. A Render Static Site has no server-side/backend. It wouldn’t need to be a Docker environment unless you require specific OS-level packages or already have one ready to go.
I do not see any “Gatsby Lambda functions” in their docs, I think you may be referring to their docs around using Netlify functions and netlify-lambda locally, which would be beyond the scope of our support.
To cover your primary goals.
Render provides horizontal (more instances) and vertical (larger instances) scaling to help meet the needs of the load on your service. Optimal setup depends on numerous factors. The best way to gauge these requirements would be with the use of metrics/an Application Performance Monitor (APM) combined with load testing.
Auto-deploys make deployment easy as they trigger a deploy each time your push to your repo. If you want to wait for CI/tests, you can disable auto-deploys and trigger a deploy hook from your CI on successful completion.