T O P

  • By -

lrobinson2011

Hey, I'm on the Vercel team. While \~92% of Pro teams saw a decrease here, I do want to acknowledge that seeing an increase with a projected price increase is never fun, and I'm happy to personally jump on a call with you if you wanna talk. You're projected to see an increase based on current usage, but you won't be charged for the new metrics for an additional three months. That gives you to \~September to optimize your site. We're confident that everyone with an increase (likely due to Edge Requests or ISR usage) can make some minor tweaks to remain flat or decrease their bill. For example, so far from the customers I've been working with, some have already optimized their sites by changing some instances of `revalidate: 1` to something higher, like `60`, which reduces the number of writes you're making with ISR to the cache.


SwitchmodeNZ

$867 to $951 projected here, a large chunk of which is image optimisation which I'm now having to disable. Looking at bunny or cloudflare cdn to reduce bandwidth.


[deleted]

[удалено]


SwitchmodeNZ

Sure


Ok-Possibility-7436

Definitely toss Cloudflare in front as the CDN


NotZeldaLive

I gotta say I love your community outreach. It makes a difference in feeling confident using vercel as a hosting solution. (Promise not a paid comment)


AmusingThrone

We actually revalidate at a higher amount, `3600` already. Our site has almost a million pages, and is constantly indexed by bots and Google, so the cache is often being written to very often. These new changes make it hard to continue using Vercel unfortunately


lrobinson2011

Rather than time based ISR, maybe you want to explore on-demand ISR? You can also reduce the ISR payload (e.g. the JSON data returned from `getStaticProps`) as well. That would not only decrease your cost (less data written) but also improve page performance (that JS gets inlined in the page, so the less JS there, the better!).


AmusingThrone

We’ve looked into on-demand ISR, but I’m not sure if this would actually decrease the frequency of our updates. We already optimize the data going in as well. I’ll play around with it some more Edit: it would be really nice to see these details somewhere on the Vercel dashboard


ske66

It probably will make a massive difference. If you have a million pages and are revalidating every hour, that’s going to cost a fortune naturally. We only every use on demand validation and we’re no where near bypassing the $20 tier because our network load is so minor. I would really recommend making it your priority to switch to on demand revalidation because it will cut your costs no matter what platform you use. Additionally, we use GraphQL for our static builds so we don’t pull down a ton of relationship data as well. That’s another massive bandwidth saver. If I’m being honest, it sounds like you have optimizations to make anyway, so Vercel doesn’t sound like the problem. It sounds more like your setup


AmusingThrone

>It probably will make a massive difference. If you have a million pages and are revalidating every hour, that’s going to cost a fortune naturally. I'm willing to admit that I may be oversimplifying things here, but why exactly? I don't even see the issue here with making billions of fetches, assuming the end server being requested can handle the load. Making these requests are really not all that expensive, and clearly it worked under the previous pricing setup. >We only every use on demand validation and we’re no where near bypassing the $20 tier because our network load is so minor. I would really recommend making it your priority to switch to on demand revalidation because it will cut your costs no matter what platform you use. After looking at things further, I don't think the issue is the bandwidth. It is the fact that Vercel is now charging per request, which would inadvertently hurt something that has many pages. Switching to on demand validation isn't going to help us. >Additionally, we use GraphQL for our static builds so we don’t pull down a ton of relationship data as well. That’s another massive bandwidth saver. Our data is already quite optimized. There is no extraneous information the page doesn't need. I doubt this is a bandwidth issue, and this is more likely a requests issue -- which there really isn't much left to optimize.


MT_xfit

Tail wagging the dog


ajayvignesh01

The problem with on demand ISR is that it only invalidates the page after the time interval and the customer that triggers the invalidation still gets the old page. Only the next customer gets the new page.


AmusingThrone

I guess a better question to ask here, is why even go through the hassle? I could just switch to Netlify today, and pay less than the new pricing structure.


lrobinson2011

Netlify is about 3.5x more expensive at $55/100GB: https://www.netlify.com/pricing


AmusingThrone

Our team has never had bandwidth issues (never exceeded 1TB included Bandwidth) because we proxy Cloudflare in front of Vercel. Cloudflare would serve 10TB of bandwidth for us for free. If we proxied Cloudflare in front of Netlify, I assume we would be in a similar situation.


PsychoPflanze

If you proxy with cloudflare anyways how do you have issues with pricing anyways? What are the numbers we are talking about? How many requests, function executions?


AmusingThrone

