4 ms·
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,
by jackweirdy 10y ago
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.
- jasode 10y ago>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.
- spriggan3 10y ago> 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.
- neolefty 10y agoServerless has a very definite meaning to me if I'm tired of administering Linux servers.
- marcosdumay 10y ago> If we insist on 1 definition, we will have contradictions. Yeah, the thing with using a clear language is that what you say may be wrong. If we grow out of our clarity prison we'll be able to babble any combination of words, and still not be wrong!
- eigenframe 10y agoIt seems like in any case, use of "server" is generalizable or stable over situations where we have "an entity communicating requests to another entity which is responsible for servicing those requests." The problem here is that the word is invoked so as to distinguish entities at different layers of abstraction (a physical machine, a "platform", a set of supporting libraries and runtimes, a process, a function).
- shakna 10y agoYet, if we do not have clearly defined definitions, then we may as well not be speaking at all. A clear description of Docker encapsulates it as a container. A clear description of Lambda explains its relationships with functions and statelessness. Using a term abstractly, in such a way that it can collide with a word that for all intents and purposes appears to be its opposite [0], shouts to a degradation of language use. Metalanguage is in use within various fields, to make it easier to communicate concepts. Here, using a nonstandard word without clear meaning is pointless. That this is being discussed is proof enough for me that the word is ill-suited to its task. [0] "I deployed a serverless stack that serves up information from our database."
- joesb 10y ago> If we insist on 1 definition, we will have contradictions. No, we will have things that doesn't fit the definition, and we will also have people who use the defintion wrongly. But that's okay. That's the whole point of definition, to be able to say whether things fit the definition. If we insisted the "red" only has one definition, then we can tell that white is not red. And that's okay. In your SQLite example, no, SQLite does not becomes db server because a server application wrap over it. File does not becomes file server just because it's shared over network.
- cortesoft 10y agoI always understood a 'server' to be the process (or machine) that accepts the connection; the client is the process (or machine) that initiates the connection. Sometimes the same machine can be both the client and server. In your BitTorrent example, users are both clients and servers.
- bitwize 10y agoIf you try to nail it down to a specific definition, you'll wind up in contradictions. English doesn't work like that; when I use a word, it means just what I choose it to mean, no more and no less.
- arpa 10y agoDoubleplusgood, fine sir. Doubleminusgood on the language opressors!
- icebraining 10y agoSince the reader has no way of telling what definition you happen to choose for each of those words - as any explanation is itself made using other undecipherable words - communication is impossible. I have therefore decided to assume you are declaring war on Austria.
- jackweirdy 10y agoAnd thus, the first world war.
- jsymolon 10y ago> means just what I choose it to mean No. Not if both parties don't agree on a common definition, one party can "move the goalposts". It could mean A one day and then B another. Look at all the trouble with TLAs.
- joesb 10y agoThen you should just be talking to only yourself.