Code Self Study Forum

Host Your Own "Serverless" Functions

I experienced a bad downtime/support incident with Firebase (Google Cloud) recently and realized that when things go wrong on a proprietary backend, it’s possible to get into serious trouble. I like the idea of cloud functions, but don’t want to be locked into a one platform, so the idea of hosting my own “serverless” backend is interesting.

I found this list online:

  • Apache OpenWhisk is a serverless, open source cloud platform that allows you to execute code in response to events at any scale. It’s written in the Scala language. The framework processes the inputs from triggers like HTTP requests and later fires a snippet of code on either JavaScript or Swift.

(I saw a demo of OpenWhisk at a meetup a couple of weeks ago, and it looked interesting.)

  • Fission is a serverless computing framework that enables developers to build functions using Kubernetes. It allows coders to write short-lived functions in any programming language and map them with any event triggers, such as HTTP requests.
  • IronFunctions is a serverless computing framework that offers a cohesive microservices platform by integrating its existing services and embracing Docker. Developers write the functions in Go language.
  • Fn Project is an open source container-native serverless platform that you can run anywhere—on any cloud or on-premise. It’s easy to use, supports every programming language, and is extensible and performant.
  • OpenLambda is an Apache-licensed serverless computing project, written in Go and based on Linux containers. The primary goal of OpenLambda is to enable exploration of new approaches to serverless computing.
  • Kubeless is a Kubernetes-native serverless framework that lets you deploy small bits of code without having to worry about the underlying infrastructure. It leverages Kubernetes resources to provide autoscaling, API routing, monitoring, troubleshooting, and more.
  • OpenFaas is a framework for building serverless functions with Docker and Kubernetes that offers first-class support for metrics. Any process can be packaged as a function, enabling you to consume a range of web events without repetitive boilerplate coding.

Has anyone used any of those? What did you think?

None of those, no. But I have used “hook . io” and met the guy who started that up.

Of that list you provided, I’d probably be most interested in OpenLambda which in theory could be used to replace Amazon’s offering of the similar name.

1 Like

Self-hosting functions would probably avoid this pricing problem: Serverless: 15% slower and 8x more expensive (HN comments).