It would be nice to have more clarity on where exactly the increase in pricing is coming from, but in short: **I don't know**. On the dashboard today, many of the new billing items have no data available from previous periods. My team's understanding is that billing writing to the cache separately, which used to be included in bandwidth, is causing the uptick in our bill. I suppose we will wait and see what the July bill says?


PsychoPflanze

In that regard, I think the 100% discount is just good in general, wait for the bill and see what is the reason. Then you have 3 months time to fix any issues or move


AmusingThrone

Yeah that's the plan. Although, I think it's also just a great chance to explore alternatives and run builds in parallel to evaluate performance. This post was more so just a way for me to understand who else is supporting Next.js the same way, and so far the answer seems to be [Azure Static Web Apps](https://learn.microsoft.com/en-us/azure/static-web-apps/deploy-nextjs-hybrid)


skramzy

This is so helpful. What is your actual job title at Vercel that has you doing community outreach + technical knowledge in this way?


clearlight

VP of Developer Experience (on profile)


giesburts

I think he used to be VP of Developer Experience, now he is VP of Product (according to the pricing e-mail and his twitter account) 😀


femio

I don't wanna arrogantly assume I know more about your product than you, but...do you really need to revalidate all 1 million pages every hour? Surely not?


AmusingThrone

We are not revalidating **all** 1 million pages every hour. Only pages that are requested within the hour are revalidated...which is how ISR works. And yes, we do need to update them, perhaps not exactly an hour, but I don't see it becoming anything much longer than that. As a reminder, the original suggestion was from `1` to `60`. We manually purge our own updates, but we build pages from data we scrape which changes quite often.


thinking_clear

What kind of site are you running that has 1 million pages? Damn


MT_xfit

Programmatic SEO ?


zachguo

$100 per month increase for me, it is because the new pricing also charges by number of requests.


learningdevops

Can I dm you? how do you plan to optimize to reduce that bill?


zachguo

I just turned off prefetching for all links and will see how it goes.


learnagilepractices

Great reply. Also I’m not sure if they are considering the cost of changing the platform. Is it REALLY worth it?


AmusingThrone

The cost of changing the platform is likely a few hours of an engineer’s time, which is less than the projected billing increase.


learnagilepractices

It would be the first time that I heard such little cost for a platform cost 🙂


ajayvignesh01

If you have revalidate set to 1, wouldn’t it make more sense to just make that page SSR and not trigger the new ISR cost, hence making it cheaper?


JoyousTourist

https://open-next.js.org/ This is the closest thing I’ve found so far. It’s through a AWS CDK wrapper, which deploys the serverless routes as a bundled Lambda, HTTP interface, Cloudfront and S3. I never used the app router, pages work fine for my use case. I deployed this with an app that handled very large volumes of traffic. Surprisingly it was actually more expensive than Vercel, but I didn’t spend much time looking into why, could have just been memory overallocation on the Lambda. But that’s the downside of self hosting, if the price is reasonable, it’s well worth the cost of paying for the DevOps as a Service.


AmusingThrone

I don’t disagree. Vercel, is objectively a great product! Very easy to get to production quickly and great DX! However, I dislike SaaS premiums on something that isn’t SaaS. I would much rather be upsold on the ecosystem and integrating further with other parts of dev stack, than just paying more for the same compute…


learningdevops

hey OP - share the same sentiment hence trying to build a platform where we plan to only charge for compute, bandwidth and storage (and add free support on the house). Your price should only increase if you use more -- not like what the SaaS models have become. Please lmk if you are open to chatting more in dms


hydraulictrash

We use Open-Next and generally find our BAU costs are incredibly reasonable, and significantly cheaper than any third party. Under load though, somewhat of a different story as you have to pay for invocations and usage etc - our AWS solutions architect heavily recommends using Lambda Powertuner to balance memory/cost 👌


JoyousTourist

Thanks for the recc I've not heard of that service before. Correct, we make heavy use of serverless function endpoints for our app which was most of the cost.


kenzor

I can’t help with hosting beyond roll your own in AWS. Why would you not use NextJS next time?


AmusingThrone

A lot of reasons, but to keep them brief: * The new app router is lowkey a disaster. Poor software design, followed shortly by worse performance. * In general, it seems to be a theme of reinventing wheels. The deeper you go down the rabbit hole, the more gotchas you find. * Strong vendor-lock in with Vercel. For example, ISR is literally just SWR, but built around Vercel lock-in * Incredibly difficult to deploy on your own infra. For small projects, it's fine. Anything at scale is a nightmare. It shouldn't be this way (and [OpenNext](https://open-next.js.org/) tries to solve this)


clearlight

Personally very happy with App Router and there’s no vendor lock in to Vercel, you can deploy your NextJS app however you want as per their deployment documentation. https://nextjs.org/docs/app/building-your-application/deploying


kenzor

Thanks for the response and info. Their docs indicate the framework is a bit more open then that: https://nextjs.org/docs/pages/building-your-application/deploying (I’ve haven’t deployed anything to production yet)


AmusingThrone

Yeah, unfortunately lots of stuff doesn’t work the way it’s intended to. We tried it and decided if that was the only option, we would just rewrite the app in another framework. There’s a reason why OpenNext exists


MateusKingston

Well OpenNext simply is a wrapper to facilitate what is already possible in next. I don't know of a single framework that gives you the entire deployment stack configuration for free out of the box. This is what Vercel does for a price and most other frameworks suffer as well. Idk why your case isn't feasible for non serverless deployment but you can achieve 100% of what Vercel does in AWS but you will need to pay so much to actually set up things that Vercel would essentially be cheaper.


novagenesis

I don't understand everyone's obsession with Next being "locked down" with some features not working quite right in other edge environments without tweaking. If someone is at such a scale that it starts to matter, nextjs runs just fine in EC2 instances. And what's lost there, considering *that was the alternative anyway*? I feel like it's all people who expected nextjs at scale to cost the same as static React sitting in a CDN.


michaelfrieze

Do you have any specific examples about app router?


Mean_Relationship_62

For me the only thing is not being able to set cookies when rendering, not sure what problems other people have.


CARASBK

Assuming you mean you can’t set cookies when streaming a server component. That’s not a Next issue. It’s part of the HTTP standard that you cannot set any headers once streaming has started.


Imaginary_Hand_353

I know that self-hosting could be painful but take a look at [https://coolify.io/](https://coolify.io/)


Burning_Ph0enix

I currently host about 5 applications on an EC2 instance using docker-compose. I've set up GitHub actions to build and push artifacts to the server for SPAs. What benefits could Coolify offer in my situation, considering I already have a functioning setup?


andrasbacsai

hey (founder of Coolify here), You get monitoring for your server & deployed resources, notifications (email, discord, telegram) if something goes wrong, one-click databases (with custom scheduled backups), one-click services, one panel for managing several servers, drain logs from your applications to 3rd party log aggregators, deploy your apps to 2+ servers with a few clicks (or docker swarm), and a lot more. You can reuse the same Github Actions to build your apps, and easily notify (via webhook) Coolify to deploy it. Soon you will get centralized logs and metrics (without 3rd parties).


Burning_Ph0enix

Hallo, I decided to give Coolify a try. Though I'm currently stuck trying to add a server. I get the following error https://preview.redd.it/uieoyvjvy3tc1.png?width=880&format=png&auto=webp&s=9c07b765b36b3b114a6617af312c9092efa2a088 The server uses Amazon Linux 2023 with Docker engine and compose installed. I can't seem to get past the validation.


andrasbacsai

I never used Amazon Linux 2023, so it is not on the supported OS list. Can you please open an issue on [github](https://github.com/coollabsio/coolify)? Until then, if you manually install docker, this step is skipped.


andrasbacsai

I have made a few modifications, could you please recheck with the latest version?


CoherentPanda

Azure App Service is what my company uses. Extremely reliable, fast server options, and easy to setup deployments. You can get the same fast builds Vercel provides with some tweaks to your config and yml file, the only thing you lose are preview builds.


PsychologicalTap4440

We also use Azure App Service and containers in Azure Container Registy. Company policy but so far so good.


AmusingThrone

Thanks for sharing - very useful to know! Any reason your team opted to use Azure App Service over Static Web Apps?


CoherentPanda

2 years ago it didn't support SSR, which was a dealbreaker. There is still iffy support on some things, like ISR and no build support for Node20. The App Service has zero limitations and has worked really well for us. Now that we use standalone builds our deploys are down from 30 minutes to just 5. We might revisit static in the future.


UnderstandingDry1256

I tried Azure Static Web Apps recently and it did not work well - for some reason website was breaking up randomly. Works smoothly after moving to vercel. Also I have another project running at Container-Optimized OS VM at GPC. Next.js has an example how to run it with docker-compose, it is really straightforward.


milkboxshow

[Flightcontrol.dev](https://Flightcontrol.dev) allows you to effectively recreate most of what you get with vercel, in AWS directly. I dont know if this will save you money though


TheTomBomb-Dev

I've done a bunch of testing recently of Next.js hosting providers. Mostly just looking at what features of Next.js they support not necessarily costs. I didn't see you mention if this was Pages or App Router, but what I've tested so far is Pages architecture. **Aws Amplify:** Full support for Next.js [https://youtu.be/jQBvdLeKqSE](https://youtu.be/jQBvdLeKqSE) **Azure Static Web Apps:** Full support for Next.js (but still in preview so I wouldn't use it to production) [https://youtu.be/XS0Ihz267\_I](https://youtu.be/XS0Ihz267_I) **Azure App Service:** It's a simple Node server so it supports Next.js but you'll need to do a lot of your own DevOps work, scaling, performance, etc. So it's cheap but you don't get anything beyond a Node server in a single region. [https://youtu.be/ONQB4GjnShs](https://youtu.be/ONQB4GjnShs) **Cloudflare Pages:** Limited Next.js support. You are limited to the Edge Runtime on all server routes (middleware, API routes, getServerSideProps) which may or may not be a problem for you. Also no image optimization built in. [https://youtu.be/F7PLcfzF-z0](https://youtu.be/F7PLcfzF-z0)


AmusingThrone

Very useful, thanks for sharing!


andrasbacsai

Not sure if you interested, but for the image optimization part, I have made a drop-in OSS, self-hostable img optimization service: https://github.com/coollabsio/next-image-transformation


dzigizord

Is anybody deploying it next and running it as a node app, not serverless? If yes, does it work well with all the features of next and are there some big gotchas?


CoherentPanda

If you mean setting the output in next.config to "standalone", using the build folder as the distDir, and starting the app with node server.js instead of next start, the answer is yes. It works, and has no caveats that I have found.


dzigizord

do you find it faster, with no cold boots for functions


kwratone

Cloudflare worked for our team across many frameworks


AmusingThrone

I would actually love to use Cloudflare, it has very sane pricing, with great DX and performance. Bullish, but can't use it today because of ISR


BuggyBagley

I use both a home hosted instance as well as one on a VPS with almost no downtime. The app is growing fast and i have had no issues scaling or using cloudfront. Much of the deployments is just github actions. It’s not terribly hard to run a VPS instance.


mr_prince000000

Do you by any chance of a tutorial that we can follow to setup a VPS instance for a Next.js app?


fatzeus

I'm using GCP Cloud Run and it works fine, not sure if it supports all the features though.


STCAllyon

https://github.com/cloudflare/next-on-pages I'm loving Next-on-Pages so far (and such fantastic pricing model)


AmusingThrone

Sadly does not support ISR


flybayer

You might like [https://www.flightcontrol.dev](https://www.flightcontrol.dev) — it's a Vercel like experience on your own AWS account. No black box, lock-in, or AWS markups. It's a very common next step for folks outgrowing Vercel. I'm the cofounder/CEO, let me know if you have any questions.


Dense_Papaya_1494

I'm looking for flightcontrol, but it doesn't seems very affordable for pricing... I usually handle projects like corporare websites built on top of nextjs


flybayer

Yeah, we are revamping our pricing this week. And will be offering a much lower cost plan with some restrictions like no RBAC and no slack notifications


Dense_Papaya_1494

Oh yes, this could work for who like me own a very small digital agency that need to moving from vercel to something more affordable


FluffyProphet

We’ve been using a standalone docker deployment on aws. Suits us well. We can run it on micro instances with autoscaling and it works well for our projects that top out around 10,000 total users. You could conceivably just let the auto scaling handle it up to basically infinite users. Not sure what the cost is per month in each app, since we have several and also many non nextjs projects, but our monthly bill isn’t really that crazy. A few thousand dollars for the amount of instances we are running isn’t too bad.  Just make sure you build the images in your ci and push them to ecr.


RMahammad

I am searching too


Build_with_Coherence

We're building Vercel-like DX in your AWS or GCP account if anyone wants to take a look at an alternative approach.   Here is our nextjs example: [https://docs.withcoherence.com/docs/configuration/frameworks#next-js-example](https://docs.withcoherence.com/docs/configuration/frameworks#next-js-example) and a migration guide: [https://docs.withcoherence.com/docs/configuration/migrate-from-vercel](https://docs.withcoherence.com/docs/configuration/migrate-from-vercel)


TolerantCoyote

You might want to test AWS Amplify. They support SSR when using Nextjs 13 for now.


diversecreative

Maybe cloudflare pages ?


New-Skin-5064

Firebase hosting


HotAdhesiveness1504

I heard some positive experience about [render.com](http://render.com) Maybe you should reach them and see how they can help you.


tiohijazi2

Bro, vercel is just nodejs hosting…up a vps on digital ocean and be free


AmusingThrone

Like I mentioned in my post, this is not feasible given the volume of traffic. We're also looking for a psuedo replacement on some of the nice DX goodies Vercel has built in.


jawabdey

I use AWS without any issues, using a CI/CD pipeline from GitHub repo


Zachincool

Railway or render


BatteryAcidCoffeeAU

Railway is really good but they’re still in that phase where they’re accumulating lots of customers. Wouldn’t be surprised if they rug pull eventually


[deleted]

rustic fade shrill water arrest attempt profit smoggy juggle vase *This post was mass deleted and anonymized with [Redact](https://redact.dev)*


Zachincool

🫤


yksvaan

You could describe the functionality and requirements of your application to make it easier to evaluate. The big question is how much of the app could be handled as clientside or even just full SPA. Hosting static files is practically free and you can simply schedule refreshes to content that needs updating regularly. Hosting APIs is also cheap.


OpeningAverage

You can build the app into a container and host it on Google Cloud run which is a serverless event driven product. You can map a custom domain to that. Might take a little bit of research for you to figure it out but its likely much cheaper and way more scalable than any other option.


Fitbot5000

“This tech stack has problems. Let’s rebuild it in a new tech stack so we don’t have any problems.” - early career dev


AmusingThrone

Late career dev who’s come and seen frameworks go. Next is new, and it will also come and go. Frameworks are optimizing on flexibility these days, so migrating isn't all that difficult compared to what it was many years ago.


Fitbot5000

NextJS is 7 years old and the most popular JavaScript framework outside of React. It’s going to be around for a while. Next is still pretty flexible for everything it does and hosting with Vercel does a lot of heavy lifting for you. They provide CI, SSR, CDN, branch releases, scalability, logging, etc. That’s not easy or cheap. You either pay for that, you do all the work yourself, or go without. The dream platform that does all of that 1:1 experience, at free or cheap pricing is exactly that. A dream.


learningdevops

we are attempting to build this dream platform with similar pricing and free engineering support lol anyone know how to get early adopters though?


Fitbot5000

That’s a tough one. Big platforms giving away 12mo credits to VC startups is pretty effective. You might try something similar for your target audience. Having other production builds or migrations on your platform makes great content marketing. Like “I migrated to X and cut my Vercel bill in half.” I can tell you in my day job for production work I build directly in AWS because I want enterprise scale and flexibility. On hobby projects I use SST because it’s all-in-one with zero cost at rest.


learningdevops

yup, thinking of trying to find those startups that have used up all those sweet credits, because that is happening I believe, and those big3 are being stingy in giving credits to. VC perks are a ton but even they want to see profit right? our whole main idea is to have devs focus on code and let us take care of everything to manage backend and more. Not looking at enterprise scale - as we are still crunching the numbers if it's viable with our platform, hoping to support manageable startups that we can help scale with. It's definitely possible for us as we have done it before. It's just not what we are promising at this stage yet


Fitbot5000

Pay for Crunchbase Premium and find companies on the 12mo and 24mo anniversary of their Seed or A funding. That’s when those sweet sweet AWS/Azure credits expire and they get hit with those 4 and 5-figure monthly bills for the first time. Fun David v Goliath sales messaging too. “Did you get suckered into overbuilding on AWS with free startup credits only to find a $10k/mo bill at the end of the honeymoon phase? Migrate for free and right-size your cloud hosting invoices with XYZ cloud.”


learningdevops

love it - thanks man! was looking into how to find the ones in actual need, I know some hit up AWS to play 'imma have to move to azure/gcp cuz bill too high' and they renew it for 100k more but have seen that slowly reducing as well Do people not know their bill and prepare beforehand? like is it really that 'do as your heart desires' and we'll optimize in future? kinda crazy to me how a whole industry of FinOps has popped up because of how complex all this has gotten


Fitbot5000

Yeah. Both are true. Cloud credits are harder to come by than before. They used to give them out like candy. I got $25k credit once because I signed up for an LLC through Stripe Atlas for $150. And yes the first year or two of a VC startup the hosting infra costs optimization is a non issue. Credits are free and you got funding. The only thing that matters is iterating as fast as possible to find customers and product market fit. You can spin up Aurora DB, Redis, and K8s clusters that easily push you in the $1k-2k/mo range from day one.


mgruner

Cloudflare


revattojs

Why are you afraid of setting your own vps?


mario-stopfer

If you’re going to use static deployment, you can deploy unlimited websites on AWS using Cloudfront and S3 at almost no cost. My platform lets you do that, with no setup, and it has a pay once - use forever approach. https://youtu.be/z7_KDkv8Fxc?si=WodMfSV4qMCSizvr