SlideShare a Scribd company logo
Using Node.js to Build for the Enterprise
Using Node.js to Build for the Enterprise
James M Snell
Open Source Architect
Node.js Technical Steering Committee
@jasnell
Table of content
The Node.js ecosystem serves an
ecosystem of millions of
developers and users.
The project has developed
specific processes to support the
needs of Enterprise developers.
Usability
Reliability
Predictability
Security
Maintainability
Strategic Initiatives
01
02
03
04
05
06
Source: npm rolling downloads
Laurie Voss, npm COO
https://twitter.com/seldo/status/988477780441481217
Usability
At the heart of Node.js’ success is its fundamental
ease-of-use and focus on simplicity.
It’s just JavaScript.
JavaScript has maintained position as the #1
programming language for open source
development.
Source: https://octoverse.github.com/
Reliability
The week Node.js 10.0.0 was released, we hit 1+ million downloads per day.
Reliability
The development practices that
have been built around Node.js
Core are specifically designed to
prioritize the reliability of the
platform.
● Node.js core has had 22,000+ commits from nearly 2000 individual contributors
● So far in 2018, there have been 1700+ pull requests
● There are 118 individuals with commit access to the main repository
● There are 137 repositories in the Node.js GitHub organization
● As of right now, there are 4 supported major release lines (6.x, 8.x, 9.x, and 10.x)
Reliability
Reliability
To ensure Node.js’ reliability, a
comprehensive continuous
integration and testing
environment been worked into
everything we do.
● Every code change must pass linting and testing.
● Tests run on up to 45 different operating system and architecture combinations.
● 2200+ individual test cases.
● Changes to docs must pass linting also.
Reliability
Understanding the impact of our
work on the ecosystem, and on the
individuals who support that
ecosystem is vital.
● We proactively test about 100 of the most depended upon modules for every potentially
breaking change.
● 16 different operating system and architecture combinations.
● Identify issues early and fix things on our end or help userland fix things on theirs.
Reliability
Issues do arise.
Regressions happen.
We support the ecosystem best
not by avoiding issues (which is
impossible), but by recovering
from them quickly.
● We will revert breaking changes quickly if userland is broken in unexpected, or intolerable,
ways.
● We actively seek the input of those who may be most affected by any given change.
● We proactively open pull requests on userland projects to fix issues in advance of a
release.
It is our responsibility to avoid changes in core that
unreasonably break your code.
Predictability
A key component of ensuring the
reliability of Node.js releases is
ensuring the predictability of
releases.
● Node.js follows the Semantic Versioning conventions.
● Semver-Major: Any change that may potentially break existing code.
● Semver-Minor: Any additive change.
● Semver-Patch: Bug-fixes
X . Y . ZBreaking changes to
defined behaviour that
may require code changes
in userland.
New capabilities that
should never be
breaking.
Bug fixes and non-
additive, non-breaking
changes
Predictability
There is a formal process for
handling experimental new
capabilities and for deprecating
and removing functionality that
userland should no longer rely
upon.
● Experimental: Capabilities and APIs that are not yet officially supported and may change at
any time independent of typical semver rules.
● Documentation-only Deprecation: Clear statements added to documentation explaining
that a capability or API should no longer be used, but there is no change in behaviour at
runtime.
● Runtime Deprecation: Intentionally disruptive warning statement is emitted to the console
the first time a deprecated capability or API is used.
● End-of-life: Capabilities and APIs that are no longer supported in any way and may be
removed outside of typical semver rules
Predictability
One of the more critical lessons
that the Node.js project had to
learn is that regular predictable
releases are of critical importance
to its success in the enterprise.
● Major releases every 6 months
● April: Even-numbered majors (e.g. 4.0.0, 6.0.0, 8.0.0, 10.0.0)
● October: Odd-numbered majors (e.g. 5.0.0, 7.0.0, 9.0.0, 11.0.0)
● Odd-numbered majors are only supported for a maximum of 9 months.*
● Even-numbered majors move under Long-Term Support after 6 months.
● Active: 18 months of proactive support.
● Maintenance: 12 months of reactive support.
* This does not mean odd-numbered majors are experimental!
They are just as stable as even-numbered, just not supported as long.
Predictability
Predictability
4.x LTS
6.x LTS
8.x LTS
Security
Responsible and professional
handling of security vulnerabilities
is critical.
● Security reporting using security@nodejs.org and managed via HackerOne
● Triage of reported vulnerabilities for core and the ecosystem is limited to a subset of
Node.js collaborators who maintain strict confidentiality
● The Node.js Project manages the Node.js Ecosystem Vulnerability Database
● The Node.js Project acts as its own CVE Authority
● There is now a Security Vulnerability Bug Bounty Program with cash awards sponsored
by the Node.js Foundation and The Internet Bug Bounty program
(https://internetbugbounty.org/).
Maintainability
It is simply not enough to easily write code with Node.js,
that code needs to be maintainable, observable, and debuggable.
Of all the strategic initiatives within Node.js core, the most critical is the
effort to improve diagnostics.
Maintainability
● Improved tracing, error handling, post-mortem debugging, diagnostics, performance profiling, monitoring, and
auditability.
● Active development efforts around V8 Trace Events, DTrace, eBPF, node-report, node-heapdump, llnode
● Development on third party open source tools such as clinic (problem determination), 0x (profiling) and
partnerships with commercial application process monitoring providers
● Experimental efforts around new debugging models such as Microsoft’s Time Travel Debugging via node-
chakracore
Strategic Initiatives
There is no official roadmap and no
centralized project management.
We do, however, have a number of
strategic initiatives...
● Improved diagnostics and observability
● Improved and expanded standards support (HTTP/2, URL, TLS 1.3)
● Support for modern JavaScript language features (Modules, Promises)
● Multi-threading and multi-process support via Workers
● Improvement of Error messaging and handling
● Improvements to data processing and throughput (Streams API)
● Collaboration with key dependencies (V8, Chakra-Core, npm)
● Establishment of a Mentorship Program
nearForm and Node.js
Thank you.
jasnell@nearform.com
jasnell@gmail.com
@jasnell
Using Node.js to Build for the Enterprise
Using Node.js to Build for the Enterprise

More Related Content

What's hot (20)

DevSecOps The Evolution of DevOps
DevSecOps The Evolution of DevOpsDevSecOps The Evolution of DevOps
DevSecOps The Evolution of DevOps
Michael Man
 
Null application security in an agile world
Null application security in an agile worldNull application security in an agile world
Null application security in an agile world
Stefan Streichsbier
 
DevSecOps and the CI/CD Pipeline
 DevSecOps and the CI/CD Pipeline DevSecOps and the CI/CD Pipeline
DevSecOps and the CI/CD Pipeline
James Wickett
 
DevSecOps What Why and How
DevSecOps What Why and HowDevSecOps What Why and How
DevSecOps What Why and How
NotSoSecure Global Services
 
Benefits of DevSecOps
Benefits of DevSecOpsBenefits of DevSecOps
Benefits of DevSecOps
Finto Thomas , CISSP, TOGAF, CCSP, ITIL. JNCIS
 
DevSecOps Singapore 2017 - Security in the Delivery Pipeline
DevSecOps Singapore 2017 - Security in the Delivery PipelineDevSecOps Singapore 2017 - Security in the Delivery Pipeline
DevSecOps Singapore 2017 - Security in the Delivery Pipeline
James Wickett
 
Zero to Ninety in Securing DevOps
Zero to Ninety in Securing DevOpsZero to Ninety in Securing DevOps
Zero to Ninety in Securing DevOps
DevSecOps Days
 
Pentest is yesterday, DevSecOps is tomorrow
Pentest is yesterday, DevSecOps is tomorrowPentest is yesterday, DevSecOps is tomorrow
Pentest is yesterday, DevSecOps is tomorrow
Amien Harisen Rosyandino
 
DevSecOps
DevSecOpsDevSecOps
DevSecOps
Joel Divekar
 
How to Get Started with DevSecOps
How to Get Started with DevSecOpsHow to Get Started with DevSecOps
How to Get Started with DevSecOps
CYBRIC
 
Scale DevSecOps with your Continuous Integration Pipeline
Scale DevSecOps with your Continuous Integration PipelineScale DevSecOps with your Continuous Integration Pipeline
Scale DevSecOps with your Continuous Integration Pipeline
DevOps.com
 
DevSecOps-OWASP Indonesia Day 2017
DevSecOps-OWASP Indonesia Day 2017DevSecOps-OWASP Indonesia Day 2017
DevSecOps-OWASP Indonesia Day 2017
Suman Sourav
 
DevSecOps Everything You Need To Know
DevSecOps Everything You Need To KnowDevSecOps Everything You Need To Know
DevSecOps Everything You Need To Know
Centextech
 
10 things to get right for successful dev secops
10 things to get right for successful dev secops10 things to get right for successful dev secops
10 things to get right for successful dev secops
Mohammed Ahmed
 
PIACERE - DevSecOps Automated
PIACERE - DevSecOps AutomatedPIACERE - DevSecOps Automated
PIACERE - DevSecOps Automated
PIACERE
 
DevSecOps, The Good, Bad, and Ugly
DevSecOps, The Good, Bad, and UglyDevSecOps, The Good, Bad, and Ugly
DevSecOps, The Good, Bad, and Ugly
4ndersonLin
 
DevSecOps for the DoD
DevSecOps for the DoDDevSecOps for the DoD
DevSecOps for the DoD
JamesHarmison
 
Matteo Meucci Isaca Venice - 2017
Matteo Meucci  Isaca Venice - 2017Matteo Meucci  Isaca Venice - 2017
Matteo Meucci Isaca Venice - 2017
Minded Security
 
Secure DevOPS Implementation Guidance
Secure DevOPS Implementation GuidanceSecure DevOPS Implementation Guidance
Secure DevOPS Implementation Guidance
Tej Luthra
 
DevSecOps Beginners Guide : How to secure process in DevOps with OpenSource
DevSecOps Beginners Guide : How to secure process in DevOps with OpenSourceDevSecOps Beginners Guide : How to secure process in DevOps with OpenSource
DevSecOps Beginners Guide : How to secure process in DevOps with OpenSource
DevOps Indonesia
 
DevSecOps The Evolution of DevOps
DevSecOps The Evolution of DevOpsDevSecOps The Evolution of DevOps
DevSecOps The Evolution of DevOps
Michael Man
 
Null application security in an agile world
Null application security in an agile worldNull application security in an agile world
Null application security in an agile world
Stefan Streichsbier
 
DevSecOps and the CI/CD Pipeline
 DevSecOps and the CI/CD Pipeline DevSecOps and the CI/CD Pipeline
DevSecOps and the CI/CD Pipeline
James Wickett
 
DevSecOps Singapore 2017 - Security in the Delivery Pipeline
DevSecOps Singapore 2017 - Security in the Delivery PipelineDevSecOps Singapore 2017 - Security in the Delivery Pipeline
DevSecOps Singapore 2017 - Security in the Delivery Pipeline
James Wickett
 
Zero to Ninety in Securing DevOps
Zero to Ninety in Securing DevOpsZero to Ninety in Securing DevOps
Zero to Ninety in Securing DevOps
DevSecOps Days
 
Pentest is yesterday, DevSecOps is tomorrow
Pentest is yesterday, DevSecOps is tomorrowPentest is yesterday, DevSecOps is tomorrow
Pentest is yesterday, DevSecOps is tomorrow
Amien Harisen Rosyandino
 
How to Get Started with DevSecOps
How to Get Started with DevSecOpsHow to Get Started with DevSecOps
How to Get Started with DevSecOps
CYBRIC
 
Scale DevSecOps with your Continuous Integration Pipeline
Scale DevSecOps with your Continuous Integration PipelineScale DevSecOps with your Continuous Integration Pipeline
Scale DevSecOps with your Continuous Integration Pipeline
DevOps.com
 
DevSecOps-OWASP Indonesia Day 2017
DevSecOps-OWASP Indonesia Day 2017DevSecOps-OWASP Indonesia Day 2017
DevSecOps-OWASP Indonesia Day 2017
Suman Sourav
 
DevSecOps Everything You Need To Know
DevSecOps Everything You Need To KnowDevSecOps Everything You Need To Know
DevSecOps Everything You Need To Know
Centextech
 
10 things to get right for successful dev secops
10 things to get right for successful dev secops10 things to get right for successful dev secops
10 things to get right for successful dev secops
Mohammed Ahmed
 
PIACERE - DevSecOps Automated
PIACERE - DevSecOps AutomatedPIACERE - DevSecOps Automated
PIACERE - DevSecOps Automated
PIACERE
 
DevSecOps, The Good, Bad, and Ugly
DevSecOps, The Good, Bad, and UglyDevSecOps, The Good, Bad, and Ugly
DevSecOps, The Good, Bad, and Ugly
4ndersonLin
 
DevSecOps for the DoD
DevSecOps for the DoDDevSecOps for the DoD
DevSecOps for the DoD
JamesHarmison
 
Matteo Meucci Isaca Venice - 2017
Matteo Meucci  Isaca Venice - 2017Matteo Meucci  Isaca Venice - 2017
Matteo Meucci Isaca Venice - 2017
Minded Security
 
Secure DevOPS Implementation Guidance
Secure DevOPS Implementation GuidanceSecure DevOPS Implementation Guidance
Secure DevOPS Implementation Guidance
Tej Luthra
 
DevSecOps Beginners Guide : How to secure process in DevOps with OpenSource
DevSecOps Beginners Guide : How to secure process in DevOps with OpenSourceDevSecOps Beginners Guide : How to secure process in DevOps with OpenSource
DevSecOps Beginners Guide : How to secure process in DevOps with OpenSource
DevOps Indonesia
 

Similar to Using Node.js to Build for the Enterprise (20)

How to Enterprise Node
How to Enterprise NodeHow to Enterprise Node
How to Enterprise Node
Julián David Duque
 
Platform as reflection of values: Joyent, node.js, and beyond
Platform as reflection of values: Joyent, node.js, and beyondPlatform as reflection of values: Joyent, node.js, and beyond
Platform as reflection of values: Joyent, node.js, and beyond
bcantrill
 
Node.js security tour
Node.js security tourNode.js security tour
Node.js security tour
Giacomo De Liberali
 
Node.js what's next (Index 2018)
Node.js what's next (Index 2018)Node.js what's next (Index 2018)
Node.js what's next (Index 2018)
Gibson Fahnestock
 
Ask us anything v9
Ask us anything v9Ask us anything v9
Ask us anything v9
Michael Dawson
 
Node.js – ask us anything!
Node.js – ask us anything! Node.js – ask us anything!
Node.js – ask us anything!
Dev_Events
 
Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...
Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...
Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...
Bitnami
 
Instant Download Node js Design Patterns Master best practices to build modul...
Instant Download Node js Design Patterns Master best practices to build modul...Instant Download Node js Design Patterns Master best practices to build modul...
Instant Download Node js Design Patterns Master best practices to build modul...
nobazaasiv
 
Node.js Getting Started &amd Best Practices
Node.js Getting Started &amd Best PracticesNode.js Getting Started &amd Best Practices
Node.js Getting Started &amd Best Practices
botsplash.com
 
Dcjq node.js presentation
Dcjq node.js presentationDcjq node.js presentation
Dcjq node.js presentation
async_io
 
The Enterprise Case for Node.js
The Enterprise Case for Node.jsThe Enterprise Case for Node.js
The Enterprise Case for Node.js
NodejsFoundation
 
The Future of Node - @rvagg - NodeConf Christchurch 2015
The Future of Node - @rvagg - NodeConf Christchurch 2015The Future of Node - @rvagg - NodeConf Christchurch 2015
The Future of Node - @rvagg - NodeConf Christchurch 2015
rvagg
 
Mastering the Art of Node.js: Development Services for Success
Mastering the Art of Node.js: Development Services for SuccessMastering the Art of Node.js: Development Services for Success
Mastering the Art of Node.js: Development Services for Success
NareshPatel726207
 
Keynote - Open Source 101 - How JavaScript Became a Legitimate Open Source En...
Keynote - Open Source 101 - How JavaScript Became a Legitimate Open Source En...Keynote - Open Source 101 - How JavaScript Became a Legitimate Open Source En...
Keynote - Open Source 101 - How JavaScript Became a Legitimate Open Source En...
Mark Hinkle
 
Node js Design Patterns Master best practices to build modular and scalable s...
Node js Design Patterns Master best practices to build modular and scalable s...Node js Design Patterns Master best practices to build modular and scalable s...
Node js Design Patterns Master best practices to build modular and scalable s...
bowenshabagg
 
Hire Leading Nodejs Development Service Providers in 2022.pptx
Hire Leading Nodejs Development Service Providers in 2022.pptxHire Leading Nodejs Development Service Providers in 2022.pptx
Hire Leading Nodejs Development Service Providers in 2022.pptx
75waytechnologies
 
8 tips for mastering node.js
8 tips for mastering node.js8 tips for mastering node.js
8 tips for mastering node.js
Solution Analysts
 
8 tips for mastering node.js
8 tips for mastering node.js8 tips for mastering node.js
8 tips for mastering node.js
Solution Analysts
 
Definitive Guide to Powerful Nodejs Development.pptx
Definitive Guide to Powerful Nodejs Development.pptxDefinitive Guide to Powerful Nodejs Development.pptx
Definitive Guide to Powerful Nodejs Development.pptx
75waytechnologies
 
How to make a high-quality Node.js app, Nikita Galkin
How to make a high-quality Node.js app, Nikita GalkinHow to make a high-quality Node.js app, Nikita Galkin
How to make a high-quality Node.js app, Nikita Galkin
Sigma Software
 
Platform as reflection of values: Joyent, node.js, and beyond
Platform as reflection of values: Joyent, node.js, and beyondPlatform as reflection of values: Joyent, node.js, and beyond
Platform as reflection of values: Joyent, node.js, and beyond
bcantrill
 
Node.js what's next (Index 2018)
Node.js what's next (Index 2018)Node.js what's next (Index 2018)
Node.js what's next (Index 2018)
Gibson Fahnestock
 
Node.js – ask us anything!
Node.js – ask us anything! Node.js – ask us anything!
Node.js – ask us anything!
Dev_Events
 
Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...
Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...
Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...
Bitnami
 
Instant Download Node js Design Patterns Master best practices to build modul...
Instant Download Node js Design Patterns Master best practices to build modul...Instant Download Node js Design Patterns Master best practices to build modul...
Instant Download Node js Design Patterns Master best practices to build modul...
nobazaasiv
 
Node.js Getting Started &amd Best Practices
Node.js Getting Started &amd Best PracticesNode.js Getting Started &amd Best Practices
Node.js Getting Started &amd Best Practices
botsplash.com
 
Dcjq node.js presentation
Dcjq node.js presentationDcjq node.js presentation
Dcjq node.js presentation
async_io
 
The Enterprise Case for Node.js
The Enterprise Case for Node.jsThe Enterprise Case for Node.js
The Enterprise Case for Node.js
NodejsFoundation
 
The Future of Node - @rvagg - NodeConf Christchurch 2015
The Future of Node - @rvagg - NodeConf Christchurch 2015The Future of Node - @rvagg - NodeConf Christchurch 2015
The Future of Node - @rvagg - NodeConf Christchurch 2015
rvagg
 
Mastering the Art of Node.js: Development Services for Success
Mastering the Art of Node.js: Development Services for SuccessMastering the Art of Node.js: Development Services for Success
Mastering the Art of Node.js: Development Services for Success
NareshPatel726207
 
Keynote - Open Source 101 - How JavaScript Became a Legitimate Open Source En...
Keynote - Open Source 101 - How JavaScript Became a Legitimate Open Source En...Keynote - Open Source 101 - How JavaScript Became a Legitimate Open Source En...
Keynote - Open Source 101 - How JavaScript Became a Legitimate Open Source En...
Mark Hinkle
 
Node js Design Patterns Master best practices to build modular and scalable s...
Node js Design Patterns Master best practices to build modular and scalable s...Node js Design Patterns Master best practices to build modular and scalable s...
Node js Design Patterns Master best practices to build modular and scalable s...
bowenshabagg
 
Hire Leading Nodejs Development Service Providers in 2022.pptx
Hire Leading Nodejs Development Service Providers in 2022.pptxHire Leading Nodejs Development Service Providers in 2022.pptx
Hire Leading Nodejs Development Service Providers in 2022.pptx
75waytechnologies
 
8 tips for mastering node.js
8 tips for mastering node.js8 tips for mastering node.js
8 tips for mastering node.js
Solution Analysts
 
8 tips for mastering node.js
8 tips for mastering node.js8 tips for mastering node.js
8 tips for mastering node.js
Solution Analysts
 
Definitive Guide to Powerful Nodejs Development.pptx
Definitive Guide to Powerful Nodejs Development.pptxDefinitive Guide to Powerful Nodejs Development.pptx
Definitive Guide to Powerful Nodejs Development.pptx
75waytechnologies
 
How to make a high-quality Node.js app, Nikita Galkin
How to make a high-quality Node.js app, Nikita GalkinHow to make a high-quality Node.js app, Nikita Galkin
How to make a high-quality Node.js app, Nikita Galkin
Sigma Software
 
Ad

More from Microsoft Tech Community (20)

100 ways to use Yammer
100 ways to use Yammer100 ways to use Yammer
100 ways to use Yammer
Microsoft Tech Community
 
10 Yammer Group Suggestions
10 Yammer Group Suggestions10 Yammer Group Suggestions
10 Yammer Group Suggestions
Microsoft Tech Community
 
Removing Security Roadblocks to IoT Deployment Success
Removing Security Roadblocks to IoT Deployment SuccessRemoving Security Roadblocks to IoT Deployment Success
Removing Security Roadblocks to IoT Deployment Success
Microsoft Tech Community
 
Building mobile apps with Visual Studio and Xamarin
Building mobile apps with Visual Studio and XamarinBuilding mobile apps with Visual Studio and Xamarin
Building mobile apps with Visual Studio and Xamarin
Microsoft Tech Community
 
Best practices with Microsoft Graph: Making your applications more performant...
Best practices with Microsoft Graph: Making your applications more performant...Best practices with Microsoft Graph: Making your applications more performant...
Best practices with Microsoft Graph: Making your applications more performant...
Microsoft Tech Community
 
Interactive emails in Outlook with Adaptive Cards
Interactive emails in Outlook with Adaptive CardsInteractive emails in Outlook with Adaptive Cards
Interactive emails in Outlook with Adaptive Cards
Microsoft Tech Community
 
Unlocking security insights with Microsoft Graph API
Unlocking security insights with Microsoft Graph APIUnlocking security insights with Microsoft Graph API
Unlocking security insights with Microsoft Graph API
Microsoft Tech Community
 
Break through the serverless barriers with Durable Functions
Break through the serverless barriers with Durable FunctionsBreak through the serverless barriers with Durable Functions
Break through the serverless barriers with Durable Functions
Microsoft Tech Community
 
Multiplayer Server Scaling with Azure Container Instances
Multiplayer Server Scaling with Azure Container InstancesMultiplayer Server Scaling with Azure Container Instances
Multiplayer Server Scaling with Azure Container Instances
Microsoft Tech Community
 
Explore Azure Cosmos DB
Explore Azure Cosmos DBExplore Azure Cosmos DB
Explore Azure Cosmos DB
Microsoft Tech Community
 
Media Streaming Apps with Azure and Xamarin
Media Streaming Apps with Azure and XamarinMedia Streaming Apps with Azure and Xamarin
Media Streaming Apps with Azure and Xamarin
Microsoft Tech Community
 
DevOps for Data Science
DevOps for Data ScienceDevOps for Data Science
DevOps for Data Science
Microsoft Tech Community
 
Real-World Solutions with PowerApps: Tips & tricks to manage your app complexity
Real-World Solutions with PowerApps: Tips & tricks to manage your app complexityReal-World Solutions with PowerApps: Tips & tricks to manage your app complexity
Real-World Solutions with PowerApps: Tips & tricks to manage your app complexity
Microsoft Tech Community
 
Azure Functions and Microsoft Graph
Azure Functions and Microsoft GraphAzure Functions and Microsoft Graph
Azure Functions and Microsoft Graph
Microsoft Tech Community
 
Ingestion in data pipelines with Managed Kafka Clusters in Azure HDInsight
Ingestion in data pipelines with Managed Kafka Clusters in Azure HDInsightIngestion in data pipelines with Managed Kafka Clusters in Azure HDInsight
Ingestion in data pipelines with Managed Kafka Clusters in Azure HDInsight
Microsoft Tech Community
 
Getting Started with Visual Studio Tools for AI
Getting Started with Visual Studio Tools for AIGetting Started with Visual Studio Tools for AI
Getting Started with Visual Studio Tools for AI
Microsoft Tech Community
 
Using AML Python SDK
Using AML Python SDKUsing AML Python SDK
Using AML Python SDK
Microsoft Tech Community
 
Mobile Workforce Location Tracking with Bing Maps
Mobile Workforce Location Tracking with Bing MapsMobile Workforce Location Tracking with Bing Maps
Mobile Workforce Location Tracking with Bing Maps
Microsoft Tech Community
 
Cognitive Services Labs in action Anomaly detection
Cognitive Services Labs in action Anomaly detectionCognitive Services Labs in action Anomaly detection
Cognitive Services Labs in action Anomaly detection
Microsoft Tech Community
 
Speech Devices SDK
Speech Devices SDKSpeech Devices SDK
Speech Devices SDK
Microsoft Tech Community
 
Removing Security Roadblocks to IoT Deployment Success
Removing Security Roadblocks to IoT Deployment SuccessRemoving Security Roadblocks to IoT Deployment Success
Removing Security Roadblocks to IoT Deployment Success
Microsoft Tech Community
 
Building mobile apps with Visual Studio and Xamarin
Building mobile apps with Visual Studio and XamarinBuilding mobile apps with Visual Studio and Xamarin
Building mobile apps with Visual Studio and Xamarin
Microsoft Tech Community
 
Best practices with Microsoft Graph: Making your applications more performant...
Best practices with Microsoft Graph: Making your applications more performant...Best practices with Microsoft Graph: Making your applications more performant...
Best practices with Microsoft Graph: Making your applications more performant...
Microsoft Tech Community
 
Interactive emails in Outlook with Adaptive Cards
Interactive emails in Outlook with Adaptive CardsInteractive emails in Outlook with Adaptive Cards
Interactive emails in Outlook with Adaptive Cards
Microsoft Tech Community
 
Unlocking security insights with Microsoft Graph API
Unlocking security insights with Microsoft Graph APIUnlocking security insights with Microsoft Graph API
Unlocking security insights with Microsoft Graph API
Microsoft Tech Community
 
Break through the serverless barriers with Durable Functions
Break through the serverless barriers with Durable FunctionsBreak through the serverless barriers with Durable Functions
Break through the serverless barriers with Durable Functions
Microsoft Tech Community
 
Multiplayer Server Scaling with Azure Container Instances
Multiplayer Server Scaling with Azure Container InstancesMultiplayer Server Scaling with Azure Container Instances
Multiplayer Server Scaling with Azure Container Instances
Microsoft Tech Community
 
Media Streaming Apps with Azure and Xamarin
Media Streaming Apps with Azure and XamarinMedia Streaming Apps with Azure and Xamarin
Media Streaming Apps with Azure and Xamarin
Microsoft Tech Community
 
Real-World Solutions with PowerApps: Tips & tricks to manage your app complexity
Real-World Solutions with PowerApps: Tips & tricks to manage your app complexityReal-World Solutions with PowerApps: Tips & tricks to manage your app complexity
Real-World Solutions with PowerApps: Tips & tricks to manage your app complexity
Microsoft Tech Community
 
Ingestion in data pipelines with Managed Kafka Clusters in Azure HDInsight
Ingestion in data pipelines with Managed Kafka Clusters in Azure HDInsightIngestion in data pipelines with Managed Kafka Clusters in Azure HDInsight
Ingestion in data pipelines with Managed Kafka Clusters in Azure HDInsight
Microsoft Tech Community
 
Getting Started with Visual Studio Tools for AI
Getting Started with Visual Studio Tools for AIGetting Started with Visual Studio Tools for AI
Getting Started with Visual Studio Tools for AI
Microsoft Tech Community
 
Mobile Workforce Location Tracking with Bing Maps
Mobile Workforce Location Tracking with Bing MapsMobile Workforce Location Tracking with Bing Maps
Mobile Workforce Location Tracking with Bing Maps
Microsoft Tech Community
 
Cognitive Services Labs in action Anomaly detection
Cognitive Services Labs in action Anomaly detectionCognitive Services Labs in action Anomaly detection
Cognitive Services Labs in action Anomaly detection
Microsoft Tech Community
 
Ad

Recently uploaded (20)

Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 
Introduction to Typescript - GDG On Campus EUE
Introduction to Typescript - GDG On Campus EUEIntroduction to Typescript - GDG On Campus EUE
Introduction to Typescript - GDG On Campus EUE
Google Developer Group On Campus European Universities in Egypt
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
Oracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI ProfessionalOracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI Professional
VICTOR MAESTRE RAMIREZ
 
How to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptxHow to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdfBoosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Alkin Tezuysal
 
FCF- Getting Started in Cybersecurity 3.0
FCF- Getting Started in Cybersecurity 3.0FCF- Getting Started in Cybersecurity 3.0
FCF- Getting Started in Cybersecurity 3.0
RodrigoMori7
 
6th Power Grid Model Meetup - 21 May 2025
6th Power Grid Model Meetup - 21 May 20256th Power Grid Model Meetup - 21 May 2025
6th Power Grid Model Meetup - 21 May 2025
DanBrown980551
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
Down the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training RoadblocksDown the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training Roadblocks
Rustici Software
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementaryMurdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy SurveyTrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc
 
Soulmaite review - Find Real AI soulmate review
Soulmaite review - Find Real AI soulmate reviewSoulmaite review - Find Real AI soulmate review
Soulmaite review - Find Real AI soulmate review
Soulmaite
 
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Impelsys Inc.
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
Improving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevExImproving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevEx
Justin Reock
 
Data Virtualization: Bringing the Power of FME to Any Application
Data Virtualization: Bringing the Power of FME to Any ApplicationData Virtualization: Bringing the Power of FME to Any Application
Data Virtualization: Bringing the Power of FME to Any Application
Safe Software
 
Your startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean accountYour startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean account
angelo60207
 
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdfHow Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
Rejig Digital
 
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
Oracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI ProfessionalOracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI Professional
VICTOR MAESTRE RAMIREZ
 
How to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptxHow to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdfBoosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Alkin Tezuysal
 
FCF- Getting Started in Cybersecurity 3.0
FCF- Getting Started in Cybersecurity 3.0FCF- Getting Started in Cybersecurity 3.0
FCF- Getting Started in Cybersecurity 3.0
RodrigoMori7
 
6th Power Grid Model Meetup - 21 May 2025
6th Power Grid Model Meetup - 21 May 20256th Power Grid Model Meetup - 21 May 2025
6th Power Grid Model Meetup - 21 May 2025
DanBrown980551
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
Down the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training RoadblocksDown the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training Roadblocks
Rustici Software
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementaryMurdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy SurveyTrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc
 
Soulmaite review - Find Real AI soulmate review
Soulmaite review - Find Real AI soulmate reviewSoulmaite review - Find Real AI soulmate review
Soulmaite review - Find Real AI soulmate review
Soulmaite
 
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Impelsys Inc.
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
Improving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevExImproving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevEx
Justin Reock
 
Data Virtualization: Bringing the Power of FME to Any Application
Data Virtualization: Bringing the Power of FME to Any ApplicationData Virtualization: Bringing the Power of FME to Any Application
Data Virtualization: Bringing the Power of FME to Any Application
Safe Software
 
Your startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean accountYour startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean account
angelo60207
 
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdfHow Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
Rejig Digital
 

Using Node.js to Build for the Enterprise

  • 3. James M Snell Open Source Architect Node.js Technical Steering Committee @jasnell
  • 4. Table of content The Node.js ecosystem serves an ecosystem of millions of developers and users. The project has developed specific processes to support the needs of Enterprise developers. Usability Reliability Predictability Security Maintainability Strategic Initiatives 01 02 03 04 05 06 Source: npm rolling downloads Laurie Voss, npm COO https://twitter.com/seldo/status/988477780441481217
  • 5. Usability At the heart of Node.js’ success is its fundamental ease-of-use and focus on simplicity. It’s just JavaScript. JavaScript has maintained position as the #1 programming language for open source development. Source: https://octoverse.github.com/
  • 6. Reliability The week Node.js 10.0.0 was released, we hit 1+ million downloads per day.
  • 7. Reliability The development practices that have been built around Node.js Core are specifically designed to prioritize the reliability of the platform. ● Node.js core has had 22,000+ commits from nearly 2000 individual contributors ● So far in 2018, there have been 1700+ pull requests ● There are 118 individuals with commit access to the main repository ● There are 137 repositories in the Node.js GitHub organization ● As of right now, there are 4 supported major release lines (6.x, 8.x, 9.x, and 10.x)
  • 9. Reliability To ensure Node.js’ reliability, a comprehensive continuous integration and testing environment been worked into everything we do. ● Every code change must pass linting and testing. ● Tests run on up to 45 different operating system and architecture combinations. ● 2200+ individual test cases. ● Changes to docs must pass linting also.
  • 10. Reliability Understanding the impact of our work on the ecosystem, and on the individuals who support that ecosystem is vital. ● We proactively test about 100 of the most depended upon modules for every potentially breaking change. ● 16 different operating system and architecture combinations. ● Identify issues early and fix things on our end or help userland fix things on theirs.
  • 11. Reliability Issues do arise. Regressions happen. We support the ecosystem best not by avoiding issues (which is impossible), but by recovering from them quickly. ● We will revert breaking changes quickly if userland is broken in unexpected, or intolerable, ways. ● We actively seek the input of those who may be most affected by any given change. ● We proactively open pull requests on userland projects to fix issues in advance of a release. It is our responsibility to avoid changes in core that unreasonably break your code.
  • 12. Predictability A key component of ensuring the reliability of Node.js releases is ensuring the predictability of releases. ● Node.js follows the Semantic Versioning conventions. ● Semver-Major: Any change that may potentially break existing code. ● Semver-Minor: Any additive change. ● Semver-Patch: Bug-fixes X . Y . ZBreaking changes to defined behaviour that may require code changes in userland. New capabilities that should never be breaking. Bug fixes and non- additive, non-breaking changes
  • 13. Predictability There is a formal process for handling experimental new capabilities and for deprecating and removing functionality that userland should no longer rely upon. ● Experimental: Capabilities and APIs that are not yet officially supported and may change at any time independent of typical semver rules. ● Documentation-only Deprecation: Clear statements added to documentation explaining that a capability or API should no longer be used, but there is no change in behaviour at runtime. ● Runtime Deprecation: Intentionally disruptive warning statement is emitted to the console the first time a deprecated capability or API is used. ● End-of-life: Capabilities and APIs that are no longer supported in any way and may be removed outside of typical semver rules
  • 14. Predictability One of the more critical lessons that the Node.js project had to learn is that regular predictable releases are of critical importance to its success in the enterprise. ● Major releases every 6 months ● April: Even-numbered majors (e.g. 4.0.0, 6.0.0, 8.0.0, 10.0.0) ● October: Odd-numbered majors (e.g. 5.0.0, 7.0.0, 9.0.0, 11.0.0) ● Odd-numbered majors are only supported for a maximum of 9 months.* ● Even-numbered majors move under Long-Term Support after 6 months. ● Active: 18 months of proactive support. ● Maintenance: 12 months of reactive support. * This does not mean odd-numbered majors are experimental! They are just as stable as even-numbered, just not supported as long.
  • 17. Security Responsible and professional handling of security vulnerabilities is critical. ● Security reporting using [email protected] and managed via HackerOne ● Triage of reported vulnerabilities for core and the ecosystem is limited to a subset of Node.js collaborators who maintain strict confidentiality ● The Node.js Project manages the Node.js Ecosystem Vulnerability Database ● The Node.js Project acts as its own CVE Authority ● There is now a Security Vulnerability Bug Bounty Program with cash awards sponsored by the Node.js Foundation and The Internet Bug Bounty program (https://internetbugbounty.org/).
  • 18. Maintainability It is simply not enough to easily write code with Node.js, that code needs to be maintainable, observable, and debuggable. Of all the strategic initiatives within Node.js core, the most critical is the effort to improve diagnostics.
  • 19. Maintainability ● Improved tracing, error handling, post-mortem debugging, diagnostics, performance profiling, monitoring, and auditability. ● Active development efforts around V8 Trace Events, DTrace, eBPF, node-report, node-heapdump, llnode ● Development on third party open source tools such as clinic (problem determination), 0x (profiling) and partnerships with commercial application process monitoring providers ● Experimental efforts around new debugging models such as Microsoft’s Time Travel Debugging via node- chakracore
  • 20. Strategic Initiatives There is no official roadmap and no centralized project management. We do, however, have a number of strategic initiatives... ● Improved diagnostics and observability ● Improved and expanded standards support (HTTP/2, URL, TLS 1.3) ● Support for modern JavaScript language features (Modules, Promises) ● Multi-threading and multi-process support via Workers ● Improvement of Error messaging and handling ● Improvements to data processing and throughput (Streams API) ● Collaboration with key dependencies (V8, Chakra-Core, npm) ● Establishment of a Mentorship Program