Battle ready! Hardening Node.js for the enterprise - Nodevember 2014
I had the honor of being able to present at the inaugural Nodevember Node.js and Javascript conference in Nashville, TN this November 15th.
My talk entitled “Battle ready! Hardening Node.js for the enterprise” focussed on explaining how Node.js is being used at MasterCard, Elsevier, and other enterprise companies. I also discuss some lessons learned in building strong, scalable, resilient systems with Node.js
Meta Information
- Author: Jeff Barczewski
- Published: November 15th, 2014
- Updated: 2015-01-12
- Tags: nodejs, enterprise,resilience
Slides
Notes
- Joe Armstrong - The Mess we’re in - Strange Loop Conf 2014 - Joe, the inventor of Erlang, discusses the situation we are in with regards to technology. He provides some reasons and suggestions for improving the status quo.
- MasterCard patent - CaaS - Systems and methods for cryptographic security as a service
- Why Node.js is so popular for REST API - Instinct Tools
- Node Summit 2013 - Walmart Labs - Node.js Black Friday - Notes form the Battlefield
- Joyent engineering VP Bryan Cantrill said, “Node.js is not simply a new programming environment or the latest shiny object, but rather a profound shift in server-side programming towards event-oriented systems…We believe that Node.js is a programming mega-event on the scale of Java or Ruby on Rails. [It is] not merely a new way of expressing existing ideas, but rather a new way of thinking about how software systems should be built.”
- Why Walmart is using Node.js
- The fallacy of tiny modules - Eran Hammer
- Small focused components making up the UNIX shell environment are only viable because UNIX is part of a curated distribution. Someone did the nasty hard work of picking a baseline functionality for you. More than that, that collection has been defined into a standard so that whatever UNIX flavor you are on, you can feel right at home.
- This is what frameworks provide. In practice, a framework is a curated collection of functionality provided as a distribution. By picking a framework, you are picking a “single purpose node distribution” suitable for your application needs. The framework should allow you to swap the components with others but that baseline is the main value proposition. You buy into an ecosystem and in return you get a usable environment out of the box.
- List of companies using Node.js
- List of companies using Hapi
- NodeSource blog - great articles regarding using Node.js in the enterprise
CodeWinds - Engineering Reslient Systems with Node.js
Since I could only scratch the surface of what I would like to teach regarding the building of reslient systems with Node.js, I am going to start a series of articles, podcasts, and video training going deeper into this topic.
Sign up for my newsletter using the yellow button on the side or bottom of this page to be alerted of all my continuing coverage of “Engineering Resilience with Node.js”
Links
Modules
- bench-rest - benchmark REST (HTTP/HTTPS) API’s - Node.js client module for easy load testing
- cluster-master-ext - A module for taking advantage of the built-in
cluster
module in node v0.8+, enables rolling worker restarts, resizing, repl, events, configurable timeouts, debug method. Extended version of cluster-master - hapi - HTTP API from Walmart Labs
- joi - Validation framework from Walmart Labs - Object schema validation
- wreck - HTTP client from Walmart Labs - solid http client
- generic-pool - Node.js generic pool module
- backoff - Fibonacci and exponential backoff for Node.js
Resilience
- http://en.wikipedia.org/wiki/Reliability_engineering
- Reliability engineering is engineering that emphasizes dependability in the lifecycle management of a product. Dependability, or reliability, describes the ability of a system or component to function under stated conditions for a specified period of time.
- “Reliability is, after all, engineering in its most practical form” as once stated by James R. Schlesinger, Former US Secretary of Defense.
- http://en.wikipedia.org/wiki/Software_quality (Software reliability) - CISQ’s quality model - Reliability, Efficiency, Security, Maintainability, Size
- http://www.sciencedirect.com/science/article/pii/S1877050914001665 Engineered Resilient Systems: A DoD Perspective - 2014 Conference on Systems Engineering Research
- “A resilient system is trusted and effective out of the box in a wide range of contexts, easily adapted to many others through reconfiguration or replacement, with graceful and detectable degradation of function.”
F15
- Full F15 video from 67FS - By Jersey. I shared an edited portion of this video in my talk
- F15 lands missing a wing - History Channel Youtube
- F15 lands missing a wing - The Aviationist
To learn more
Subscribe to my newsletter to be notified of all my latest content regarding “Engineering Resilient Systems with Node.js”