3 ms·
I mean... this is essentially our core thesis at StdLib [1]. We took a look at "serverless compute" and asked, "what's next? Where does this model of compute ge
by keithwhor 9y ago
I mean... this is essentially our core thesis at StdLib [1]. We took a look at "serverless compute" and asked, "what's next? Where does this model of compute get us? How can this make the average developer's life easier?"
The easy answer was "serverless" represents the first step in enabling the ability to turn remote function calls into first-class citizens of your development environment. Since these "functions as a service" are auto-scaling, self-healing, and you only pay for what you use, you can treat them as disposable and regard them with the same level of utility as locally-run, JIT-compiled functions.
The issue was, and still is, how the hell do you get there? Every provider has a different implementation strategy (different runtimes, function signatures, etc.), different platform offerings, and different business incentives for pushing serverless compute. "Serverless", as it currently stands, is not synonymous with "effortless" - you must still understand nearly all of the underlying HTTP infrastructure to configure it. To the vast majority of software developers, the abstraction of "serverless" compute is just an exercise in incidental complexity to save $$ on overprovisioning.
I don't think the real story of "serverless" compute is about cost savings to avoid over- or under- provisioning. That's what I think this article gets right. The story that (hopefully) will eventually be told is one where this revolution, driven by cost-savings, was reshaped and reformed to allow developers to attain mastery over the cloud as if it were merely an extension of their local development environment. To get there we need rigidly enforced Gateway standards, better ways to build, document, deploy and integrate the functions we're building, and a hell of a lot more. We've taken the first step towards this vision of the future with FaaSlang [2], our open spec for type-safety, error-handling etc. around Functions as a Service - but there's still a lot more to do.
[1] https://stdlib.com/ https://stdlib.com/
[2] https://github.com/faaslang/faaslang/ https://github.com/faaslang/faaslang/
- gizzlon 9y ago"The issue was, and still is, how the hell do you get there? " Hm, too me personally it's: Why would I want that? My computer is fast enough to for 99.9% of the stuff I want to run.. and for the last 0.1% it's not that hard to spin up a vm. What am I missing?
- keithwhor 9y agoYou're missing that (1) this is about shipping code that other people can run, or a company can run for others and (2) that 99% of the software developers in the world just want their code to do a thing and not have to worry about anything else. It's not "that hard" to spin up a VM in the same way it wasn't that hard to visit Blockbuster video. You shouldn't have to know how to drive or know somebody who does to rent a movie. It doesn't hurt, it's a good skill to have, it's fun to get out and practice, but if you just want to watch a movie, why is it necessary? Think about building web services in this way. A majority of developers we talk to agree that web development has gotten too complex. It's too hard to solve simple problems. Problem is that it's everybody else that has made things too complex. In the same way you become noseblind to a strong perfume, developers become techdebt blind to old technologies they're the most familiar with, then complain about the smells other people layer on top and around them. The true innovations around serverless tech are coming from the ground up; at StdLib, for example, we've reimagined web services as essentially JIT-compiled, type safe, remote procedure calls. It means we're throwing out the need to even understand HTTP or REST to build a webservice, but opens up all kinds of neat opportunities and a new programming model. Anyway... I could go on, but tl;dr is try StdLib out for yourself if you get the chance. Our number one piece of customer feedback is, "I never thought it [web dev, serverless functions, APIs] could be this easy."
- gizzlon 9y agoAh, it's basically an easier way to do FaaS? I read "first-class citizens of your development environment" to mean it's purpose is run your code on another machine for your own benefit. It's interesting. (I don't like JS for backend work so I'm not your target market.)