Q:

When not to use Server Side rendering - Angular Universal

While going through several tutorials and angular official documentation, I understood some of the benefits of SSR, such as :

Facilitate web crawlers through search engine optimization (SEO)
Improve performance on mobile and low-powered devices
Show the first page quickly with a first-contentful paint (FCP)

It improves the performance, and we can even compress the mainxxxxx.js file and other contents by compressing it further using below code in server.ts file
app.use(compression());

But I am also concerned about the use cases where we should not introduce SSR.
One that I could think of is unnecessarily complicate angular project unless required, because it uses express and its own server implementation. . 
What are the trade-offs which we should be aware of ?

A:

What I found a bit hard with angular universal was to implement it for routes where you need to be logged in. So if you are concerned about complexity, you may want to leave that part out.
You also have to be careful of third party libraries that you use, as some of them will not work with angular universal if they try to access global browser variables (window, document,...) and features (canvas,...)
One more thing to take into account when using angular universal: your webserver will require more RAM and CPU. If your website generates a lot of traffic but your webserver is limited in RAM/CPU, you'll end up with longer page loads.
A note about compression: you do not need angular universal to compress your js files, you can do it with a regular webserver (express, nginx, apache, iis...)

