NodeJS is great for a scalable microservices architecture
February 12, 2019

NodeJS is great for a scalable microservices architecture

Adam Stern | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Review Source

Overall Satisfaction with Node

We are using Node to implement a microservices architecture that runs every aspect of the product. From a user-facing API, to back-end processing services, to our serverless triggers.
  • Light-weight, fast implementations of tasks in a microservices framework.
  • Ample modules are available for extended functionality.
  • Open-source with large amounts of community support.
  • Very scalable for ever-increasing environments.
  • Performance bottlenecks need to be profiled and ameliorated.
  • The Asynchronous Programming Model has a learning curve which isn't always intuitive to entry-level coders.
  • Much more suited to the cloud, as opposed to bare-metal installations.
  • The ease of coding in a Node environment has made it easy to onboard new developers.
  • Adding features and functionalities is usually relatively simple. Testing frameworks help with smoke/regression testing.
  • A wealth of libraries (npms) available make third-party integrations easier.
Other alternatives would be Python or Ruby, both of which are inferior in terms of performance, usability, scalability, and error handling.
We don't use Node to generate reports. We have the raw output funneled into a log aggregation system, and have a NewRelic agent installed to give us metrics.
Node is very good at microservices. "Do one thing and do it well." It is easily Dockerized and scalable. For many products, Node can be used as a front-end API, as well as a back-end processor.
For extremely CPU-intensive tasks, like advanced machine learning, I'd recommend not to use Node.