Overslaan en naar de inhoud gaan

PayPal plukt vruchten van inruilen Java voor node.js

Bij PayPal was het praktijk om met twee ontwikkelteams te werken. Eén team bouwde de browsercode in HTML, CSS en JavaScript. En een tweede tem bouwde de serversoftware in Java. Geen ideale situatie, schrijft Jeff Harrel op PayPals Engineering-blog. "De voornaamste barrière bij PayPal is altijd de kunstmatige grens geweest die we hebben opgetrokken tussen browser en server."
Tech & Toekomst
Shutterstock
Shutterstock

Ervaringen met node.js als tool voor prototyping waren dermate gunstig dat PayPal besloot om het voor productiedoeleinden te testen. En dan niet voor de minste applicatie: PayPal koos daarvoor de klantoverzichtspagina. Dat is één van de drukst bezochte pagina's op zijn website. Een riskante keuze. Om die risico's te verminderen. besloot PayPal het project parallel ook op de traditionele manier, op basis van Java, uit te voeren. Daardoor kan het nu goed vergelijken wat de resultaten zijn.

Ontwikkelaars veel productiever

De verschillen liegen er niet om. Het project startte in januari, met het Java-gedeelte en 5 ontwikkelaars. Twee maanden later gingen twee van die ontwikkelaars met node.js aan het werk. Begin juni waren ze even ver. Via node.js is de betreffende applicatie dus bijna twee keer zo snel gerealiseerd met minder mensen, schrijft Harrel. Zijn beschrijving van het project suggereert dat het verschil nog groter is: 6 manmaanden voor het node.js-project versus 19 voor het Java-project. Daarnaast telde het node.js-product 33 procent minder regels code dan het Java-project, en waren er 40 procent minder bestanden bij gebouwd.

JavaSctript-applicatie presteert veel beter dan tegenhanger in Java

Op dat moment werd besloten om de applicatie af te bouwen in node.js. Maar de functionaliteit was al ver genoeg ontwikkeld om er tests mee te doen. Daarbij leek de node.js-applicatie ook nog eens beter te presteren dan de Java-applicatie. De node.js-variant handelde twee maal zoveel opvragingen per seconde af als de Java-applicatie, terwijl de eerste slechts één kern tot zijn schikking had en de tweede 5. En de responstijd lag bij de node.js-applicatie 35 procent lager, ofwel 200 milliseconde - "een verschil dat gebruikers zeker zullen merken", schrijft Harrel.

Harrel waarschuwt daarbij wel dat de prestatieverschillen in andere IT-infrastructuren en bij andere toepassingen niet in dezelfde orde van grootte hoeven te liggen. Maar de test van twee gelijkwaardige applicatie op dezelfde IT-infrastructuur laat onmiskenbaar zien dat er grote winst te boeken is met het inruilen van Java. PayPal gaat in ieder geval alle klantgerichte applicaties voortaan met node.js ontwikkelen.

Aanpak vraagt meer van software-ontwikkelaars

Harrel stipt ook nog een tweede probleempje aan: dat van de ontwikkelcompetenties. De ontwikkelaanpak die PayPal nu kiest vraagt om 'full-stack'-ontwikkelaars die een indrukwekkend gebruikersinterface kunnen bouwen met de achterliggende applicatie die voor de functionaliteit zorgt. 'Eenhoorns', noemt Harrel die - wat aangeeft dat ze in zijn ogen niet al te makkelijk te vinden zijn. Maar ondanks de uitdagingen zorgt de accentverschuiving richting node.js er ook voor dat de ontwikkelaars interessante tijden doormaken bij payPal, zegt Harrel verderop in zijn blog.


Gerelateerde artikelen
Gerelateerde artikelen

Reacties

Om een reactie achter te laten is een account vereist.

Inloggen Word abonnee

Bevestig jouw e-mailadres

We hebben de bevestigingsmail naar %email% gestuurd.

Geen bevestigingsmail ontvangen? Controleer je spam folder. Niet in de spam, klik dan hier om een account aan te maken.

Er is iets mis gegaan

Helaas konden we op dit moment geen account voor je aanmaken. Probeer het later nog eens.

Maak een gratis account aan en geniet van alle voordelen:

Heb je al een account? Log in

Maak een gratis account aan en geniet van alle voordelen:

Heb je al een account? Log in