Some important features of Node.js that make it a good choice for software architects are listed down below:
I/O is Asynchronous and Event Driven: All APIs of Node.js libraries are asynchronous i.e. non-blocking. So a Node.js based server never waits for an API to return data. The server moves to the next API after calling it and a notification mechanism of Events of Node.js helps the server to get a response from the previous API call. It is also a reason that it is very fast.
Single Threaded but highly Scalable: Node.js uses a single threaded model with event looping. Event mechanism helps server to respond in a non-blocking ways and makes server highly scalable as opposed to traditional servers which create limited threads to handle requests. Node.js uses a single threaded program and the same program can service much larger number of requests than traditional server like Apache HTTP Server.
Highly Scalable: Node.js is highly scalable because event mechanism helps the server to respond in a non-blocking way.
No buffering: Node.js cuts down the overall processing time while uploading audio and video files. Node.js applications never buffer any data. These applications simply output the data in chunks.
Open source: Node.js has an open source community which helps to produce many excellent modules to add additional capabilities to Node.js applications.
License: Node.js is released under the MIT license.