How we run Firecracker VMs inside EC2 and start browsers in less than 1s
Posted by gregpr07 1 day ago
Comments
Comment by losteric 4 hours ago
> Our browsers avoid blocks 81% of the time on our stealth benchmark, and 84.8% on Halluminate BrowserBench, the highest of any provider.
Seems very unethical, no? Who uses service providers like this? The whole point of anti-bot measures is to get rid of bots - you are not wanted there.
These kinds of services inevitably make the web more human-hostile and expensive. Websites will continue pushing back on automated usage, meaning more hurdles to access content.
No doubt part of why we see this push for verified ID on the web - not just age gating and "protect the children", but also protect sites from bots, and protect ad revenue (not a statement of support; just seems like an obvious higher order effect)
Comment by baby_souffle 2 hours ago
I use change detection to monitor all sorts of websites for changes. Some of my favorite authors don't have RSS. I always set up price monitoring for any big ticket item I'm considering like appliances so I can see how their pricing changes over time. I also use scrapers for websites that don't have an API. I like having all of my purchase history indexed in a database where I can do analysis.
> These kinds of services inevitably make the web more human-hostile and expensive.
I would rather not have to spend more time circumventing stupid bot detection things. I would be more than happy to pay for access to some of this data that I cannot access any other way.. but sure, let's keep burning resources on a cat and mouse game that scrapers will always be able to win.
Comment by arianvanp 1 hour ago
They do not.
Comment by mikeocool 3 hours ago
What is likely unethical is the fact that they offer residential proxies. The residential providers of those proxies are frequently not aware they’ve been opted in to provide such a service.
Comment by eab- 2 hours ago
≠ ethical
Comment by MayCXC 58 minutes ago
Comment by embedding-shape 4 hours ago
Unethical just because it does something someone else doesn't want? I guess it depends on why and what the intention is. I don't have time to sit 24/7 in front of a computer to get a ticket to some events, does that mean it's unethical for me to use my own bot so I can purchase a ticket to bands I'm a fan of? Probably not. But if I did so for scalping purposes? Then yeah, I'd agree it's unethical.
The whole point of anti-anti-bot measures is to be able to do things even if others don't think that thing should be automated, so from the hacker news audience, I think quite a lot of us have at one point or another engaged in stuff like that. Doing so merely for profits of course stinks, but for you to be able to have a fighting chance against scalpers? Probably OK.
Comment by mystifyingpoi 3 hours ago
It's an interesting thought that can be further explored. Could anything that's considered "unwanted" by a third party considered unethical, if I do it anyway?
If the hotel self-service restaurant has a sign "don't take the food out" and I take 1 apple in my pocket for a snack, is it unethical? Or maybe the sign is just for people that would otherwise take $100 of watermelons out of the cantina daily and try to resell it on the beach.
Comment by turtlebits 3 hours ago
If you saw a sign in a store that said "1 per person" or "for registered guests only", would you ignore it?
Comment by orf 3 hours ago
The point is that the context matters: both the users context and the context of the restriction. It’s not as clear cut as “ignoring restrictions = bad”.
The restriction itself can be unethical, in the same way that bypassing a restriction can be unethical.
Comment by BoorishBears 43 minutes ago
The reality is a lot of interesting, trivially harmful to non harmful things are illegal and we still do them anyways.
Comment by windexh8er 2 hours ago
The rules aren't always right and sometimes have unintended consequences. I think a bigger issue than Browser Use is all of the copyrighted material in every LLM. Given that precedent has been set with zero legal consequences, I'm not sure there's much of a leg for you to stand on here.
Comment by embedding-shape 3 hours ago
I'd still consider why the restriction is there and why I'm thinking of breaking it, before deciding if it's unethical or not.
It depends, basically. Generally I follow the rules and restrictions, but maybe see them more as guidelines or suggestions.
Comment by kube-system 1 hour ago
There are many valid ethical exceptions for evading anti-bot detections. For example: you are a white hat actor scraping a black hat site. There are hundreds of other plausible examples.
Comment by jamiequint 3 hours ago
Comment by joatmon-snoo 4 hours ago
I know there's a relationship between mileage and depreciation, but wanted to have a better sense of what that relationship is to know whether a given car was over or underpriced.
Similarly, if I was pulling that data to build a service of my own to offer to users... is that unethical?
Comment by sroussey 3 hours ago
Comment by adolph 1 hour ago
Time was you could get lovely json feeds from every site by iterating the inspector curl statement. Now-a-days you can't even use Selenium without Cloudflare getting grouchy. Last fall had to make my spreadsheet like a cave-person control c, control v. It wouldn't be so bad if the dealer aggregators' coverage was xor, but you have to dedupe listings. Then there is the whole online salespeople who don't show up at the dealership.
Comment by skybrian 3 hours ago
Seems like doing business with other people should normally be based on mutual consent, not whatever you can get away with technically.
Comment by wnevets 4 hours ago
People who don't want their headless browser to get blocked?
Comment by nateb2022 4 hours ago
I'm familiar with companies automating access to software only accessible via the web with poor/no API support. This is software they pay (usually a lot of money) for, and usually has built in captchas to guard logins. They aren't a large enough customer to ask the removal of these captchas or whitelabelled (just one out of many SaaS tenants), so they simply work around that restriction.
Comment by mystifyingpoi 4 hours ago
I don't think one can judge it ethically without considering the context. Are we talking about mass automated scraping? Or are we talking about me trying to get a good deal by scraping local used car dealership listing once per day for my personal need (just so I don't have to do it manually)?
One of these is strictly more ethical, but both will be blocked by Cloudflare for example. I'd happily use such service in my personal case.
Comment by dagi3d 2 hours ago
Comment by sillysaurusx 4 hours ago
For example, Claude has a lot of trouble reading HN's front page. HN itself is fine, but the moment you ask it to pick out an article, it often chokes. The website has put up a verification captcha, or it's a paywall, etc. Paywalls can be bypassed by reading HN comments and looking for archive links. But those archives often block bots too, so you're back to square one.
Whether it's unethical is an interesting question. I believe I should have the right to do what I want with internet content, as long as I'm not abusive. Merely having a bot isn't abusive. It would be one thing if the bot is hammering a server or vacuuming up training data, but having a bot at all is presently very hard.
This service caught my attention because it could potentially solve the problem I'm running into. Simply taking snapshots of articles that hit HN shouldn't be so hard, but it is. HN sends millions of views to websites; one bot taking a snapshot isn't going to make a difference. I don't think it counts as "unethical" just because we're going against the website owner's wishes. When you post content to the internet, you sign up to share that content with everyone, other than what's denied by robots.txt. If it's not blacklisted by robots.txt, it should be possible for well-behaved bots to access.
I don't expect very many people here to care about the poor bot creators. Most of the bot creators are malicious anyway. But I personally lament the loss of being able to write a program that can process information from the browser in arbitrary ways. You should be able to, yet we're buying into the notion that it's okay for website owners to say "this content is only accessible by approved bots like Google, and everyone else can sod off."
HN proves it doesn't need to be like that. It gets dozens of millions of page views a day, a lot of which is bot traffic. HN only uses captchas for creating accounts or logging in. You're free to scrape any content as long as you respect the crawl delay of 30 seconds specified in robots.txt, and don't try to visit links that perform actions a human would take (like adding things to favorites or voting). That's how the internet should work: just deliver content.
Comment by dist-epoch 2 hours ago
until half of HN users start asking their agent to do the same, to summarize the top HN articles every day
Comment by ge96 3 hours ago
Comment by figmert 3 hours ago
Comment by __alexs 2 hours ago
Comment by cute_boi 4 hours ago
Comment by stogot 4 hours ago
Comment by hollerith 2 hours ago
Now that there is an alternative (namely AI) people (including me) are flocking to the alternative. You want frame this as unethical bots versus ethically-acceptable human site visitors, but the main motivation for the use of scraping bots these days is to provide services (i.e, AI-based question answering) that users (like me) consider far superior to going directly to web sites for information because visiting web sites with a web browser is a frustrating tedious experience.
Comment by ranger_danger 4 hours ago
Comment by zuzululu 3 hours ago
For example I could write in my Terms of Service that you do not view more than one page on my website and expect you to send me a written permission to read the rest. I don't expect anybody to follow and I sure don't think less of those that do.
The push for verified IDs is not related to this, its more of a politically motivated attempt at selling fear to justify more surveillance.
Comment by sudb 1 hour ago
1. https://aws.amazon.com/about-aws/whats-new/2026/02/amazon-ec...
Comment by gregpr07 1 hour ago
Comment by hobofan 2 hours ago
We have a much less sophisticated setup in our web-access MCP server[0] where browser instances are spawned as subprocesses and the biggest win in stability, CPU and memory usage we had was in switching from Chrome to Lightpanda[1].
Fitting to the statement at the end of the article, the faster browser to boot might be one that allocates less memory in general.
Comment by Reformedot 2 hours ago
Browsers like LightPanda lack stealth at all, they are trivial to detect. There are ways to make Chromium more performant, by removing everything that you don't need.
We believe that Chromium can reach that performance without starting an entire engine from scratch, and without losing stealth, a top priority for us.
The language is not the problem, C++ is as performant as Zig, but Chromium bloat is huge, agree on that.
Comment by smnscu 18 minutes ago
Comment by cgijoe 1 hour ago
Hmm, can't you just keep a set of browsers already running, like a warm pool, ready to assign to an incoming request? The latency would be close to zero for the user. You'd need some prediction logic to expand / contract the warm pool based on traffic patterns, but that seems like the easiest solution to me.
Comment by Reformedot 1 hour ago
Warm pools are nice but at the end they also consume resources, And you need to always keep the pool warm, starting browsers to balance, etc...
With the upcoming changes we will keep Chromium startup and the VM will be ready in 50ms, defeating warm pools at all
Also some customers need special parameters and features, increasing warm pools complexity. The happy path will be fast but the edge case will be extremely slow , and we want to guarantee fast speeds to matter which features you need on the requested browser.
Comment by timojeajea 2 hours ago
Comment by Reformedot 1 hour ago
Few issues we had with lambas: - Limited running time (15 min), we support up to 4 hours (we can run longer if needed) - Price - Lack of snapshotting mechanisms - Lack of low-level control over the running host
But yeah, lambda is way more than enough for most common use cases automating the web
Comment by epolanski 1 hour ago
Comment by timojeajea 1 hour ago
Comment by Reformedot 17 minutes ago
Comment by amarshall 28 minutes ago
Comment by SomaticPirate 1 hour ago
Comment by WhyNotHugo 10 minutes ago
Comment by CompuIves 4 hours ago
Comment by rbbydotdev 4 hours ago
yes but i think there is specifically some ec2s which give you hypervisor access and thereby firecracker too - someone correct me if im wrong?
Comment by roboben 4 hours ago
[1] https://aws.amazon.com/about-aws/whats-new/2026/02/amazon-ec...
Comment by thundergolfer 4 hours ago
Comment by roboben 4 hours ago
Comment by Reformedot 4 hours ago
Comment by torginus 4 hours ago
Comment by Dibby053 2 hours ago
Also a bit surprising that a checkpoint with the browser running wouldn't just work. Is this some quirk of firecracker?
Comment by Reformedot 2 hours ago
Main blockers right now is fingerprint injection and profile injection, solved already.
It's always a balance of engineering effort & gains. Post-Chromium snapshot let's us save 200ms, which is not that important for 99% of use-cases, but that will come soon since it brings some other benefits (like CPU footprint)
Profiling and tools used are already included with Chromium, they provide nice debugging tools
Comment by messh 2 hours ago
Comment by Reformedot 2 hours ago
Comment by sandGorgon 2 hours ago
P.S. we do maintain our fork of a browser for rubric computation...but that is not relevant for this. The infrastructure is what we are looking for.
Comment by Reformedot 25 minutes ago
Startups are absurdly slow, isolation is harder, etc...
Android bloat is insane, you need to run the entire Java VM to start the browser... It's also harder to fingerprint, and at scale that's something that we need for Browser Use
Cool experiment but not yet production ready, at least for us
Comment by tauntz 2 hours ago
Comment by andrewstuart 2 hours ago
Comment by GrinningFool 3 hours ago
Comment by embedding-shape 3 hours ago
Comment by GrinningFool 2 hours ago
Comment by embedding-shape 2 hours ago
Comment by GrinningFool 1 hour ago
Comment by swazzy 3 hours ago
Isn't this solvable with autoscaling? how is this not an issue with Firecracker as well?
Comment by Reformedot 2 hours ago
That's why we moved to a fully in-house solution with Firecracker and auto-scaling on EC2
Comment by gozzoo 4 hours ago
Comment by simonreiff 2 hours ago
Firecracker provides an isolation between the host kernel, on the one hand, and the guest microVM, on the other hand. So on AWS, you use an Amazon Machine Image (AMI) to specify the OS and other components and libraries installed on an EC2 server such as c5.metal, or if you're using nested virtualization, you can use c8i, s8i, or m8i instances at a discount of about 80%-90% at some performance and other cost, and you bundle Linux along with the Firecracker binary. Then you compile a build artifact including `rootfs` for the Firecracker baked image which is the microVM image (analogous to a Docker image that results from executing `docker build`). But the microVM process has its own virtual kernel and is a guest on the host machine. So for instance, you can place Docker inside the microVM, then the container is executing against the microVM kernel, not the host EC2 kernel. Communication is achieved securely between the two using `vsock` and probably something like `socat` so that data travels, say, from guest RAM to host RAM directly to an S3 quarantine bucket, for instance, without ever touching the host's kernel or filespace.
Comment by mike-grant 2 hours ago
The only issue is scaling, the containers aren't super quick to start (so we keep a spare container ready) and there's plenty of other issues. Also docker isn't really a security boundary so there's issues and concerns there.
Comment by kevmo314 4 hours ago
They boast a large residential proxy network too, which tells you all you need to know.
Comment by sroussey 3 hours ago
Comment by torginus 4 hours ago
Comment by Reformedot 4 hours ago
Comment by dizhn 3 hours ago
Comment by roboben 4 hours ago
Comment by cute_boi 4 hours ago
Comment by rvz 6 minutes ago
You mean a microVM.
A docker LPE (local privilege escalation) requires a kernel exploit such as Copyfail would work under docker but not in a microVM.
Comment by wewewedxfgdf 3 hours ago
That means Chrome is slow - quite the tradeoff.
Comment by Reformedot 3 hours ago
We support GPU via software tho
Comment by rbbydotdev 4 hours ago
Comment by bfeynman 3 hours ago
Comment by _pdp_ 3 hours ago
Comment by ranger_danger 3 hours ago
They just don't have access to giant pools of residential IPs, so too many sites end up blocking all the cloud providers by IP range/ASN anyway, even if they could get through a captcha.
Comment by nickphx 1 hour ago
Comment by andrewstuart 2 hours ago
Comment by Reformedot 19 minutes ago
But yeah, in one server we can fit hundreds of browsers, or even thousands if we use bigger servers. And each one of them with dozens of tabs, no issue
Comment by latchkey 2 hours ago
Comment by Reformedot 2 hours ago
Comment by latchkey 57 minutes ago
Comment by Reformedot 22 minutes ago
So there's no benefit on reusing the VM but not the browser. VM isolation is also important, customers can leave downloads and other files that should not be accessible for freshly created browsers on that same VM.
Comment by latchkey 12 minutes ago
Comment by jauntywundrkind 3 hours ago
This could be a bit of a tricky one, but I'd expect Checkpoint Restore In Userspace eventually tackles a lot of this. An image of a running Chromium process on a tmpfs (in-memory filesystem) that can just be launched endlessly tackles the memory slowdown problem, eliminates conventional startup costs. This feels like an ideal CRIU use case.
I imagine there's a lot of things Chrome needs to run though, bits of state to save/restore.
Comment by rfoo 2 hours ago
Comment by stogot 4 hours ago
Comment by Reformedot 4 hours ago
Comment by zane_shu 59 minutes ago
Comment by huflungdung 1 hour ago
Comment by eptcyka 4 hours ago
Comment by Rasbora 2 hours ago
Comment by basilikum 8 minutes ago
You seem to be affiliated to that clearly slopped service. Your rate of comments seems to be low enough to make it plausible that you're not just shilling, but could you at least disclose your relationship to that product whenever you mention it?
Comment by Reformedot 2 hours ago
That's not true. Bots can still automate the web and there's demand for products that allow it. It's harder than years ago, but not impossible.
Defenders are always in favor, but the demand for automating the web exists, so research keeps going. There are ways to hide everything, including residential proxies.
For reference, I'm the blog author, and I have another one talking about this topic: https://browser-use.com/posts/bot-detection
Comment by iancarroll 2 hours ago
Comment by gregpr07 1 hour ago
Comment by ericpauley 2 hours ago
Comment by nisten 4 hours ago