Node.js als erfolgreicher Gamechanger: Warum Big Player darauf setzen

18.10.2023

Node.js hat sich in den letzten Jahren zu einer bedeutenden Technologie für die Entwicklung von skalierbaren und performanten Webanwendungen entwickelt.

In diesem Blogpost werden wir uns damit beschäftigen, warum führende Technologieunternehmen auf Node.js setzen und wie es zu einem Gamechanger in der Branche geworden ist.

 

Node.js Logo
Abbildung 1: Node.js Logo, Quelle 1

 

Node.js: Ein kurzer Überblick

Node.js wurde erstmals im Jahr 2009 von Ryan Dahl veröffentlicht und basiert auf der V8-JavaScript-Engine von Google. Was Node.js von anderen serverseitigen Plattformen unterscheidet, ist seine ereignisgesteuerte, nicht blockierende (non-blocking I/O) Architektur, die eine hohe Skalierbarkeit und Effizienz ermöglicht.
Das Verhalten von blocking und non-blocking I/O lässt sich auch im echten Leben wiederfinden. Beispielweise die Warteschlange an der Kasse beim Bäcker. Wenn ein Kunde ein Brot kauft, muss der nächste warten, bis die Transaktion abgeschlossen ist, bevor er an die Reihe kommt. Dieses Vorgehen zieht sich so durch die ganze Warteschlange. Dies ist vergleichbar mit einer „blockierenden“ Abwicklung, da jeder Kunde warten muss, bis der vorherige Kunde fertig ist, bevor er bedient werden kann.
Das Gegenstück eines non-blocking Verhalten wäre ein Restaurant. Sobald der Kellner eine Bestellung aufnimmt, gibt er sie direkt an den Küchenchef weiter und während das Essen zubereitet wird, kann der Kellner schon andere Bestellungen von anderen Gästen aufnehmen. Er verschwendet keine Zeit damit, auf das erste Gericht zu warten, um mit der nächsten Bestellung zu beginnen. So kann das Restaurant insgesamt mehr Bestellungen gleichzeitig bearbeiten und die Gäste schneller bedienen.
Diese Eigenschaften machen Node.js besonders attraktiv für Unternehmen, die auf hohe Anforderungen an die Geschwindigkeit des Systems angewiesen sind.

 

Warum setzen Big Player auf Node.js?

Mehrere führende Technologieunternehmen haben Node.js als entscheidenden Bestandteil ihrer Technologiestacks integriert. Hier sind einige Gründe, warum sie auf diese Technologie setzen:

 

1. Hohe Geschwindigkeit und Effizienz

Node.js ermöglicht die Entwicklung von Webanwendungen, die extrem schnell und effizient arbeiten. Dies ist für Unternehmen entscheidend, die eine große Anzahl von Benutzern bedienen und schnelle Antwortzeiten benötigen, um ihren Nutzern ein großartiges Benutzererlebnis zu bieten.

Netflix hat bereits früh erkannt, dass hohe Leistung kein optionales technisches Ziel ist, sondern eine Voraussetzung, um am Markt zu bestehen. Bereits 2015 sind sie den Weg gegangen und haben ihren Java/Tomcat/JQuery Stack durch einen Node.js und React.js Stack ersetzt. Diese Bemühungen hatten zur Folge, dass sie die Performance ihrer Webanwendung um 70 % steigern konnten.2 Seit 2015 sind nun einige Jahre vergangen und Node.js hat sich in dieser Zeit noch mal deutlich weiterentwickelt.

Netflix hat auf ihrem Techblog 3 bereits mehrere Artikel zum Thema Node.js und dessen Einsatz veröffentlicht.

Netflix Logo
Abbildung 2: Netflix Logo, Quelle 4

 

2. Skalierbarkeit

Node.js bietet eine hervorragende Skalierbarkeit und eignet sich daher für Unternehmen, die mit stark wechselnden Lasten umgehen müssen. Es ermöglicht auch die einfache Skalierung auf mehrere Server, um den Anforderungen gerecht zu werden.
Auch eBay, der weltweit größte Online-Marktplatz, ist bereits 2013 mit ihrer ersten Node.js Anwendung darauf aufmerksam geworden.5 eBay setzte ursprünglich auf einen Java-basierten Technologie-Stack. Doch als das Unternehmen vor der Herausforderung stand, eine Vielzahl von eBay-spezifischen Diensten zu orchestrieren und I/O-gebundene Vorgänge durchzuführen, zeigten sich Schwierigkeiten. Obwohl diese Dienste auf der zugrunde liegenden Java-Infrastruktur liefen, stellte sich heraus, dass sie unerwartet hohe Ressourcen verbrauchten. Dies führte zu Bedenken hinsichtlich der Skalierbarkeit. Node.js stellte die Lösung für dieses Problem dar, was wiederum den Start weiterer Projekte markierte und die Integration von Node.js in den Technologie-Stack von eBay vorantrieb.6

ebay Logo
Abbildung 3: eBay Logo, Quelle 7

 

3. Effiziente Entwicklung und Nutzung von Synergien

