At least the Heroku free tier could run all my apps. RIP
The function limit is particularly frustrstinb when you need route splitting to avoid slow cold starts or memory limits. I even hit this in a few Astro projects which was particularly suprising - when serverless rendering was an all or nothing option for Astro Vercel was effectively useless on Hobby plans.
This bundling also means fewer cold starts. Bundling is the default for Astro[2]. Also worth noting, on paid plans, functions are kept warm automatically[3].
[1]: https://vercel.com/docs/functions/runtimes#functions-created...
[2]: https://vercel.com/docs/frameworks/astro#configuration-optio...
[3]: https://vercel.com/changelog/vercel-functions-now-have-faste...
Its a bit of a crap shoot with third party frameworks though. With Astro, unless I'm misremembering the timing, they defaulted to bundling per route originally and only changed that when Vercel users ran into issues with the Hobby plan. More interestingly on the timing, I think that was right around the time Vercel took over as Astro's official hosting sponsor. Not sure how much a part that played in the change in defaults.
In general, I'm always hesitant with a build system that I depend on to route split in a way that impacts my actual cost to run. At the end of the day I have little say in how routes are split and little insight into what metrics are used at bundle time to make those decisions. That said, I haven't heard any horror stories with SvelteKit or NextJS on Vercel so the concern may very well be unfounded as long as I stay in the Vercel ecosystem.
2: Inefficient in what sense? In my experience, most of the latest software startups are shipping incredibly quick with Next.js / Vercel stack infra. TS/JS is still a much faster runtime (and only one with types) than the practical alternatives of Python, Ruby, and PHP. There is a single digit percentage shipping new startups in Java/C#. Go could make a decent case.
3: IMO the Next.js / Vercel deployment experience is far far better than what I dealt with wrangling Django templates / non-template integration / deploying anywhere else.
In Django VPS land, you can follow this guide and encounter multiple issues particular to your setup: https://www.digitalocean.com/community/tutorials/how-to-set-...
and figure out Dokku deployments or GitHub action CI issues.
On Next.js / Vercel, you can:
1: Click a button linking github and Vercel.
2: Enter .env on Vercel
3: git push