And if we keep on using catch-all buzzwords such as "serverless", it makes words void of any real meaning.
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."
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!
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.
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.