, 17 tweets, 3 min read Read on Twitter
1/ I posted about this paper rise.cs.berkeley.edu/blog/a-berkele… this weekend and about how awesome it is. It's the Berkeley RISELab report on serverless computing. Wanted to elaborate the parts I found really interesting and insightful.
2/ The lede of the paper is really the final line: "Serverless computing will become the default computing paradigm of the Cloud Era, largely replacing serverful computing and thereby bringing closure to the Client-Server Era." Strong agree on that one.
3/ They also preemptively defend against the "whatever there are still servers" attack. This attack is silly. A good analogy is wireless phones: The data still goes over wires, but for everyone the interface is wireless. Serverless means the developer interface is not a server
4/ They view the cloud era as the movement of existing on-perm workloads to cloud workloads. Taking advantage fo the move from CapEx to OpEx, in finance terms. Most of the software was not fundamentally restructured.
5/ They define Serverless as Functions-as-a-Service (FaaS) + Backends-as-a-Service (Baas). Basically stateless compute + stateful, globally available, centralized services (e.g. RDS, Data Warehouses, etc).
6/ I actually strongly prefer the term "Stateless Compute" to FaaS. FaaS makes you think traditional, in-process functions, which applied to distributed system leads to hyper-fractured architecture. The networking issues noted in the paper are an outgrowth of that IMO.
7) They distill the difference between serverless and not to three things: 1) Decoupled compute + storage 2) Execution code without explicit resource management 3) Paying for resources used and note resources allocated (connected to 2)
8/ Economics fundamentally different: [Lambda] charged the customer for the time actually executed, not for the resources reserved ... This distinction ensured the cloud provider had “skin in the game” ... providing incentives to ensure efficient resource allocation.
9/ Re: Kubernetes (k8s): "Unlike serverless computing, Kubernetes is a technology that simplifies management of serverful computing. " My take is that like any of these shifts and terminologies, there is actually an underlying continuum here, and k8s straddles that.
10/ k8s is more of a platform for platforms as they say. And the infrastructure that folks end up building with k8s end up looking *a lot* like custom serverless infrastructure.
11/ Internal FB infra felt this way. Product developers never touch servers (expect their dev box, provisioned for them). In a way, per-process, shared-nothing web requests + centralized store is the original FaaS. The function simply returns HTML + JS + CSS.
12/ "Serverless also raises the cloud deployment level from x86 machine code—99% of cloud computers use the x86 instruction set—to high-level programming languages, which enables architectural innovations"
13/ Later in paper: "Alas, the x86 microprocessors
that dominate the cloud are barely improving in performance. In 2017, single program performance
improvement only 3%". Serverless enabled constrained environments, which could allow for hardware specialization
14/ They propose a few areas of R&D or challange problems. First is assistance or automation for resource provisioning. E.g. one proposal was instrumenting managed environments (e.g. JVM) of runtime loads to auto config resource allocation.
15/ Another is data dependencies. "One approach to address this challenge would be for the cloud provider to expose an API that allows an application to specify its computation graph" I'll be borrowing this language for my current project and I'll leave it at that :-)
16/ A new system somewhere between shared memory and object storage, built for the purpose of sharing state between serverless computations. Automatic garbage collection and multi-tenant guarantees challenges here. This system could improvement aggregate memory efficiency.
Great paper. Thanks to @vsreekanti @mejoeyg
and the whole team for publishing.
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Nick Schrock
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!