Nodal: Build micro Web servers on Node.js
Currently in beta, Nodal is a Web server and framework built on a microservices architecture and intended for deployment of modular, distinct Web servers. It can be used for purposes ranging from a simple HTTP service providing server-generated HTML to an API server to a scaffold for single-page applications.
Projects can be deployed to the Heroku cloud out of the box. "Nodal servers are not meant to be monoliths," the project's GitHub pages states.
Keith Horwood, the developer of Nodal, stressed the technology's simplicity and its use of Node.js, the popular server-side JavaScript platform. "Developers should get excited about Nodal if they're interested in fairly simple server deployment, rigid design patterns, and idioms that hasten the conceptualization-shipment process. [Also, Nodal offers] the ability [to] bring new team members up to speed quickly and [leverages] the size and scope of the Node.js ecosystem," said Horwood, an engineer at biotech engineering company Synthego. "Nodal uses modern ES6 syntax and will quickly familiarize any developer with changing JavaScript practices."
But don't look for Nodal to compete with popular Web servers from Nginx or Apache just yet. "Apache and Nginx are very mature and do a lot of things Nodal doesn't," Horwood said. "Nodal's core value proposition is that it's meant to simplify product development and deployment. It's very heavily influenced and inspired by Django and Rails, with extra bonuses supplied by the Node.js environment and ecosystem."
A Web server written in Node.js benefits from asynchronous I/O with an event loop, Horwood explained. "What this means is that a single Node.js server can handle tens of thousands of HTTP requests simultaneously," he said. It also means functions like proxying can be done very easily, Horwood added.
When Norwood is confident enterprise companies can ship Nodal systems without hesitation, he will declare it ready as a 1.0 release. Contributors to the project are welcome, and the feature road map now includes such capabilities as WebSocket support and refactors influencing extensibility.