News for hackers. Stuff that matters.
Re:Napa.js: A multi-threaded JavaScript runtime by santoriv on Wednesday October 18, 2017 @10:17AM (#15499339)
Which platform for serverless functions has 8 cores? I have a CPU intensive data deployment script (Node.js) that takes 12 hours on a single thread but can be chopped up to take advantage of more cores. Our build server on ec2 has 2 cores so it's about 6 hours. It would be great to know if we could push the job into serverless and get it done a lot faster.
Re:Napa.js: A multi-threaded JavaScript runtime by drderidder on Wednesday October 18, 2017 @10:24AM (#15499379)
Time limits on serverless functions are 9 minutes on GCE and even less on AWS, so for long-running stateful tasks they're probably not suitable, unless you can divide the work into serial as well as parallel subsets.
Re:Napa.js: A multi-threaded JavaScript runtime by santoriv on Wednesday October 18, 2017 @10:30AM (#15499431)
Thanks for the reply. The task is not stateful. It's just pulling data from a db, performing some transforms, and then pushing it into elasticsearch. I suppose that I could slice the tasks up to be arbitrarily small though having a longer window would be helpful. I guess I will take a look at GCE. Thank you!
Re:Napa.js: A multi-threaded JavaScript runtime by WaxProlix on Wednesday October 18, 2017 @08:07PM (#15504394)
FWIW I think Azure's Functions are 10 minutes and I hear they're talking about upping it again.
Re:Napa.js: A multi-threaded JavaScript runtime by minxomat on Wednesday October 18, 2017 @11:01AM (#15499667)
Not serverless, but we host our build servers on Scaleway. 8 cores and more importantly 32GB for 25$/m. Can't complain. Clean up is done by the ci agents from VSTS.

Project is a React client and express backend. It's built and tested dockerized. We use testcafe and Chrome headless, so more memory is always useful for parallel builds.

Re:Napa.js: A multi-threaded JavaScript runtime by vineet on Wednesday October 18, 2017 @11:26AM (#15499896)
Different ec2 server types have different numbers of cores. You might be able to just change the server type to get some easy performance boost.
Re:Napa.js: A multi-threaded JavaScript runtime by icahnvalyou on Wednesday October 18, 2017 @12:16PM (#15500401)
Just use EC2's r4.16xlarge instance.
Re:Napa.js: A multi-threaded JavaScript runtime by mirko22 on Wednesday October 18, 2017 @10:29AM (#15499415)
How can a "serverless function" have cores if it doesn't have servers and "it is just code" :/
Re:Napa.js: A multi-threaded JavaScript runtime by XaspR8d on Wednesday October 18, 2017 @10:43AM (#15499521)
Because "server" started taking on the meaning of "configurable box" to people who were frustrated with configuration, so "serverless" means "unprovisioned/unconfigurable" machines.

Now if we started talking about "computeless" architecture I'll be confused. (Though maybe that'll be the trendy name for serverless data sources/sinks in a few years...)

Re:Napa.js: A multi-threaded JavaScript runtime by mirko22 on Wednesday October 18, 2017 @10:47AM (#15499554)
> so "serverless" means "unprovisioned/unconfigurable" machines

I am pretty sure in English serverless means no server and "unprovisioned/unconfigurable" machines means you didn't provision them and you cannot configure them. Even in analogical sense this makes no sense. Something i could relate to is something like "Pay as you use" or "configurationless servers".

But that is just me, and if you think it is ok to randomly change the meaning of words that means me personally and randomly don't need to accept your new meaning (not giving out, just trying to explain my rationale)

Downvote all you want, but please do point out where i am wrong.

Re:Napa.js: A multi-threaded JavaScript runtime by cwyers on Wednesday October 18, 2017 @11:17AM (#15499791)
> please do point out where i am wrong

Because speech (and writing) can be figurative, not just literal. And because the term has reached wide adoption (at least, in the subset interested in discussing such things) and so not using the term makes conversation difficult and litigating the issue every time it's discussed adds no value to the discussion whatsoever.

Re:Napa.js: A multi-threaded JavaScript runtime by ralmeida on Wednesday October 18, 2017 @12:29PM (#15500513)
In a very literal sense, you're not wrong. But the concept of a serverless architecture (as of common parlance today in 2017) has a lot of nuances which are hard to convey in any single word.

So eventually people picked one. Today, the most common are "serverless architecture", "FaaS", or simply "Lambda" (borrowing from AWS).

You don't have to do anything. But it's simply a fact that many people know what you're talking about if you say the word "serverless". And that's what language is, a (kinda) agreed upon set of words which let you communicate with other people. If everyone but you understands a word, and you are crusading that they change it to something else, what is the point?

If you're interested, the concept of "prescriptivism" may be enlightening.

Re:Napa.js: A multi-threaded JavaScript runtime by mirko22 on Wednesday October 18, 2017 @01:39PM (#15501162)
My point is that i was not aware what "serverless" meant when i first came upon it and the word itself did not convey any meaning without a lot of context as it does not lend it self to analogies such as "server", "container" or even "cloud" for that matter.
Re:Napa.js: A multi-threaded JavaScript runtime by dkersten on Thursday October 19, 2017 @10:12AM (#15508024)
True. I regularly encounter words whose meanings in whatever context I don't understand. Usually, if a word sounds confusing or used in the wrong context, a quick Google search will clarify what I was missing. Sure its a bit irritating when words are recycled to have a different meaning, but its rarely an issue in practice, in my experience and opinion.
Re:Napa.js: A multi-threaded JavaScript runtime by ralmeida on Wednesday October 18, 2017 @01:54PM (#15501301)
I get you. Neither was I. But at a certain level, words are arbitrary and imperfect anyway. In your own example, "cloud" is often regarded as a bad term, because it tends to abstract away too much that it's just "somebody else's computer", as it's often defined.

Lots of discussions have been had on how many people think "the cloud" is a sorta-magical thing, which "is just there". Just more recently some interesting aspects of "using the cloud" have been more thoroughly discussed (e.g. the jurisdiction it's hosted in, data breaches, etc). If the concept was described in a less abstract way, would these discussions have happened sooner? Later? Would it have become less of a "buzzword" amongst executives?

So, is "cloud" really a better term than "serverless"?

Re:Napa.js: A multi-threaded JavaScript runtime by debaserab2 on Wednesday October 18, 2017 @11:20AM (#15499813)
The ship sailed a while ago for common nomenclature for “function in the cloud” services. You can’t really fault someone for using the term the way the entire industry uses it.

For what it’s worth, I don’t think calling them “configuration-less” or “pay as you go” servers is any more accurate. You’re really just buying processing time.

Re:Napa.js: A multi-threaded JavaScript runtime by jo909 on Wednesday October 18, 2017 @12:53PM (#15500725)
I'm also pretty sure most cloud systems contain very few condensed water droplets. The containers I work with are not 20 or 40 foot long, and while I ship stuff with their help, no actual ships are involved.

Could there have been a better word than serverless? Probably, but that is the one that is currently used for that general kind of architecture. I would have called that PaaS before, and sometimes still do.

Re:Napa.js: A multi-threaded JavaScript runtime by mirko22 on Wednesday October 18, 2017 @01:37PM (#15501142)
I explicitly stated that by analogy it does not make sense, while containers contain something and works as analogy. But you chose to disregard that part of the answer.
Re:Napa.js: A multi-threaded JavaScript runtime by nathankunicki on Wednesday October 18, 2017 @11:10AM (#15499742)
The "serverless" in this context means that they may as well be invisible to you, since you don't need to care about them. In the case of Lambda, you upload your code somehow Amazon runs it on a spare server somewhere.

Language is all about context. The meaning of words changes depending on it, even in plain English settings.

Re:Napa.js: A multi-threaded JavaScript runtime by swsieber on Wednesday October 18, 2017 @11:14AM (#15499769)
You're not wrong. "Pay as you use" doesn't quite capture it, and "configurationless servers" isn't quite buzz-wordy (eg. short and memorable) to make marketable.

Wide spread terminology suffers from the evolutionary pressures of marketing. Only the catchiest, most marketable terms propagate.

Re:Napa.js: A multi-threaded JavaScript runtime by dkersten on Thursday October 19, 2017 @10:10AM (#15507993)
> please do point out where i am wrong.

In reality, words are often used in ways that don't necessarily meet the dictionary definition in the strictest sense.

For example, I complained to my local advertising authority that mobile providers are using the word "unlimited" to mean "limited by our fair usage policy" and I was told that this is fine as long as 95% (I don't remember the exact percentage, maybe it was 99) of customers will never reach the limit so its effectively unlimited. That's not really what the english language word means, but hey... that's life. Same thing applies here: words are recycled to have different meanings.

Re:Napa.js: A multi-threaded JavaScript runtime by maxscam on Sunday October 22, 2017 @12:56AM (#15525219)
Its a bad example because saying something is unlimited when its not is kind of bullshit not just semantics.

There are situations when I think its best to just go with the flow of how people are commonly using words but simply accepting what others say in a blanket sense is not right either. In the case of "serverless" it doesnt really matter much to me, but if you think of the word "gyp" for example thats something many people have had to make a conceited effort to stop using. So in some cases, with effort we can improve the language we use and not always be swimming against the tide.

Re:Napa.js: A multi-threaded JavaScript runtime by kelnos on Wednesday October 18, 2017 @06:18PM (#15503742)
"Serverless" means "I can run code without having to maintain my own server or execution environment". Using the term "serverless" for that might be confusing and non-literal, but that's how we use it, and the term has stuck. Arguing about that several years ago may have made sense, but that ship sailed long ago.
Re:Napa.js: A multi-threaded JavaScript runtime by dclowd9901 on Wednesday October 18, 2017 @11:21AM (#15499821)
You're not wrong. I usually call them "application-less" architectures. That's really what's going on here.
Re:Napa.js: A multi-threaded JavaScript runtime by abritinthebay on Wednesday October 18, 2017 @11:04AM (#15499692)
I get it, I do. But that ship sailed loooong ago
Re:Napa.js: A multi-threaded JavaScript runtime by DonHopkins on Wednesday October 18, 2017 @09:41PM (#15504811)
While you're at it, Don Quixote, please convince X-Windows to stop abusing the words client and server, too.
Re:Napa.js: A multi-threaded JavaScript runtime by drderidder on Wednesday October 18, 2017 @11:04AM (#15499688)
Though the functions are serverless in the sense that you needn't allocate virtual infrastructure, the platform obviously utilizes CPU resources to execute your function. That platform underlying the serverless function is, as it happens, multi-core in GCE.
Re:Napa.js: A multi-threaded JavaScript runtime by mirko22 on Wednesday October 18, 2017 @11:07AM (#15499722)
> Though the functions are serverless in the sense that you needn't allocate virtual infrastructure, the platform obviously utilizes CPU resources to execute your function.

So it does allocate virtual infrastructure?

Re:Napa.js: A multi-threaded JavaScript runtime by ralmeida on Wednesday October 18, 2017 @12:35PM (#15500567)
Someone does, but not you. Obviously, there's a server somewhere which runs your code. But since you don't deal with it directly, it's mostly as if there was no server - since it was abstracted away form you so you could focus on what you really want to do.

If you were to go down deeper, a server is just an electrical machine which shuffles eletrons around. So, you could say "there's no point in talking about 'servers', if we're just using transistors when you really think about it".

But it would convey no useful information if someone asked you "what are you using to run your service?" and you replied "well, I just move electrons around", would it?

Re:Napa.js: A multi-threaded JavaScript runtime by mirko22 on Wednesday October 18, 2017 @01:42PM (#15501192)
No, i am not advocating reductionism, server has a analogical meaning as it serves something. Processing has analogical meaning as we do processes something, serverless implies there are no servers involved.

As far as managing goes, most of the server are not managed by you anyway. But yeah i get it, everyone likes it so...

Re:Napa.js: A multi-threaded JavaScript runtime by ralmeida on Wednesday October 18, 2017 @02:46PM (#15501799)
On the management side, I'm curious what you mean by "most of the server are not managed by you anyway". In my experience, unless you're in a very big company, you are either managing or at least minding the server, or someone within earshot range is.

In that scenario, not having to even consider if the error you're getting is because your server is restarting/out-of-memory/needing-update/broken-by-a-coworker like 99% of the time is as close to "serverless" as it gets, in terms of day-to-day work activities and worries.