
OpenLambda, a system for serverless computing - guifortaine
http://www.open-lambda.org/index.htm
======
niftich
Intriguing venture. I have some feedback, please forgive the terseness:

[1] Documentation: too dense, starts off with running a shell script, but it's
not immediately clear it's a quickstart, or to set up a dev environment, or
what's going on. At least have an intro, or a table of contents, or something.

[2] Speaking of documentation, I'm unclear where your product stands. Is it a
'build your own Lambda-as-a-Service provider', or some kind of meta-proxy-
orchestrator that abstracts away from the actual LaaS provider? (if it's not
the latter, why link to every commercial LaaS offering? Aren't they
competitors?)

[3] Our Team: "coming soon". I sympathize with having a lot to do on a
website, but I care about your credentials if I am to run some code. Or maybe
I don't, since lots of projects are popular on github and you don't
necessarily know all of their authors in detail. But if you don't have it yet,
don't highlight it in your menu.

[4] Your github is barebones and links back to the aforementioned docs page.
It's a bit like running in circles. Have a short readme on github, then you
can link somewhere else!

[5] On the front page, all 'learn more' buttons go to the same place. But, why
have these at all? (see, #2. maybe move these into a 'Why' page that explains
your pitch and how LaaS is big and these are the big players that are also
doing it)

[6] Edit: the slides are good and they help me understand what's going on.

~~~
lostcolony
After staring at it a long while, and clicking a bunch of things, I assume it
-must- be a build your own Lambda-as-a-Service. Otherwise, the steps to spin
up a load balancer and Docker images make no sense at all. But it certainly
isn't clear.

------
skewart
I'm always intrigued by any new development in the "serverless" space, but
this website seems pretty undercooked and at the moment it doesn't do a good
job of explaining what the heck OpenLambda actually is.

After a lot of poking around I read through the linked slides and discovered
that OpenLambda aims to let anyone run their own lambda engine - i.e. run AWS
Lambda on your local machine. The goal seems to be to let anyone research and
innovate on serverless architectures, instead of just waiting to see what
Amazon, Google, or Microsoft release. It doesn't really seem to be intended
for production use, more just R&D. It also seems to be a student/educational
project (?)

The "onboarding" meeting slides (found under the "Development" tab) give a
decent overview of what the project is all about - [http://www.open-
lambda.org/resources/slides/ol-first-meeting...](http://www.open-
lambda.org/resources/slides/ol-first-meeting.pdf)

------
Mizza
Author of Zappa[0] here - glad to see more F/OSS implementations in this space
- see also OpenWhisk and I think there was another (IronIO? MetalIO? Something
like that?) - but I think an important piece that's missing is a F/OSS
implementation of API Gateway! That's part of the reason the AWS is still the
leader of the pack IMO.

