I'm developing a dashboard application using Next.js v15.5, and I plan to host it on Vercel. As with most cloud platforms, estimating costs accurately is crucial.
Right now, I'm trying to decide whether the majority of my components should be server-side or client-side. Here’s what I’ve considered so far:
If I choose mostly Server Components:
- Higher Function Invocations: Since RSC payloads can't be cached on the Vercel CDN, the number of server function invocations will likely be higher.
- No extra CPU charges during wait time: Vercel uses Active CPU pricing, so I won’t be charged extra CPU time while waiting for database queries or third-party operations to complete.
- Edge Request costs unclear: I’m not sure whether I’ll be charged Edge Request fees for cache misses. My understanding is that Edge Request costs are higher than Function Invocation costs.
If I choose mostly Client Components:
- Better CDN caching: Payloads can be cached on the CDN. For cached responses, I’ll only pay Edge Request fees and won’t incur Function Invocation costs.
- Potentially higher data transfer costs: Since requests will be made from the client side, I may need to pay for Fast Data Transfer.
My Questions:
- Are there recommended best practices for balancing client and server components in Next.js to reduce hosting costs on Vercel?
- Are my assumptions about Edge Request and Function Invocation costs correct?
- How do experienced developers approach this trade-off in real-world scenarios?
Note:
- Since this is a dashboard application, SEO is not important.
- Keeping the costs minimal is priority
Thank you for your help!
Ali ErenAli Eren
-
Have you performed any sort of analysis on costs or other metrics as things stand? You might find cost optimisation is the wrong focus.Peppermintology– Peppermintology2025年10月25日 10:40:16 +00:00Commented Oct 25 at 10:40
-
1This question seems to have been generated or "improved" with help of ChatGPT or another AI. Please be aware that using LLMs or other AIs to generate content is not allowed.Mark Rotteveel– Mark Rotteveel2025年10月25日 10:43:05 +00:00Commented Oct 25 at 10:43
-
I didn't perform any sort of analysis yet. I'm not sure about how can I measure edge request invocation or other metrics per session.Ali Eren– Ali Eren2025年10月25日 11:25:52 +00:00Commented Oct 25 at 11:25
-
Also @MarkRotteveel i didn't use ai to generate this question. I just used DeepL to fix my English vocabulary that's all (which is a translation service).Ali Eren– Ali Eren2025年10月25日 11:27:44 +00:00Commented Oct 25 at 11:27
-
1@AliEren DeepL is using AI. And it did more than just translate your question, it structured it for you.Mark Rotteveel– Mark Rotteveel2025年10月25日 12:26:54 +00:00Commented Oct 25 at 12:26
Explore related questions
See similar questions with these tags.