TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

We Need To Talk About Vercel

277 pointsby llambdaabout 2 years ago

26 comments

preommrabout 2 years ago
Vercel scares the hell out of me - their previous handling of that runaway bill of 6k was atrociuos. They basically blamed the user and only handled it after it gained traction on social media.<p>Beyond that, they do a lot of things with web, while having very little moat as a company. By that I mean they&#x27;re involved in a lot of front-end libraries, articles, projects, etc. a lot of which they incorporate into their platform. Which is why everyone praises them for their ease-of-use, but anybody should know that there&#x27;s a reckoning that comes after the honeymoon period when all this has to be maintained. And that stuff gets to be very expensive.<p>Which would be fine if they were Google with a really wide moat but they&#x27;re not. They&#x27;re a thin layer above the big three cloud providers. It&#x27;s too easy for a dev to just pack up and move to AWS where they&#x27;re not paying for the overhead once the project becomes serious. It also doesn&#x27;t help that they&#x27;re not seen as a serious solution because of things like their poor customer service.
评论 #35509295 未加载
评论 #35509337 未加载
Kevcmkabout 2 years ago
Vercel is deceitful.<p>The Image&#x2F;img fiasco really pulled the covers off for vercel for me. I have migrated all my work off of the platform.<p>NextJS’ lint strategically dissuades you from using the img tag in favor of the NextJS Image component. If you make the mistake of heeding this advice and migrating to it, you can’t use static site generation—which means you are stuck using their hosting.<p>Here’s one of the most PR-shameful threads I’ve ever read in OSS:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;vercel&#x2F;next.js&#x2F;discussions&#x2F;19065">https:&#x2F;&#x2F;github.com&#x2F;vercel&#x2F;next.js&#x2F;discussions&#x2F;19065</a>
评论 #35509106 未加载
评论 #35511897 未加载
评论 #35510553 未加载
评论 #35509702 未加载
评论 #35521823 未加载
评论 #35515083 未加载
评论 #35510506 未加载
评论 #35509183 未加载
oefrhaabout 2 years ago
Slightly related: Netlify has&#x2F;had an even bigger problem around caching, and not just caching.<p>I set `cache-control: public,max-age=2592000,immutable` on my SPAs&#x27; assets as they&#x27;re hashed and should be immutable.<p>But Netlify somehow doesn&#x27;t atomically swap in a new version: say my index.html referenced &#x2F;assets&#x2F;index.12345678.js before and is updated to reference &#x2F;assets&#x2F;index.87654321.js instead, there&#x27;s a split second where Netlify could serve the new index.html referencing &#x2F;assets&#x2F;index.87654321.js, while &#x2F;assets&#x2F;index.87654321.js returns 404! So users accessing the site in that split second may get a broken site. Worse still, the assets directory is covered by the _headers rule adding the immutable, 30-day cache-control header, and Netlify will even add it to the 404 response... The result is user&#x27;s page is broken indefinitely until I push out a new build (possibly bricking another set of users) or they clear the cache, which isn&#x27;t something the average joe should be expected to do.<p>I ended up having to write a generator program to manually expand &#x2F;assets&#x2F;* in _headers to one rule for each file after every build. And users still get a broken page from time to time, but at least they can refresh to fix it. It really sucks.
评论 #35612895 未加载
评论 #35510504 未加载
评论 #35509186 未加载
flimsypremiseabout 2 years ago
My sense of Vercel (mostly from working with NextJS) is that they are more interested in appearing to support an open source framework while making their product as difficult to interoperate with other technologies as possible in an attempt to lock users into their platform and hopefully pay for it.
评论 #35508865 未加载
评论 #35508954 未加载
评论 #35519368 未加载
评论 #35508905 未加载
brilloutabout 2 years ago
Open alternative to Next.js: <a href="https:&#x2F;&#x2F;vite-plugin-ssr.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;vite-plugin-ssr.com&#x2F;</a> (I&#x27;m its author).<p>Open:<p>- Choose any UI framework you want (React&#x2F;Vue&#x2F;Solid&#x2F;...)<p>- A <i>lot</i> more flexible than Next.js (e.g. i18n and base assets configuration are fundamentally more flexible)<p>- Keep architectural control (vite-plugin-ssr is more like a library and doesn&#x27;t put itself in the middle of your stack)<p>- Use your favorite tools. And manually integrate them with vite-plugin-ssr (for full control without surprises).<p>- Deploy anywhere (and easily integrate with your existing server&#x2F;deploy strategy)<p>- Open roadmap<p>- Ecosystem friendly<p>The upcoming &quot;V1 Design&quot; has been meticulously designed to be simple yet powerful. Once nested layouts, single route files, and typesafe links are implemented vite-plugin-ssr will be pretty much feature complete.<p>Note that, with vite-plugin-ssr, you implement your own renderer, which may or may not be something you want&#x2F;need&#x2F;like to do. Built-in renderers are coming and you’ll then get a zero-config DX like Next.js (minus extras like image processing as we believe they should be separate libraries).<p>Web dev isn&#x27;t a zero sum game - a vibrant and healthy ecosystem of competing tools can co-exist. (I&#x27;m close to be able to make a living with sponsors.)<p>Vision is to make a truly open and collaborative foundation for meta frameworks.<p>Let me know if you have any questions.
评论 #35632295 未加载
评论 #35510495 未加载
ezekgabout 2 years ago
This type of behavior, where a CDN flat out ignores a header you’ve set in favor of their own values, without any indication, is incredibly frustrating.<p>I hit a similar issue when using Cloudflare and the Date header, where I was signing some parts of the response including the Date header. The problem was that if the request hit Cloudflare at just the right^W wrong time, the signature would be invalidated because their Date header value would be different than the original.<p>They didn’t see it as an issue, even though IIRC the HTTP spec states that a proxy server must not overwrite the Date header if it was set by a prior actor.<p>Took days of debugging to determine why some requests were producing invalid signatures.
TobyTheDog123about 2 years ago
(Only somewhat-related rant)<p>I&#x27;m very much starting to distrust these huge companies with infinite product&#x2F;feature lists and generic marketing-lingo websites.<p>&quot;Vercel is the platform for frontend developers, providing the speed and reliability innovators need to create at the moment of inspiration.&quot;<p>Seriously?<p>I want serverless providers that tell me the 4-5 products they offer (Compute, maybe a KV store, maybe a database, maybe some pubsub, maybe a queue?), give me the pricing, and leave me the Hell alone.<p>I don&#x27;t want to feel locked into a system promising end-to-end whatever, ones that heavily push a certain framework, and most importantly ones that look like the homepage was designed by a team of sales people instead of a team of engineers.<p>It&#x27;s the difference between the Cloudflare Workers website and the Vercel website: Vercel looks like the new-age big-brother con artist, while Workers looks like a utility.<p>Sorry, what were we talking about? A runaway bill?
Rauchgabout 2 years ago
The gist is (which the support engineer referred to as the internal RFC): instead of stripping `cache-control` `s-maxage` &#x2F; `stale-while-revalidate` values, we should support Targeted HTTP Cache Control[1] (i.e.: `cdn-cache-control` and `vercel-cache-control`).<p>Vercel strips them because (1) at the time this RFC didn&#x27;t exist and (2) most of the time you we found customers don&#x27;t want to cache on the browser side or proxying CDNs, which makes purging and reasoning about cache staleness <i>very difficult</i>.<p>Another example there is the default `cache-control: public, max-age=0, must-revalidate`. Without that, browsers have very unintuitive caching behavior for dynamic pages.<p>Customers want to deploy and see their changes instantly. They want to their customers &quot;go to our blog to see the news&quot; and not have to second guess or fear the latest content will be there.<p>I appreciate Max&#x27;s feedback and we&#x27;ll continue to improve the platform.<p>[1] <a href="https:&#x2F;&#x2F;httpwg.org&#x2F;specs&#x2F;rfc9213.html" rel="nofollow">https:&#x2F;&#x2F;httpwg.org&#x2F;specs&#x2F;rfc9213.html</a>
评论 #35508753 未加载
ilrwbwrkhvabout 2 years ago
If anyone needs a CDN, please use BunnyCDN. I have tried almost every other major CDN and it just blows everything else out of the water.<p>Regarding Vercel, they do have quite poor support so it doesn&#x27;t feel rock solid and dependable. They are a great start though, but then ideally you should just switch to bare metal on Hetzner or something when you are earning serious money from your business.
评论 #35508816 未加载
评论 #35519264 未加载
评论 #35510305 未加载
adoxyzabout 2 years ago
Personally, I love how approachable Vercel is and for most small things I&#x27;ve used Vercel for, it has been an absolute delight.<p>My issue with using Vercel for &quot;real workloads&quot; is the pricing though. 100GB of Bandwidth for $40 is a blocker.<p>I love how easy the experience is to throw up an app and test it in the real world, the dashboard is great, build times are excellent, but I can&#x27;t see myself paying that high of a premium.
评论 #35534436 未加载
pauliescanlonabout 2 years ago
Feel like this Tweet could use some social support too.<p><a href="https:&#x2F;&#x2F;twitter.com&#x2F;ms_nieder&#x2F;status&#x2F;1626995266619420675?s=46&amp;t=zLpZZGPcHuyGxMHwpDpFuA" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;ms_nieder&#x2F;status&#x2F;1626995266619420675?s=4...</a>
评论 #35515026 未加载
评论 #35522348 未加载
intersticeabout 2 years ago
I have spent a while struggling with Vercel and unexpected caching behaviour, specifically in regards to Nextjs 12 returning &quot;Static props not found&quot; errors in situations where that seems like it should be impossible according to the docs.<p>The lack of other voices on the internet with the same issues led me to believe that I was going insane. Now I&#x27;m starting to think going back to a good old VPS might not be such a bad idea.
random_rantsabout 2 years ago
What the hell. You have a page with a 150 jobs and a form. You basically don&#x27;t need anything more than an html editor.<p>We need to talk about how we do software architecture and technology choices today. In the time you played around with CDN stuff you easily could build a company listing, fixed your footer and header links, thinking about a pricing, build an apply-form, fixed&#x2F;build job notifications, ...
评论 #35510358 未加载
评论 #35510141 未加载
mkl95about 2 years ago
I don&#x27;t dislike Vercel specifically, but I dislike opaque businesses that masquerade as open source champions. Also, I wish fewer devs were OK with &quot;advanced frontend stuff&quot; being such a leaky abstraction.
pizzuhabout 2 years ago
For someone looking at switching to Vercel for frontend deployment, this is a bit scary.<p>Granted, CloudFront isn&#x27;t terribly hard to use. It&#x27;s nice to have all resources in one place, however, it&#x27;s probably worth sticking to the more mature products for things like content delivery.
评论 #35508580 未加载
评论 #35509216 未加载
compumikeabout 2 years ago
&gt; Most of remotejobs.org is already hosted on a VPS and so in my case I&#x27;ll move the web pieces there with a CDN like Cloudflare in front of it.<p>You probably don’t even need a CDN at all.
评论 #35508704 未加载
评论 #35508689 未加载
leerobabout 2 years ago
[Lee from Vercel] Max reached out to me today (Sunday) after this experience, and I worked with him this evening get to a resolution for his site on the Vercel free tier.<p>I&#x27;m really sorry we weren&#x27;t able to get to a resolution faster. I&#x27;ve concluded it&#x27;s not an issue with the Vercel Edge Network based on the reproduction he provided and pushed documentation and example updates (see below). I know Max spent a lot of time on this with back and forth, so I just want to say again how much I appreciate the feedback and helpfulness by providing a reproduction.<p>Here are the full details from the investigation:<p>- Beginning Context: Vercel supports Astro applications (including support for static pages, server-rendered pages, and caching the results of those pages). Further, it supports caching the responses of &quot;API Endpoints&quot; with Astro. It does this by using an adapter[1] that transforms the output of Astro into the Vercel Build Output API[2]. Basically, Astro apps should &quot;just work&quot; when you deploy.<p>- The article states that to update SWR `cache-control` headers you need to use the `headers` property of `vercel.json`[3]. This is for changing the headers of static assets, not Vercel Function responses (Serverless or Edge Functions). Instead, you would want to set the headers on the response itself. This code depends on the framework. For Astro, it&#x27;s `Astro.response.headers.set()`[4]. This correctly sets the response SWR headers.<p>- Vercel&#x27;s Edge Network does respect `stale-while-revalidate`, which you can validate here[5] on the example I created based on this investigation. This example is with `s-maxage=10, stale-while-revalidate`. Vercel&#x27;s Edge strips `s-maxage` and `stale-while-revalidate` from the response. To understand if it&#x27;s a cache HIT&#x2F;MISS&#x2F;STALE, you need to look at `x-vercel-cache`. I appreciate Max&#x27;s feedback here the docs could be better—I&#x27;ve updated the Vercel docs now to make this more clear[6].<p>- I&#x27;ve started a conversation with the Astro team to see how we can better document and educate on this behavior. In the meantime, I updated the official Vercel + Astro example to demonstrate using SWR caching headers based on this feedback[7].<p>- The reproduction provided by Max[8] does not show the reported issue. I was not able to reproduce, which is the same result that our support team saw. It sounds like there were some opportunities for better communication here from our team and I apologize for that. I will chat with them. Free customer or not, I want to help folks have the best experience possible on Vercel. If Max (or anyone else) can reproduce this, I am happy to continue investigating.<p>[1]: <a href="https:&#x2F;&#x2F;docs.astro.build&#x2F;en&#x2F;guides&#x2F;integrations-guide&#x2F;vercel&#x2F;" rel="nofollow">https:&#x2F;&#x2F;docs.astro.build&#x2F;en&#x2F;guides&#x2F;integrations-guide&#x2F;vercel...</a><p>[2]: <a href="https:&#x2F;&#x2F;vercel.com&#x2F;docs&#x2F;build-output-api&#x2F;v3" rel="nofollow">https:&#x2F;&#x2F;vercel.com&#x2F;docs&#x2F;build-output-api&#x2F;v3</a><p>[3]: <a href="https:&#x2F;&#x2F;vercel.com&#x2F;docs&#x2F;concepts&#x2F;projects&#x2F;project-configuration#headers" rel="nofollow">https:&#x2F;&#x2F;vercel.com&#x2F;docs&#x2F;concepts&#x2F;projects&#x2F;project-configurat...</a><p>[4]: <a href="https:&#x2F;&#x2F;docs.astro.build&#x2F;en&#x2F;reference&#x2F;api-reference&#x2F;#astroresponse" rel="nofollow">https:&#x2F;&#x2F;docs.astro.build&#x2F;en&#x2F;reference&#x2F;api-reference&#x2F;#astrore...</a><p>[5]: <a href="https:&#x2F;&#x2F;astro.vercel.app&#x2F;ssr-with-swr-caching" rel="nofollow">https:&#x2F;&#x2F;astro.vercel.app&#x2F;ssr-with-swr-caching</a><p>[6]: <a href="https:&#x2F;&#x2F;vercel.com&#x2F;docs&#x2F;concepts&#x2F;edge-network&#x2F;caching#server" rel="nofollow">https:&#x2F;&#x2F;vercel.com&#x2F;docs&#x2F;concepts&#x2F;edge-network&#x2F;caching#server</a><p>[7]: <a href="https:&#x2F;&#x2F;github.com&#x2F;vercel&#x2F;vercel&#x2F;pull&#x2F;9778">https:&#x2F;&#x2F;github.com&#x2F;vercel&#x2F;vercel&#x2F;pull&#x2F;9778</a><p>[8]: <a href="https:&#x2F;&#x2F;github.com&#x2F;maxcountryman&#x2F;astro-trpc-example">https:&#x2F;&#x2F;github.com&#x2F;maxcountryman&#x2F;astro-trpc-example</a>
评论 #35508603 未加载
评论 #35509228 未加载
评论 #35508630 未加载
steve_adams_86about 2 years ago
I’ve worked on two projects where there were comments about strange SWR config — pointing towards GitHub issues discussing this exact issue.<p>The first time I encountered it must have been 3 years ago. I have a feeling vercel doesn’t care.
clumsycomputerabout 2 years ago
ive ejected out of the next ecosystem and work in preact now. some of the optimizations being adopted across react and next had me worried about insurmountable lock-in! with that said vercel&#x27;s github integration is a beautiful thing that i will continue to use. the automated preview deployments are just too clutch
akagusuabout 2 years ago
We need to talk about developers.<p>Vercel and any other company in their space follow the same old playbook:<p>They play opensource to attract users and build nice stuff developers like (not necessarily what they need) to win market share and developer&#x27;s mind and heart.<p>When they are above the competition, thanks to the free contributions of the community, they reveal their true nature and start play greed.<p>Developers get upset and start ranting on HN.<p>How many times do I need to see developers playing this movie? It&#x27;s is the same shit over and over and over again.
netuleabout 2 years ago
I hope this doesn&#x27;t come off as snarky, but after researching Vercel and its competitors I decided that the iffiness around billing for these services wasn&#x27;t worth it. I would mostly use it as Infrastructure as a Service anyway. It took me about a night to learn the ins and outs of AWS CloudFormation. Now I know exactly what my stack looks like and I can more easily estimate my end-of-month costs -- plus I can stay in the free tier wherever possible.
revskillabout 2 years ago
There&#x27;s no option&#x2F;docs on rate limit or prevent DDOS serverless functions. I warned them 3 years ago, but it&#x27;s not listened.
pauliescanlonabout 2 years ago
$250,000 per year for 10 seats with Vercel on AWS Marketplace.<p><a href="https:&#x2F;&#x2F;twitter.com&#x2F;eigenseries&#x2F;status&#x2F;1645515739280064512?s=46&amp;t=zLpZZGPcHuyGxMHwpDpFuA" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;eigenseries&#x2F;status&#x2F;1645515739280064512?s...</a>
yawnxyzabout 2 years ago
ha, I thought I was just bad at &quot;computer stuff&quot; for not figuring out how to implement SWR correctly on Vercel...
pier25about 2 years ago
Does any CDN support stale-while-revalidate?<p>I know Cloudflare doesn&#x27;t. I thought Vercel did but apparently not.
评论 #35508945 未加载
评论 #35508807 未加载
siquickabout 2 years ago
Some odd hate in this thread. Been using Vercel for around 3 years and it’s been amazing and it’s our default for all front end deployments now. The DX is second to none and the per-branch deployments are great for protoyping.<p>Yeah there is no cap on spend (Which cloud services do this? None afaik) but if you’re really worried about getting DDOSd then put Cloudflare in front of Vercel.