We've used the following criteria when deciding the technologies, architecture and tools to use.
Both for backend and frontend.
Next.js is a full-stack JS framework that leverages a set of tools and best practices and has a great development speed and is used by many of the top websites in the world.
Companies used Next as a pure frontend framework but it's grown to allow any node.js backend in it. We've decided to use it since it ticks most of the boxes for us. If for any reason we are unhappy about it in the future, it's easy to extract all the code from the /api pages in Next and move it to another node.js framework. We'll have to design the file structure, modules, and dependencies with this in mind.
Pros
Cons
We want a scalable system that is simple to deploy and maintain, on which we don't have to worry if a system is down or has to scale. Serverless architectures have taken off the last few years and we can easily leverage their benefits with the tech stack we are choosing.
Possible providers: