Hey, if you don't like Node, don't use it. :)
BTW - Walmart released some of the architecture they developed for free as open source.
*
https://hapijs.com/ and
https://www.npmjs.com/package/hapi
*
https://github.com/electrode-io
*
https://github.com/walmartlabs
Thanks,
Kelly Cookson
IT Project Leader
Dot Foods, Inc.
217-773-4486 ext. 12676
www.dotfoods.com<
http://www.dotfoods.com>
From: WEB400 [mailto:web400-bounces@xxxxxxxxxxxx] On Behalf Of Nathan Andelin
Sent: Monday, March 19, 2018 10:07 AM
To: Web Enabling the IBM i (AS/400 and iSeries) <web400@xxxxxxxxxxxx>
Subject: Re: [WEB400] [EXTERNAL] Re: Rise of Node
Kelly, please see my inline response.
On Mon, Mar 19, 2018 at 7:36 AM, Kelly Cookson <KCookson@xxxxxxxxxxxx<mailto:KCookson@xxxxxxxxxxxx>>
wrote:
Walmart went live with Node on Black Friday specifically to handle the
higher-than-average volume of business. Things went well. I'm just not
buying the idea that Node doesn't "really" scale well in light of
real-world examples by well-known businesses that have very high volumes of
activity. If they made it work, so can others.
If your main point is that Node isn't the only technology that can scale,
then yes. Other technologies can scale. Node is not magical or unique in
this regard. I hope no one got the idea that I was ever saying otherwise.
No, my main point is simple and strait-forward. Node.js doesn't scale well
in the traditional sense. Let's begin with a definition of scalability.
Here's one:
"Scalability is a characteristic of a system, model or function that
describes its capability to cope and perform under an increased or
expanding workload. A system that scales well will be able to maintain or
even increase its level of performance or efficiency when tested by larger
operational demands."
My point is that Node.js doesn't meet that definition of scalability.
Adding applications and users to a Node instance will cause Node to
destabilize and ultimately fail.
In regard to your point about Walmart using Node in their high-volume web
site, what you will find is that Walmart spent millions of dollars adding
architecture and infrastructure that is external to Node.js in order to
meet their stability and high-volume requirements. Don't give credit to
Node's scalability. Give credit to the infrastructure and architecture
provided by Walmart that provided the scalability.
If your main point is that scalability should not be the only reason why a
shop chooses Node, then again yes. Node-like any other technology-should be
evaluated in terms of an entire context: What are the problems you need to
solve? What are the skills you have? What is the budget you're being given?
Where do you want to be in 5 years? 10 years?
Walmart also spent millions adding infrastructure on top of Node.js in
order to meet their functional requirements.
Node uses a reactor pattern (event loop) architecture, which makes Node
opinionated about how things get done. If someone doesn't like that
opinion, then Node will always be low on that person's list of preferences.
I personally find the idea of asynchronous programming with an event loop
both challenging and interesting. I might even call it stimulating. :)
The event loop with asynchronous callbacks is poorly suited for things like
managing individual user state, database I/O, data validation, business
rules, CPU intensive processing, and other requirements of business
applications.
Given deep enough pockets, and given strong evangelists, organizations can
make anything work.
--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing list
To post a message email: WEB400@xxxxxxxxxxxx<mailto:WEB400@xxxxxxxxxxxx>
To subscribe, unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/web400<
https://lists.midrange.com/mailman/listinfo/web400>
or email: WEB400-request@xxxxxxxxxxxx<mailto:WEB400-request@xxxxxxxxxxxx>
Before posting, please take a moment to review the archives
at
https://archive.midrange.com/web400<
https://archive.midrange.com/web400>.
As an Amazon Associate we earn from qualifying purchases.