Live data from Hacker News

Docker isn't serverless

serverlesscode.com

11–20 of 67 posts

Re: Docker isn't serverless

#11
post #5

Kudos to the author for writing this. Serverless is a thing, but Docker definitely isn't it. Nor is AWS lambda. Serverless is client-only code, or even Peer-to-Peer between self-coordinating clients. There's a lot of stuff that overlaps in this domain, including microservices, containers, serverless, and if we want to talk about them we should use the right terminology.

>Serverless is client-only code, or even Peer-to-Peer between self-coordinating clients. That's a valid definition but it's just one of many. The Function-as-a-Service has also been called "serverless" . Your definition of "serverless" demarcates on where the code runs. The FaaS "serverless"[1] differentiates on what part of the stack you don't have to manage the housekeeping for. With FaaS-serverless, you don't worr…

I think the deeper we go into this discussion the more philosophically ambiguous it gets.

If I think of the most basic, abstract definition of a server I can, I'd say it's a piece of software at a known location outside of the client process, to which a client goes to transmit a message (and optionally have future messages back and forth in the same "session").

I would say Lambda is not serverless because it depends on software outside of the client process, and I know where it is.

X is not serverless because the client process is separate from the server.

SQLite is serverless because my process is calling the sqlite library.

Torrenting initially has a server (clients need a way to find peers) but very quickly becomes serverless.

So I'd say my definition isn't about where it runs, but who is running it and in what context.

That's my thoughts on it anyway.

Re: Docker isn't serverless

#13
post #5

Earlier quoted context omitted.

>Serverless is client-only code, or even Peer-to-Peer between self-coordinating clients. That's a valid definition but it's just one of many. The Function-as-a-Service has also been called "serverless" . Your definition of "serverless" demarcates on where the code runs. The FaaS "serverless"[1] differentiates on what part of the stack you don't have to manage the housekeeping for. With FaaS-serverless, you don't worr…

I think the deeper we go into this discussion the more philosophically ambiguous it gets. If I think of the most basic, abstract definition of a server I can, I'd say it's a piece of software at a known location outside of the client process, to which a client goes to transmit a message (and optionally have future messages back and forth in the same "session"). I would say Lambda is not serverless because it depends…

>If I think of the most basic, abstract definition of a server I can, I'd say it's a piece of software at a known location outside of the client process,

But you're trying to reduce it down to a perfect singular definition. English doesn't work like that and we'll just end up in contradictions as I will demonstrate further down in my comment.

>I would say Lambda is not serverless because it depends on software outside of the client process, and I know where it is.

Right... and I acknowledged and agreed that your particular definition of serverless doesn't include Lambda. However, I can also explain why others call deployment without-the-Linux-kernel as "serverless". I guess a different chain of memes might have resulted in alternative terminology such as "Linuxless" computations or "os-free" functions but somehow the word "serverless" gained currency.

>SQLite is serverless because my process is calling the sqlite library.

So what if my web browser submits a REST API call to a web server that uses SQLite as it's backend? Is SQLite the "db server"? Yes and no. It depends on which definition of "server/serverless". (Machine location vs os in-process/out-of-process)

If we insist on 1 definition, we will have contradictions.

Re: Docker isn't serverless

#14
post #13

Earlier quoted context omitted.

I think the deeper we go into this discussion the more philosophically ambiguous it gets. If I think of the most basic, abstract definition of a server I can, I'd say it's a piece of software at a known location outside of the client process, to which a client goes to transmit a message (and optionally have future messages back and forth in the same "session"). I would say Lambda is not serverless because it depends…

>If I think of the most basic, abstract definition of a server I can, I'd say it's a piece of software at a known location outside of the client process, But you're trying to reduce it down to a perfect singular definition. English doesn't work like that and we'll just end up in contradictions as I will demonstrate further down in my comment. >I would say Lambda is not serverless because it depends on software outsid…

> If we insist on 1 definition, we will have contradictions.

And if we keep on using catch-all buzzwords such as "serverless", it makes words void of any real meaning.

Re: Docker isn't serverless

#15
post #12

Ugh, of all the jargon the dev world has come up with serverless is the worst - if it runs on another computer it is not server less.

I think it's an inside joke:

2 people bet each other a dollar they could take a fundamentally simple concept and wax poetic insanity around it until the text was so insane no one could actually read through it - so people just shrug, wash the virtual slime off and move on. Their will power so drained by reading the BS they can't even be bothered to complain.

Then comes the fake accounts to gush how 'serverless' and 'function-as-a-service' are completely new and different and awesomer bra.

The next bet will probably be "mathematicsless": how we solve collision detection without math - and you should too!

Re: Docker isn't serverless

#16
As an avid Docker user and also a user of AWS Lambda my only reactive when seeing this article is... "This wasn't obvious already?"

Reading the article I can see how it can be construed to be serverless but it is a real stretch.

I don't agree with other posters that the only true serverless is client-only technology. P2P has its place and is generally awesome but I feel that distributing your app as small functions that can run on distributed systems where you don't know or care what hardware or OS is underneath is a compelling definition in lack of a better word.

Re: Docker isn't serverless

#17
"serverless" is a new term that people have been using in tons of different ways. To the author, frankly I don't think you get to say what's serverless and what isn't. I think only point 1 is agreed upon - the rest is up in the air. Point 3: that it must be function-as-a-service: I dont agree there. Counter-point: if your backend is google sheets, or plain S3, it's certainly serverless.

Docker? Maybe. Depends how it's architected. I get that they're trying to latch onto the up-and-coming big movement, but since that big term has no definition, they have as much right as the author to claim to belong to it.

Re: Docker isn't serverless

#18
post #12

Ugh, of all the jargon the dev world has come up with serverless is the worst - if it runs on another computer it is not server less.

It's not quite as bad as Salesforce's "No Software" campaign.

I wonder when Salesforce is going to go serverless so we can run no-software on our not-servers.

Re: Docker isn't serverless

#19
post #17

"serverless" is a new term that people have been using in tons of different ways. To the author, frankly I don't think you get to say what's serverless and what isn't. I think only point 1 is agreed upon - the rest is up in the air. Point 3: that it must be function-as-a-service: I dont agree there. Counter-point: if your backend is google sheets, or plain S3, it's certainly serverless. Docker? Maybe. Depends how it'…

Strongly agree "serverless" is not well defined in general.

> Reducing maintenance by not running your own platform

This is my favorite technique too but it's nothing new.

Heroku, App Engine and Lambda satisfy this for custom code.

But I do agree with the author.

Docker is not a service or serverless.

Swarm, Kubernetes, Mesos are all software in every sense.

You install them on servers and you perform complex operations to keep them running well.

Doing this unlocks all sorts of new utility, but it's the opposite of "use cloud services" in almost every way.

Re: Docker isn't serverless

#20
I think serverless has bad semantics for it's new connotation (which doesn't even seem to be universally agreed upon). Maybe we should just focus on value, not paying for more infrastructure than you need, and building useful things. Maybe we could just call it practical?
Post reply on HN