These are chat archives for jdubray/sam

20th
Oct 2017
Paolo Furini
@pfurini
Oct 20 2017 13:29
other node based frameworks?.. yes please, I really feel the need, they're never enough! 8-/
sorry to for my sarcasm, but already shot in the back with such "frameworks", and by node in general, and never going to look back ;)
Fred Daoud
@foxdonut
Oct 20 2017 13:56
@pfurini what happened? I'm interested in hearing about your experience.
Paolo Furini
@pfurini
Oct 20 2017 14:35
@foxdonut a lot of big and little things.. but at the end the feeling is an ecosystem that feels glued together with rubber bands (speaking of node in general)
the main problem is that I come from a corporate world, where only .net and java were considered and adopted
now on the backend I use JVM based frameworks, that gives me clustering, reliable messaging, vertical and horizontal scalability, all OOB without trying to assemble hundreds of unrelated packages
Paolo Furini
@pfurini
Oct 20 2017 14:41
and here I'm speaking of JVM, not necessarily java.. kotlin is my preferred language, and soon it will support writing native code too (but that's another story)
Fred Daoud
@foxdonut
Oct 20 2017 15:05
@pfurini interesting
Jean-Jacques Dubray
@jdubray
Oct 20 2017 16:14
Coming from Java, I started to use node in 2014 and never looked back. I'd reckon that I need about 30% of the code when compared to Java, deployment and operation is pure pleasure.
Paolo Furini
@pfurini
Oct 20 2017 16:50
@jdubray yes that's java, but that's not kotlin
what I dislike of node is... well, node!
the entire ecosystem is a mess, deploying is a pleasure until everything breaks horribly for a dependency, typescript is ok when doing client side work, with all its quirks on missing typings, but it's something I cannot accept on my business code
I want control over my entire pipeline, and node is the emblem of lack of control..
Jean-Jacques Dubray
@jdubray
Oct 20 2017 16:56
I never experience this kind of symptoms. Maybe I only worl on simple projects, I don't know, but I have been through 3 LTS (4,6,8). That being said, I am exploring "nodeless" architectures with offline first databases (and SAM of course!)
Paolo Furini
@pfurini
Oct 20 2017 16:57
The point is, I really can't take all the fuss of node being able to run an API with just a "few lines of code".. that leads to tons of developers thinking that they can REALLY write a production ready API just like that
but then when I ask them: what about error resilience, how do you implement failover, multiple distributed nodes, work coordination...? how many node devs do you think are able to cope with this? ;)
Paolo Furini
@pfurini
Oct 20 2017 17:04
Currently my choices are Spring (boot), or for future work vert.x (http://vertx.io/ and a good intro http://escoffier.me/vertx-hol/ )
Even golang (with all its quirks), is a better node alternative to me.. but vert.x on the JVM is more solid and mature, and resolves from the start real problems like workload distribution and coordination, failover, reliable messaging and so on. Not that you CANNOT do that with node, but it gives the impression you need to arrange too many packages, with a lot of quirks, to do the same things (and do it well and reliably, of course)
Jean-Jacques Dubray
@jdubray
Oct 20 2017 17:17
@pfurini Again, I never experienced any problem, I may be lucky or naive or both, but I recently built a dual architecture (Lambda and EC2+ALB) for a complex API (not app), qualified for 1000TPS with extensive testing/qualification. I built another API to support personalization on a large scale Web app, using Lambda + dynamoDB.
On the other hand I supported a "large" SpringBoot project ( a new Mobile Banking app) and I could have built it by myself in half the time. The number of "state" related bugs was staggering (account credited multiple times,...).
Paolo Furini
@pfurini
Oct 20 2017 17:21
You're not naive or lucky, you're experienced.. ;) my point is not a smart guy like you cannot build amazing things with whatever, but that node in the hands of less experienced devs makes more harm than good
Jean-Jacques Dubray
@jdubray
Oct 20 2017 17:23
It's possible, I mentored a few developers to use node, but never worked in large(r) teams. So I am not sure what about that.
Paolo Furini
@pfurini
Oct 20 2017 17:25
it also depends which kind of devs you're able to work with.. my experience has not been one of the best, so I'm a bit biased, I fear :)
(btw, lambda is a great tech, but that's goes beyond the narrower node scope)
Jean-Jacques Dubray
@jdubray
Oct 20 2017 17:28
I come from an ESB background (WebSphere, WSO2...), so that's pretty much my design pattern. I created a little "bootstrap" ESB functionality that is my starting point. Perhaps it's harder without that background.
I have mixed feelings about Lambda, I was execited at first until you need to scale, cost becomes quickly horrendous compared to EC2 + ALB. IMHO it's good for non continuous workloads, if you have something at 1000 TPS sustained, it will melt your wallet.
Paolo Furini
@pfurini
Oct 20 2017 17:31

I come from an ESB background (WebSphere, WSO2...), so that's pretty much my design pattern. I created a little "bootstrap" ESB functionality that is my starting point. Perhaps it's harder without that background.

that's precisely my point.. you're able to achieve certain goals thanks to your extensive experience, but here node is incidental

I have mixed feelings about Lambda, I was execited at first until you need to scale, cost becomes quickly horrendous compared to EC2 + ALB. IMHO it's good for non continuous workloads, if you have something at 1000 TPS sustained, it will melt your wallet.

I agree, the costs associated to this kind of technologies is most of the time unsustainable, both for small startups, and large workloads... seems only medium targets can benefit from them

Jean-Jacques Dubray
@jdubray
Oct 20 2017 17:33
:+1: