[1] https://developers.cloudflare.com/r2/pricing/
[2] https://vercel.com/docs/storage/vercel-blob/usage-and-pricin...
There’s also the community forums although I find it’s harder to stay on top of those personally.
Not trying to say our paygo support is as good. Just saying for those customers, I do personally try to offer ENT-level support as an entire class of users (ie all paygo = 1 ent to me for the products I personally support)
Most of the engineers and product leaders on the teams that make the services check those channels daily and jump into help where they can. There's also a huge community of power users there called Community Champions who help out as well.
It depends how much you spend on egress vs developers.
I’ve not had any luck getting it to work though I’m also not well versed on the terminology.
its now my defacto playbook for building lasting bottom up disruptive cloud companies. start by giving away an extremely good free tier (cloudflare - cdn, vercel - nextjs+hosting) then add build time compute, run time compute, readonly kv store, and now full read write storage.
(this is part of an overall cloud progression that i've been studying for a couple years https://twitter.com/swyx/status/1417136897894326277)
many other platforms try to start off offering everything under the sun, claiming to care about the holistic end to end experience. vercel bet correctly on one wedge, built it up over years, and only now is expanding into storage. well earned.
They distilled the entire deployment process into a few clicks and boom, you have a real, functioning, fast website. Then they added templates, good marketing, and doubled down on React. The rest is history. It’s a well executed vision and I give them a lot of props for that.
there are better wedges financially speaking but theres pretty much no bigger bottom up developer wedge than this one
What companies have you built (or played a role in building) using this "playbook" that fit your description?
Companies are leasing out the core aspects of computing (storage, networking, CPU, GPU, auth), nothing really insightful here. Just your average day in capitalism.
> many other platforms try to start off offering everything under the sun
Do they? Or do they also start small, then build up over the years until they have everything under the sun, rinsing and repeating the process.
It's been the opposite for me.
Back around 2015-2016 I was very excited about cloud functions, serverless, etc, but these past years I've gone back to mostly running VMs with regular persistent apps.
Complexity has gone down considerably and there's zero lock in. With Docker I have full control over the platform and can run these apps pretty much anywhere I want and how I see fit.
With Fly it's trivial to get scale to zero. I wrote a little tutorial here recently:
https://community.fly.io/t/implementing-scale-to-zero-is-sup...
I still use some serverless stuff for very specific use cases, like enhancing a static site with a bit of backend logic, but definitely not as the main solution to run the bulk of my backend apps.
Either way, I'm back on the monolith train and probably won't look back for a while.
Yeah that happened to me like a year or two ago. Google changed something on the platform running my functions and my app stopped working without any notice.
I know people are allergic to the word blockchain, but you can store variables on them for nearly free (its a one-time cost), have unlimited free read traffic, and have your users pay to update your state for you
your frontends just read that and update dynamically
cloud platforms aren't able to compete with that, and you can just do system design that is applicable to this infrastructure while scrapping every idea that doesn't work - just like in the before times
- Vercel Postgres pricing: https://vercel.com/docs/storage/vercel-postgres/usage-and-pr...
- Neon Postgres pricing: https://neon.tech/docs/introduction/billing
You can properly still buy Postgres directly from Neon or choose another database provider: https://vercel.com/integrations#databases
Careful here. You'd be building a vercel-specific API into the middle of your data access stack. That might be fine... e.g., if it has a limited/specific use or lifetime, so that you know you won't get stuck.
But otherwise, use a standard, portable client. The docs say you can use any postgres client, so you should be able to choose whatever you prefer.
No serious company is ever going to use these criminally expensive software, so it's quite clear what their target market is. Unfortunately, they have such a strong hold of the Twitter and Youtube space with their army of cringey influencers.
This company does nothing but a disservice to the next generation of web developers. Really a shame.
For a weekend/side project that needs db and storage, why would I spend days correctly setting up, securing, and provisioning all my infra when I could just pay a little extra and never worry about it?
When creating a new project I wear all hats. Project management, UX/UI designing, Frontend, Backend, Infra, User testing, security.
Having to maintain multiple projects that all bring income in as a solo developer wearing all the hats is very time consuming, this is an absolute godsend and I'll pay for the DX happily.
But also I just started a side project with Rails. I got a CI/CD production environment with GitHub Actions, Postgres, Redis, sidekiq, and storage on Fly.io in an hour or two.
The thing that makes me more comfortable here is that none of my application code references Fly.io at all. If the project needs to grow beyond Fly I just change some environment variables and migrate the data.
I've only talked in depth with one of them, but the reason is complexity: they want "a react framework" and every update to NextJS substantially raises the complexity bar, introducing a large number of features that they don't want or need. There's also been at least one incident of a NextJS bug which only affected non-Vercel deployments; and that incident came up in this discussion as evidence for their concern that NextJS doesn't have a future outside of Vercel (the company and the platform).
I just don’t see the value prop to use Vercel for SaaS apps. Using a running server for those works better, cheaper, and faster. For consumer-facing storefronts, Vercel is a no-brainer though.
There's also issues with complexity even if the solutions get figured out. What are you getting in return? Serverless is great IMO when it's the simplest solution to a problem, ex: "I only have a front end but I really need a simple API action that daisy-chains a few API calls".
Deploys Go app containers. Pick a cloud. Use whatever they offer.
Deploys static JS to cdn
Calls it a day.
I really do not understand these tools. Who is using them?
I’ve built and worked on apps used by millions of people. Really don’t understand where the benefit is or if people are just over complicating basic things to extract money from chump developers?
And now that your app is using one of these frameworks, you probably need some sort of API for whatever. There's a lot to be said about designing a REST api just being exporting an JS function in a file in a /api folder or whatever. If you are already using a hosted option for these frameworks it's an incredibly simple solution that doesn't require to you mess around creating a new project, making a docker image, going to a different cloud provider and giving them your credit card, etc. And depending on your scale that might genuinely be cheaper than running a container 24/7 on a public cloud.
It limiting your options can be a good thing, people can just ship instead of being stuck in analysis paralysis forever.
I also found it quite nice entry point for newbie developers. I’ve been donating my time to help out new developers, and learning deployment (it isn’t ”basic” for complete newbies) on top of everything can be daunting. Vercel lets them deploy for free and effortlessly so that they can show off what they’ve learned.
That being said, I personally wouldn’t touch Vercel for any serious work either.
IMO biggest problem is that if your website is public facing, then just having an SPA is bad for crawlers and not great for UX.
When you take a traditional tech stack, say LAMP on a dedicated server, performance is very constant overall. You even develop a type of muscle memory for it and adapt a click pace/flow when you use an application like that intensely.
No so much with cloud-native serverless. A page may respond fast and then 10 times slower the next time. There's just so many moving parts (virtualization, edge, cache, cold/warm compute, out of network dependencies, etc) that it feels random to a user.
> Next.js Server Actions (to be announced Thursday)
Looking forward to have to re-learn the Next.js API, again! /s
I've been a happy user of Python on Vercel for years, but I often feel like languages other than JavaScript are very poorly represented, both in the community and the documentation.
My notes on running Python on Vercel: https://til.simonwillison.net/zeit-now/python-asgi-on-now-v2
import { sql } from '@vercel/postgres';
const { rows } = await sql`
INSERT INTO products (name)
VALUES (${formData.get('name')})
`;
Presumably authentication is handled transparently? I really like that - reminds me of Deno's new KV cloud stuff too.Is that done with environment variables? I'd want a way to tap into that from Python code as well.
My company already uses Cloudflare so the rest isn’t a big change for us.
Example, with Upstash redis: i deployed a fly.io connected to upstash. I don't use that service for a month (no query at all), but it still counted in billing.
Wait, is upstash real serverless ? I have to pay for NOT using it ?
This is not what all our customers want, but it is much cheaper to run this way for most fullstack frameworks. It's not ideal for a Redis you don't use at all, though.
We're considering a serverless / metered billing option for this. But what we have is much closer to spinning up a permanent Redis. :)
For now, i had to say goodbye for most of cloud services. Good old VPS for now.
import { tableName } from "../shared"
sql`SELECT * FROM ${tableName} WHERE id=${formData.get('id')}`
The @vercel/postgres package needs a big disclaimer that it works very differently from node-postgres and what is and is not allowed.