The big difference is how the microvm is utilized. Lambda reserves the entire VM to handle a request end to end. Fluid can use a VM for multiple concurrent requests. Since most workloads are often idle waiting for IO, this ends up being much more efficient.
The concurrent request handling seems great for our AI eval workloads, where we're waiting for LLM API calls and DB operations but curious how Vercel handles potential noisy neighbor issues when one request consumes excessive CPU/memory?
Disclosure: CEO of Scorecard- AI eval platform, current Vercel customer. Intrigued since most of our time serverless time is spent waiting for model responses, but cautious about 'magic' solutions.
We built Fluid with noisy neighbors(=requests to the same instance) in mind. So because we are a data-driven team, we
1. track metrics and have our own dashboards to ensure we proactively understand and act whenever something like that happens
2. also use these metrics in our routing to smartly know when to scale up. we have tested a lot of variations of all the metrics we gather and things are looking good
anyway, the more workload types we will host with this system, the more we know and the better/performant it will get. we're running this for a while now, and it shows great results.
there's no magic, just data coming from a complex system, fed into a fairly complex system!
hope that answers the question, and thanks for trusting us
So if undertood 1. correctly I could use this solution to potencially save money, but it could turn into a nigthmare very quickly if you guys aren't watching?
i think the majority of Vercel customers are doing web site hosting & most of the web requests are IO bound so it makes sense to handle multiple requests per microvm.
can't say the same if customer is doing CPU bound workload.
Part 2 is that you can also use an actual server if your workloads happens to be predictable (or is partly predictable). That gives you better cost efficiency for that part of the workload
Love it! When I first learned about serverless as a vibe years ago it didn’t click, but it’s so clear to me that abstracting compute fully is a huge win as long as you can safely assume things about the way your code will run.
It’s interesting to see so many companies coming at it from different angles. Fly, Vercel, Cloudflare, Northflank, Temporal? etc.
Pretty much all the code I need for my work can run in GitHub Actions, so I’m not so much the target, but still enjoy watching the development.
If you can answer, what’s the overall initiative here for Vercel? Own all the compute, as opposed to just the front end ish things?
We're embracing copy-and-paste with the product rather than increasing abstraction. The tool provides the HTML or React code for building the generated UI. The way you actually use it, is by copy-pasting it into your app. From that moment on your workflow and specially debugging workflow is exactly as before. The tool just writes the first 100 lines of code to get you started with a great UI.
New generations are behind a waitlist, but you can see what the service does on the explore page (and bottom of homepage linked above) https://v0.dev/explore
- You can turn this on without changing the code of your site (just need to activate emitting the metadata in the CMS)
- Supports any framework
- We're working on an open content-source mapping standard that makes the underlying tech available to any CMS, e-commerce system, or other content source.
The editing functionality is delegated to the CMS. Respectively content changes flow through the exact pipeline as changes originated directly from the CMS would. In fact, we allow the CMS to completely control the actual editing experience.
The main point of this feature is that if an employee does find a typo on some article, they can just fix it rather than going to the CMS, finding the actual place where that text is stored, making the change, etc.
Yeah, if you go into the dashboard it gives you a bunch of options for connecting to the DB including the names of the automatically generated environment variables. And that includes POSTGRES_URL which most tools default to.
Displaimer: CTO of Vercel here