Is Node.js production grade?
Over the last year and a half or so when we started our journey into the world of microservices based, cloud native architecture design and developments I had been asked multiple times if Node.js was production grade, can it scale to production workloads in terms of being robust and reliable? So much so that at times I was looking back and asking the same thing to myself. Though I still have no prescriptive answer yet, I would like to pen down some thoughts over the same.
Honestly, for me being into web development technologies for over a decade, the choice looked biased to being able to run #JavaScript on server side. The choice came naturally as I had been working on SAP® Fiori for 4 years or so and prior to that on SAP NetWeaver™ Portals and WebDynpro before that. The sheer thought of being able to run server programs with JavaScript was delightful.
After spending a lot of time learning and evaluating frameworks around Node.js it appeared promising and thus began the journey of developments on Node.js. I chose expressjs as the framework to help with routing and middleware functions. With the #MEAN stack gaining popularity MongoDB was definitely a choice of database for consideration. However, having no schematic definition of an object was a concern for many in my hood so I decided to use mongoose as the ODM library for managing schema definitions.
So with #nodejs, #expressjs and #mongoose and a methodological approach to project structure and coding practices keeping the 12-factor-app principles in mind I was able to setup a bootstrap project which since then been used in multiple projects internally and refined over time[also running in production :)].
Still, today when someone asks me is Node.js production grade I say that it depends on the use case and requirement really and not just the language as such.
P.S. Not to sound too biased, we are also using a lot of #python and foraying into #GO.
Disclaimer: the views and opinions expressed above are solely derived from my personal experiences and does not represent my employers or anyone else’s.
Node.js is a trademark of Joyent, Inc. and is used with its permission. Please review the Trademark Guidelines of the Node.js Foundation.
"SAP® Fiori & SAP NetWeaver™ is/are the trademark(s) or registered trademark(s) of SAP SE in Germany and in several other countries."
Nice article. Please can you elucidate, in which usecases, nodejs is prod ready and in which it is not and if any complementary frameworks are required like for HA, scalability, security, dynamic scale out, monitoring etc