If you’ve been following our blog you must have seen a few profile articles that we did on several big names that are using node.js in production. We’re talking about PayPal, Netflix, Uber, GoDaddy and there will be more to come. Big companies changing their tech stack to include Node is a big deal as well as startups that work from the ground up using Node or create node frameworks (see Thorin.js). This makes more people be interested and more importantly, be confident in node.js as a main technology. But how about this?
FIY: Collin Estes is the Director of Software Engineering @NASA. And yes, this means that NASA – National Aeronautics and Space Administration, the people who send people into outer space are using node.js.
Node’s journey at Nasa actually began in 2013 when a malfunction in one of spacesuits led to a complete reevaluation, one that wasn’t so easy as the data they had on the spacesuits, maintenance and previous spacewalks was spread out. Collecting the data necessary to figure out what went wrong turned out to be quite a difficult task. Considering they had to know what happened, as fast as possible, this presented another kind of system data problem.
The aforementioned Collin Estes is the Chief Architect at Mathematical Research Institute Technologies, (MRI Technologies). He and his team, together with the company that makes the spacesuits, United Technologies Corporation Aerospace Systems, went in to create a new centralized data system.
“We took that on as a challenge, to not just continue to support our systems today, but also to make this conscious migration into the cloud with this web API, and to do that with no additional contract cost. My model centered around creating a an API-driven Node.js enterprise architecture.”
The old way
Data was usually kept in siloes, organize in individual missions, a practice that was already being gradually changed. It wasn’t practical at all, Sandeep Shetye, NASA’s chief data architect said it took a 28 step process to get to the data you needed. The system created in node by Estes and his team reduced this to just 7 steps.
Node.js’ asynchronous event loop for I/O operations makes it the perfect solution for a cloudbased database system that sees queries from dozens of users who need data immediately
The Node.js package manager, npm, pairs incredibly well with Docker to create a microservices architecture that allows each API, function and application to operate smoothly and independently. This encourages each of the three legacy database systems to play nice with each other while the data is transferred to the cloud.
The new way – the Node way
The new way is actually a database arhitectura centering on node, using decoupled data module APIs and applications running as independent microservices. The APIs send document data from the legacy Oracle and Microsoft SQL Server databases to RethinkDB instances running on Amazon Web Services to be indexed via nightly Extract-Transform-Load (ETL) jobs. Read the full case study called: Node.js Helps NASA Keep Astronauts Safe and Data Accessible here.