Effiziente Softwareentwicklung bedeutet, Ressourcen effektiv zu nutzen und Synergien zu herzustellen. Dies führt zu beschleunigten Entwicklungsprozessen, geringeren Kosten und qualitativ hochwertigeren Produkten.
Auch PayPal hat diese Aspekte 2013 erkannt und dahingehend die ersten Schritte mit Node.js vorgenommen. Zuvor waren ihre Entwicklerteams klassisch in Backend (Java) und Frontend (HTML, CSS, JavaScript) unterteilt. PayPal nannte es „… die künstliche Grenze, die wir zwischen Browser und Server errichtet haben.“ 8 Node.js löste dieses Problem, indem es die Entwicklung sowohl im Frontend als auch im Backend mit JavaScript und die gemeinsame Nutzung von bereits erstelltem Code zwischen Frontend und Backend ermöglichte.
Innerhalb eines ersten Pilotprojekts entwickelten die Mitarbeiter die gleiche Anwendung in Java und Node.js. Sie verglichen die Ergebnisse und erkannten das Potenzial. Die Node.js Anwendung wurde mit weniger Entwicklern fast doppelt so schnell umgesetzt. Durch die gleiche Programmiersprache in Front- und Backend wurden etwa 33 % weniger Code und 40 % weniger Dateien benötigt.
Neben der effizienten Entwicklung wurde auch die Performance gesteigert. Die Anzahl der Anfragen, die pro Sekunde verarbeitet werden können, hat sich verdoppelt. Zudem wurde die durchschnittliche Antwortzeit des Servers um ca. 35 % verkürzt.
Bereits 2013 hatte PayPal angekündigt: „Alle unsere verbraucherorientierten Webanwendungen werden künftig auf Node.js basieren.“ 8

 

Node.js: PayPal Logo
Abbildung 4: PayPal Logo, Quelle 9

 

4. Eine Vielzahl gleichzeitiger offener Verbindungen

Dank seiner ereignisgesteuerten Architektur ist Node.js besonders geeignet, um zahlreiche parallele Verbindungen in Echtzeit-Webanwendungen, Chatsystemen und Streaming-Diensten effizient zu bewältigen. Es ermöglicht die gleichzeitige Kommunikation mit einer großen Anzahl von Clients.
Trello macht sich diese Eigenschaft bereits 2012 zunutze. Trello bietet eine Anwendung an, in der viele Clients gleichzeitig arbeiten können. Dadurch musste es möglich sein, Änderungen, die von einem Nutzer getätigt wurden, sofort an alle anderen Nutzer zu verteilen und zu aktualisieren. Für diesen Fall erwies sich die ereignisgesteuerte, nicht blockierende Architektur von Node.js als ideal. 10

Trello Logo
Abbildung 5: Trello Logo, Quelle 11

 

5. Große und aktive Entwicklergemeinschaft

Node.js hat eine der größten und aktivsten Entwicklergemeinschaften in der Open-Source-Welt. Dies bedeutet, dass ständige Verbesserungen, Aktualisierungen und zahlreiche Module verfügbar sind, um die Entwicklung zu erleichtern.
Npm 12 ist hierfür eine der beliebtesten Anlaufstellen, um Open Source Packages zu finden. Auch einige der Big Player wie PayPal 13 oder eBay 14 teilen ihre erstellten Tools und Packages als Open Source Projekte, um der Node.js Community etwas zurückzugeben.

 

Node.js: npm Logo
Abbildung 6: npm Logo, Quelle 15

 

Weitere Big Player und Vorteile von Node.js

Abgesehen von den genannten Eigenschaften bietet Node.js viele weitere Vorteile, darunter Zero-Downtime, Recovery und Self-Healing, die Verarbeitung von Echtzeitdaten und vieles mehr. Zahlreiche andere große Unternehmen wie Uber, LinkedIn, Mozilla, Walmart, die NASA und viele andere setzen ebenfalls auf die Vorteile und Eigenschaften von Node.js. Eine detaillierte Erläuterung dieser Punkte würde jedoch den Umfang an dieser Stelle überschreiten.

 

Fazit

Node.js hat sich zu einer entscheidenden Technologie für führende Technologieunternehmen entwickelt, die auf schnelle, skalierbare und effiziente Webanwendungen angewiesen sind. Dank seiner einzigartigen Architektur und einer aktiven Entwicklergemeinschaft hat es die Branche nachhaltig verändert. Unternehmen, die auf Node.js setzen, profitieren von beschleunigten Anwendungen, verbesserter Skalierbarkeit und der Fähigkeit zur Echtzeitkommunikation.
Node.js wird zweifellos weiterhin eine Schlüsselrolle in der Entwicklung moderner Webanwendungen spielen und den Anforderungen der Big Player gerecht werden. Es ist eine Technologie, die den Weg für zukünftige Innovationen in der Webentwicklung ebnet.

„Wir, als doubleSlash, bieten Node.js als Teil unseres Leistungsangebots an. Mit dieser fortschrittlichen Technologie entwickeln wir unter Ausnutzung all ihrer Vorteile innovative Lösungen für unsere Kunden und helfen Ihnen, Ihr digitales Potenzial voll auszuschöpfen.“

 


[1] https://de.wikipedia.org/wiki/Datei:Node.js_logo.svg ^

[2] https://netflixtechblog.com/making-netflix-com-faster-f95d15f2e972 ^

[3] https://netflixtechblog.com/tagged/nodejs ^

[4] https://de.wikipedia.org/wiki/Netflix#/media/Datei:Netflix_2015_logo.svg ^

[5] https://tech.ebayinc.com/engineering/how-we-built-ebays-first-node-js-application/ ^

[6] https://www.ebayinc.com/stories/news/node-js-an-open-source-tool-driving-innovative-development-at-ebay/ ^

[7] https://de.wikipedia.org/wiki/EBay#/media/Datei:EBay_logo.svg ^

[8] https://medium.com/paypal-tech/node-js-at-paypal-4e2d1d08ce4f ^

[9] https://de.wikipedia.org/wiki/PayPal#/media/Datei:PayPal_2023_logo.svg ^

[10] https://blog.trello.com/the-trello-tech-stack ^

[11] https://de.m.wikipedia.org/wiki/Datei:Trello-logo-blue.svg ^

[12] https://www.npmjs.com/ ^

[13] http://paypal.github.io/ ^

[14] https://www.npmjs.com/package/lasso ^

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*