[0] [https://github.com/Miserlou/Zappa](https://github.com/Miserlou/Zappa)

~~~
davidpatrick
Something I recently stumbled upon through a coding challenge was
[https://webtask.io/](https://webtask.io/)

Having used ApiGateway + AWSLambda + AWSCloudwatch, I found Webtask to be
infinitey easier to use and deploy. The only downside of Webtask, for some
users, is that it is all Javascript, where AWSLambda allows multiple
languages.

------
blorgle
If you're going to build serverless thing to take advantage of market hype why
not at least try and build one that has data locality like ZeroVM/ZeroCloud
([http://www.zerovm.org/zerocloud.html](http://www.zerovm.org/zerocloud.html))
and Manta ([https://www.joyent.com/manta](https://www.joyent.com/manta))?

~~~
nl
Have you tried ZeroVM?

It isn't exactly a simple thing. I looked at it and got some stuff working in
it a while ago, and it certainly limits what you can do.

------
kefka
Yeah. I had a similar idea of a system of distributed serverless computing.
Much to the chagrin of certain users who badmouth, it has much more to do with
distributing computation on any machine.

My idea was to run a cluster of Erlang nodes, connect them by Tor Hidden
Services. Each machine would have 2 HSdirs, one for the unique name for that
node, and a shared HSdir that will randomly talk/load balance via a DNS-like
mechanism.

The backend storage substrate would be IPFS. A user would write their program
and add it to IPFS. My cluster would have /ipfs and /ipns mounted, and could
run erlang programs and functions directly from that.

That was my idea thus far. Obviously, choosing Erlang would be rather erudite
and exclusive to a small subset of programmers... But its tools of distributed
actors and much of the hard stuff done for you just seemed like a shoe-in.

------
tleunen
Every "Learn More" button on the homepage goes to Google Cloud :/

------
smb06
I think i heard this at DockerCon earlier this year: "There is no such thing
as 'serverless'. It's just someone else's problem"

------
crudbug
IBM is also doing opensource work [0] on this.

[0]
[https://github.com/openwhisk/openwhisk](https://github.com/openwhisk/openwhisk)

------
partycoder
I think serverless is a very misleading name, because it does still need
server infrastructure and server software.

The serverless term will confuse non-technical people to think there's
actually no server infrastructure or software needed.

~~~
inopinatus
On the contrary, neither of things are required. Most tellingly, Lambda itself
was first released as an event-driven service; there was no endpoint to invoke
in a client-server fashion.

Moreover, although function-as-a-service requires hardware to run on (duh),
the need for server-grade compute infrastructure is obviated by the short
execution times. You could run a FaaS-based offering on a massive array of
smartphones.

So sure, if you build a FaaS platform you'll need a scheduler, but you won't
need a server, not in the client-server sense and not in the hardware sense
either.

So some marketing-oriented people will think that "serverless" is just a
buzzword to mean you're not managing the OS & hardware, but there's actually a
more positive reading of this term that undermines all the negativity.

~~~
partycoder
Ok, let's step back a little bit.

Do you have a process listening on a port, that accepts connections and
handles what is sent through them? If the answer is yes, you have a SERVER.
That's the definition of a server.

If connection handler is short lived, well, so it is the case in a HTTP
server. It's just a repackaged idea.

~~~
inopinatus
I agree, and AWS Lambda doesn't work like that. Hence at least one sub-
definition justifying the "serverless" tag.

------
marknadal
Lambda is great but it is not serverless, but more a PaaS for microservices.
Which is a great direction to head, but not the correct vocabulary.

"Serverless" can more accurately be said of the P2P/decentralized movement:

\- [https://ipfs.io/](https://ipfs.io/)

\- [http://gun.js.org/](http://gun.js.org/)

\- [https://zeronet.io/](https://zeronet.io/)

\- [https://webtorrent.io/](https://webtorrent.io/)

etc.

~~~
mcdevhammer
Actually "serverless" in the sense of the current buzz word is not P2P, it is
basically Lambda:
[http://martinfowler.com/articles/serverless.html](http://martinfowler.com/articles/serverless.html)

------
jmspring
Is it me or is each link under the various providers routing to Google Cloud
Functions --
[https://cloud.google.com/functions/](https://cloud.google.com/functions/)

------
pmontra
So, after having read the PDF I eventually realized that this is not a tool to
cross develop and deploy to the three lambda clouds, but to self host your
lambdas on your servers.

It's interesting and I might use it but I suggest to make it very clear on the
home page of the project. The way it's designed now tells more about AWS, ECS
and Azure than about the project itself.

------
cagataygurturk
I already counted 5 smart people saying in "serverless" there are already
"servers". You are very intelligent and reminding me those guys who repeatedly
said "there is definitely a string over there dude" while we were watching
David Copperfield's show together.

------
DevKoala
How does it compare to Apex? Anybody with experience on both?

[https://github.com/apex/apex](https://github.com/apex/apex)

PS: Besides the fact APEX is only for AWS, however, APEX is very mature.

~~~
adjohn
Apex is a framework used to help build and deploy applications on Lambda. This
project appears to be a way to run your own Lambda service locally. There are
other projects out there like OpenWhisk[1], Iron Worker[2], Gestalt[3], and
Funktion[4].

[1] -
[https://github.com/openwhisk/openwhisk](https://github.com/openwhisk/openwhisk)

[2] -
[https://www.iron.io/platform/ironworker/](https://www.iron.io/platform/ironworker/)

[3] - [https://galacticfog.github.io/](https://galacticfog.github.io/)

[4] -
[https://github.com/fabric8io/funktion](https://github.com/fabric8io/funktion)

(Edited for Formatting)

------
sbarski
Interesting. Will keep an eye on this.

And for all those who disagree with "Serverless", come to Serverlessconf
London (london.serverlessconf.io) and we can debate it there. In fact, would
love to see everyone there!

~~~
spriggan3
> And for all those who disagree with "Serverless", come to Serverlessconf
> London (london.serverlessconf.io) and we can debate it there. In fact, would
> love to see everyone there!

Nobody disagree with anything but the marketing. "Serveless" is just an
inaccurate description of what is actually going on. There is a server
otherwise how do you communicate with the outside world? You need an API
gateway to your pubsub architecture. Thus calling it "serverless" is
misleading. Look we all know, buzzwords and marketing are here to sell, but
when marketing is misleading it actually hurts the whole profession, leading
to bad choices.

~~~
sbarski
I am sure people have said this but it's "serverless" from the perspective of
the user (who is a developer in this case). The developer doesn't have to deal
with servers/infrastructure so for them the system is serverless.

I guess it's like wireless... Something could be wireless from the perspective
of the end user but there are still wires actually there.

I honestly think that serverless is a lot less ambiguous and misleading than
something like "cloud" which is completely abstract.

~~~
spriggan3
> I guess it's like wireless... Something could be wireless from the
> perspective of the end user but there are still wires actually there.

It's a bad analogy. As a developer you are supposed to know they are wires
somewhere. That's why all this marketing is dangerous. the obfuscation which
makes everything sound like "voodoo and black magic".

> The developer doesn't have to deal with servers/infrastructure so for them
> the system is serverless.

Yes he does, he has to configure and manage the whole thing on Amazon
dashboard. Sure he doesn't have to spin upcontainers, but autoscaling doesn't
make something "serverless". And again, you need API gateway to communicate
with the outside world. So there is still a server fronting the whole thing.

~~~
sbarski
I think we might be thinking about Serverless slightly differently. To me
serverless is not just AWS Lambda. It's a broader theme that encompasses
Function-as-a-Service technologies like Lambda and Backend-as-a-Service
technologies like Firebase & Auth0.

Combining FaaS, BaaS, and using certain techniques and patterns is what makes
Serverless. As a developer I am plenty aware that there are servers - I don't
feel that there is any voodoo or black magic. However, when someone says that
they have a serverless system I immediately understand what they are trying to
say. They are saying that they don't need to manage, provision, scale, and
look after servers. Honestly, the world "serverless" is a lot less confusing
than "cloud".

I am not sure what you mean by "there is still a server fronting the whole
thing". You don't need to scale the API Gateway yourself (again it's a managed
service). Same goes for Azure functions, Google Cloud Functions and OpenWhisk
as they all have HTTP listeners built in.

I understand where your thinking is coming from. There was this article that
tried to address it: [https://serverless.zone/serverless-is-just-a-name-we-
could-h...](https://serverless.zone/serverless-is-just-a-name-we-could-have-
called-it-jeff-1958dd4c63d7)

Edit: fixed sentence structure.

~~~
spriggan3
> However, when someone says that they have a serverless system I immediately
> understand what they are trying to say.

Obviously we don't as I don't consider the expression "serverless" accurate in
describing what is really happening. Call it what it really is : pubsub,
calling it "serverless" is misleading marketing.

> You don't need to scale the API Gateway

You still need API Gateway to communicate with the outside world, here is your
server, you know exactly what I mean. What you call "serverless" didn't invent
autoscaling in PAAS.

It's interesting by the way that you keep using product names "Lambda", "API
Gateway" which aren't concepts but Amazon products. That's marketing. It's
like calling all social networks "Facebooks". "Serverless" is a marketing
device to sell Amazon services, I think people get it by now.

~~~
sbarski
> It's interesting by the way that you keep using product names "Lambda", "API
> Gateway" which aren't concepts but Amazon products. That's marketing. It's
> like calling all social networks "Facebooks". "Serverless" is a marketing
> device to sell Amazon services, I think people get it by now.

Amazon is a leader in this area right now but let's not use them. We can talk
about Microsoft, IBM, or Google. They use "serverless" to describe their
products. Google calls cloud functions a "serverless platform" and "serverless
microservices"
([https://cloud.google.com/functions/](https://cloud.google.com/functions/)).

Azure functions talk about "processing events with serverless code" and so on.
I only meant to use Amazon is an example because people are more familiar with
their products.

Serverless is just a descriptor for these kinds of technologies and patterns.

------
AJRF
For me when I click for the AWS Lambda example it takes me to Google Cloud

------
mandliya
Link to Azure function points to google cloud platform!

------
kasajian
HyperDev

------
mrmondo
So there's no servers, anywhere in this? You don't run it on a computer or
anything?

Clearly I'm being a smart ass, but pointing out that 'serverless' is an
idiotic marketing term.

~~~
dang
We've all got these peeves; the one that gets me is 'isomorphic'. But language
evolves one annoying incorrectness at a time, and it's tedious and off-topic
to vent about this every single time it comes up. (I'm not saying that to you
personally but in response to all these subthreads.)

~~~
kowdermeister
Sure, but it's fundamentally wrong. The only upside is that it's catchy.

It's tiresome to point it out from time to time but if I go to a bar and each
time I say Jeronimo and each time I get slapped and explained that they don't
like it that there, after a while I'll stop and just ask for a beer like
normal people do :)

~~~
dang
I doubt that that model applies here.

------
Sleaker
'Serverless' heh... oh man marketing is great. Just like if you have it in the
cloud it's 'hardwareless' right?

~~~
adzicg
I don't mind this name. We're OK with 'wireless' access to Internet, although
it's pretty clear that the packets will hit a wire at some point. Wireless
means I'm not pulling a cord along with my phone. 'serverless' similarly means
my code is not listening on a socket, although the request does come from some
socket, of course

~~~
niftich
Your 'wireless' analogy is the most convincing explanation I've heard for the
term yet. When I was struggling with accepting 'serverless' as a legitimate
name for Function-calls-as-a-Service, I reminded myself that there's no server
to SFTP or SSH into to muck about on its filesystem.

~~~
kowdermeister
Wireless is a wrong analogy.

Wireless refers to the lack of cables _between_ my device and the router.
"Serverless" things however are part of the same infrastructure that serve
other web services. They are sitting on servers. Computers which has a CPU to
execute the functions. We call them servers, therefore serverless is
meaningless term.

> there's no server to SFTP or SSH into

There is, but you are not allowed in.

------
thedonkeycometh
All the reference links for cloud functions go to Google. Half life 3
confirmed.

