
Browser Functions: A serverless platform using Web Browser execution engines - richardyoung00
https://dev.to/richardyoung00/browser-functions-a-new-serverless-platform-using-web-browser-execution-engines-fk5
======
ksec
Wouldn't it be very memory inefficient? A browser "tab" isn't exactly a small
amount of resource. And I remember there were quite a few problems with
headless browser not being perfect ( Although I think that was quite a while
ago so things might have improved )

However I do love the idea of Browser Function! It has been a long time since
I have been excited with any Web Development tech. So I just need some time to
sink in my excitement.

~~~
richardyoung00
Chrome seems to handle memory quite well in headless mode at any rate. The
memory footprint isn't tiny, but it seems a fair bit smaller than the
container based approaches used by other serverless systems.

~~~
throwGuardian
Isn't this still wrapped in a container. I would assume a commercial
deployment would need this isolation - after all chrome allows toggling
feature flags, which could bleed across instances if not containerized.

The big benefit to this approach is the availability of WebApis in a Faas
environment.

~~~
richardyoung00
I don't think you need the extra layer of isolation. Browser tabs are isolated
pretty well if they are running different sites. Chrome's spectre mitigations
will also help to isolate functions from one another
[https://security.googleblog.com/2018/07/mitigating-
spectre-w...](https://security.googleblog.com/2018/07/mitigating-spectre-with-
site-isolation.html)

------
Sonata
This sounds similar to how Cloudflare Workers work - using the V8 isolate
technology built for Chrome to provide secure isolation of backend processes
without the overhead of VMs or even containers.

~~~
jgrahamc
Yes. This is something like Cloudflare Workers (except we built a deep
embedding of V8 rather than relying on the browser infrastructure).

[https://workers.cloudflare.com/](https://workers.cloudflare.com/)

Plus we have a distributed KV store to go with the code execution environment.

~~~
richardyoung00
Our main reason for relying on the full browser is to not be tied to a
specific browser engine, and to be able to benefit from browser security
updates really easily, but there are obviously some challenges to this
approach.

~~~
jgrahamc
Makes sense. Certainly not dissing your approach!

------
reticulation
What a brilliant idea... almost a Why Didn't I Think of That Idea!

