Live data from Hacker News

Cloud Programming Simplified: A Berkeley View on Serverless Computing

rise.cs.berkeley.edu

1–10 of 43 posts

Re: Cloud Programming Simplified: A Berkeley View on Serverless Computing

#3
For the paper being introduced, the direct link is: https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-...

I agree with a lot though I think they overegg the possibilities for data performance at the as-a-Function level.

Some more specific reactions:

> Put precisely, there are three critical distinctions between serverless and serverful computing ... 3. Paying in proportion to resources used instead of for resources allocated.

I've taken to calling this "buying capacity vs buying consumption". You need to think about which you need (they touch on this in the fallacies section).

An ambulance is idle almost constantly. When I was a kid they were built on F150s and vapourised ten litres every time you glanced at them. But when I need one I don't care about the idleness and resource costs, I want to come to my aid ASAP. What I don't want is the paramedics converging from random locations on electric scooters rented on-the-fly.

> In acritical departure, [AWS Lambda] charged the customer for the time their code was actually executing, not for the resources reserved to execute their program. This distinction ensured the cloud provider had “skin in the game” on autoscaling, and consequently provided incentives to ensure efficient resource allocation.

I'd say yes and no. Yes, it provides an incentive to the platform provider. But there is a much, much bigger incentive to achieve platform lockin through data services. Keeping the function alive after the first invocation is a subsidy. I would bet folding money that Amazon are tracking this cost and weighing it against their market strategy.

> By allowing users to bring their own libraries, serverless computing can support a much broader range of applications thanPaaS services which are tied closely to particular use cases.

I'm not sure if the authors are familiar with buildpacks, despite citing Heroku. They don't mention buildpacks anywhere.

Disclosure: I work for Pivotal, we do a bunch of stuff in this area, including Buildpacks and Knative. But nothing is forward looking, personal opinion, consult your dr etc etc

Re: Cloud Programming Simplified: A Berkeley View on Serverless Computing

#4
>We expect serverless computing to become simpler to program securely than serverful computing, benefiting from the high level of programming abstraction and the fine-grained isolation of cloud functions

In my view, that's the really key bit. Securing systems is an endless task, even (or especially) if they are cloud hosted.

Re: Cloud Programming Simplified: A Berkeley View on Serverless Computing

#5
It’s also great for vendor lock in and rent extraction. At least in its current iterations. I’m fairly certain Amazon isn’t going to make it easy to run your “serverless” applications on anything but their infrastructure.

What would be more interesting would be languages and runtimes that run on the next network that is distributed, peer-to-peer, and able to be trusted. And easier to program for than they are today in their current iteration.

Edit: which is where I thought the BOOM group was going back in 2012 or so.

Re: Cloud Programming Simplified: A Berkeley View on Serverless Computing

#6

Does anyone else not feel so good about a future of computing where everything but the application layer is rented from Jeff Bezos?

I agree with you on this, it is a moral dilemna I think about every day. Programming was one of the few professions where the practitioner owned/had access to their tools in their own spare time. Across history and professions this is a rare property, and I fear that we might lose this in the next 10-20 years.

Disclaimer: Views expressed are my own and do not reflect any positions held by my employer.

Re: Cloud Programming Simplified: A Berkeley View on Serverless Computing

#7

It’s also great for vendor lock in and rent extraction. At least in its current iterations. I’m fairly certain Amazon isn’t going to make it easy to run your “serverless” applications on anything but their infrastructure. What would be more interesting would be languages and runtimes that run on the next network that is distributed, peer-to-peer, and able to be trusted. And easier to program for than they are today i…

But, the thing is so much code is removed in serverless. I'm not saying cloud providers aren't fighting to lock you in. It is just so much easier to switch if you have 1% of the code you used to.

Re: Cloud Programming Simplified: A Berkeley View on Serverless Computing

#8

>We expect serverless computing to become simpler to program securely than serverful computing, benefiting from the high level of programming abstraction and the fine-grained isolation of cloud functions In my view, that's the really key bit. Securing systems is an endless task, even (or especially) if they are cloud hosted.

Right now serverless is definitely not simpler than a monolith. It's "simple" if you squint but any real workloads have you dealing with high concurrency for almost all tasks that a single monolith could handle with a single instance.

Re: Cloud Programming Simplified: A Berkeley View on Serverless Computing

#9
>[serverless computing] closely parallels past advances in programmer productivity, such as the transition from assembly language to high-level programming languages

Is this serious? The author seems to imply that we can just abstract away the entire internet in the same way we abstracted away copper wires.

Re: Cloud Programming Simplified: A Berkeley View on Serverless Computing

#10
I'm surprised a Berkeley survey would neglect to mention PiCloud, which may be defunct but cloudpickle is still used heavily today (e.g. in Spark). The paper also appears to neglect the issue of code deployment, which can be a major undertaking and hidden cost of any web-based application, especially if the app has particular system dependencies.

There are (private) solutions out there for moving parts of running JVM programs across machines. Wouldn't one expect a forward-looking view of Serverless to encompass serialization and transport of the compute environment?

Post reply on HN