> Furthermore, XFaaS explicitly does not handle functions and the path of a user-interaction The wording of this is a little strange, but does this really mean that XFaaS is not used to serve end-user traffic at all? The general approach here is interesting. I've always thought that there are two potential benefits for Function-based hosting ("Serverless") – low cost of components via scale-to-zero infrastructure (go…
XFaaS: Hyperscale and Low Cost Serverless Functions at Meta
51–60 of 79 posts
Re: XFaaS: Hyperscale and Low Cost Serverless Functions at Meta
#52> Furthermore, XFaaS explicitly does not handle functions and the path of a user-interaction The wording of this is a little strange, but does this really mean that XFaaS is not used to serve end-user traffic at all? The general approach here is interesting. I've always thought that there are two potential benefits for Function-based hosting ("Serverless") – low cost of components via scale-to-zero infrastructure (go…
Re: XFaaS: Hyperscale and Low Cost Serverless Functions at Meta
#53Inovation regarding FaaS comes from BigTechs. I wish we had more OpenSource FaaS solutions, albeit OpenFaas amazing achievements still lacks more robust ecosystem.
There is the fn project: https://fnproject.io/
Re: XFaaS: Hyperscale and Low Cost Serverless Functions at Meta
#54Re: XFaaS: Hyperscale and Low Cost Serverless Functions at Meta
#55Earlier quoted context omitted.
Isn't it that you don't have to set up and maintain a kubernetes cluster?
If setting up a Kubernetes cluster isn't a terrible overhead for us, switching to FaaS would mean we would have more control or less control? I am thinking mainly of migration to another provider. Maybe we would benefit more if we would have large spikes in resource usage, but we don't.
Re: XFaaS: Hyperscale and Low Cost Serverless Functions at Meta
#56Intuitively, the popularisation of FaaS feels inevitable as lower level technical challenges get solved and give way to abstractions like this. Who knows though what our stack will look like in 20 years.
Although with FaaS, I don't see anything particularly new from a development perspective. It's, well, functions. Most of the time they aren't communicating in any kind of novel way, and often they're doing the decade-old stuff of reading files and slurping databases. The abstraction being more on the operational side of things this time.
Not that I'm complaining or doing the "it's just CGI" dance. Compared to other "cloudy" tech, there's actually potential for simplifying things and not just simulated VAX computers with more effort…
Re: XFaaS: Hyperscale and Low Cost Serverless Functions at Meta
#57Earlier quoted context omitted.
Self-hosted FaaS is only worth it if you are at the same size as Meta. If smaller companies do this, it would be a big red flag for me.
It is literally "worth it" for companies much smaller than Meta due to the reduced infra management costs plus increased hardware utilization. A few hundred unique VMs is a boatload of work (even if you distribute it down to the dev teams), and most of those VMs will be sitting idle most of the time, just burning electricity to keep the RAM on.
If you have a big enough SRE team to manage your serverless stack, economy of scale means that development teams utilising these can reduce their infra management costs. It is about the ratio of engineers utilising the stack compared to those that need to maintain it.
Re: XFaaS: Hyperscale and Low Cost Serverless Functions at Meta
#58Earlier quoted context omitted.
A server idling on Function A can't be called for Function B. 144 servers idling for 10 minutes each before expiring makes up a day of compute-time for 1 server. For every 144 expected idle servers, Meta needs to purchase and maintain an additional physical machine to keep up with healthy throughput on xfaas. Every 15 minutes, the 100k server network has 1,500,000 compute-minutes available. For an extreme example, ev…
> A server idling on Function A can't be called for Function B why not?
The Function VM is hyper-optomised to that one Function's task. There's compute-time costs in changing its role from Function A to Function B. In the public cloud, the only cost you save on is starting up the OS, if both Functions happen to use the same OS. It's faster in most public FaaS infrastructure settings to just destroy a Function VM than it is to transfer a VM from Function A's configuration into Function B's configuration. Similarly, it's faster to just leave the VM running for a little while, just in case the Function is invoked again.
When the paper discusses VMs idling, that's the scenario they describe, where servers (or more accurately software VMs inside of physical servers), are locked into a specific function for some number of minutes. These minutes are dead computing time.
Meta, as a private cloud provider to themselves, can do some interesting things to reduce the cold-start of their Functions, meaning they can run more efficient clouds if they choose, by massively reducing the idle-time that's an industry standard in the public cloud.
Re: XFaaS: Hyperscale and Low Cost Serverless Functions at Meta
#59Earlier quoted context omitted.
Isn't that just functions?
Isn't FaaS just wrapping around functions and their deployment?
Re: XFaaS: Hyperscale and Low Cost Serverless Functions at Meta
#60Earlier quoted context omitted.
The pendulum has swung (is swinging?) for many companies back to on-prem for cost savings. Self-hosted FAAS allows your developers to retain the abstraction over the compute platform (a step beyond what containers provide), and grants those running the physical infra significant flexibility in managing it. It's also arguably less complex than k8s for basically everyone, if your use case supports short-lived functions…
> The pendulum has swung (is swinging?) for many companies back to on-prem for cost savings. This is only true of very large companies, so it doesn't change anything about this thread, which was saying that FaaS only makes sense if you're a public cloud or a large company with many on-prem servers.