
Le cr�ateur de Node.js pense que les conteneurs JavaScript pourraient simplifier l'�criture des services Web
Ryan Dahl, cr�ateur de Node.js et de Deno (comme 'Node', mais � l'envers), a d�clar� r�cemment qu'il pensait que la majorit� des services Web pourraient �tre simplifi�s en utilisant des conteneurs JavaScript, plut�t que des conteneurs Linux. Pr�cis�ment, les d�veloppeurs de Deno, le nouvel environnement d'ex�cution pour JavaScript et TypeScript, explorent la possibilit� d'utiliser des conteneurs JavaScript comme une alternative de plus haut niveau aux conteneurs Linux. Dahl estime que le concept est prometteur, mais certains craignent que cela n'introduise d'autres probl�mes de s�curit� dans l'infrastructure des conteneurs.
Dans un billet de blogue publi� d�but mai, Ryan Dahl, qui a dirig� le d�veloppement des moteurs d'ex�cution JavaScript Deno (2018) et Node.js (2009), a expliqu� pourquoi il pensait que les conteneurs JavaScript pourraient �tre une meilleure alternative aux conteneurs Linux. En effet, la majorit� des programmes de serveur sont des programmes Linux. Ils consistent en un syst�me de fichiers, quelques fichiers ex�cutables, peut-�tre quelques biblioth�ques partag�es, qui s'interfacent avec des logiciels syst�me comme systemd ou nsswitch. Pour Dahl, l'utilisation des conteneurs Linux a surtout �t� popularis�e par Docker.
Docker propose une virtualisation au niveau du syst�me d'exploitation qui fournit un merveilleux m�canisme de distribution des logiciels de serveur. Chaque image de conteneur est un paquetage logiciel pr�t � �tre ex�cut� et sans d�pendance. Selon Dahl, �tant donn� que les logiciels de serveur d�pendent souvent de nombreuses ressources et configurations syst�me, leur d�ploiement �tait difficile par le pass�. Les conteneurs Linux ont alors r�solu ce probl�me. Cependant, Dahl estime qu'un environnement herm�tique similaire peut �tre trouv� dans le JavaScript du navigateur, bien qu'� un niveau d'abstraction plus �lev�.
� Plus nous pouvons supprimer les abstractions inutiles, plus nous pouvons nous rapprocher du concept de "Le r�seau est l'ordinateur". Deno Deploy est une nouvelle impl�mentation de cette id�e (sur le r�seau GCP) �, a-t-il expliqu�. Dans son billet de blogue, Dahl a qualifi� JavaScript de "langage de script universel" et a �mis des hypoth�ses sur l'�volution des conteneurs JavaScript au cours des deux prochaines ann�es. Pour lui, les langages de script sont tr�s utiles pour r�soudre de nombreux probl�mes c�t� serveur. La majorit� du code �crit n'est pas li� au calcul, mais plut�t � la productivit�.
C'est-�-dire la vitesse � laquelle il peut �tre �crit et le co�t mon�taire des d�veloppeurs. � Les langages de script permettent d'�crire la logique m�tier plus rapidement et � moindre co�t. Les langages de script (Python, Ruby, Lua, Shell, Perl, Smalltalk, JavaScript) sont assez similaires. Il existe des diff�rences dans la syntaxe et les API, mais il n'y a pas grand-chose d'autre � leur opposer. Quiconque a pass� du temps en Rust ou en C comprend ce que ressentent les langages de script. En r�sum�, les langages de script sont utiles, mais ils se ressemblent tous, et JavaScript est de loin le plus utilis� et le plus �volutif �, a d�clar� Dahl.
� Il est donc logique de consid�rer JavaScript comme le langage de script universel �, a-t-il ajout�. Selon le cr�ateur de Node.js, le conteneur JavaScript n'est pas destin� � traiter la m�me ampleur de probl�mes que les conteneurs Linux. Son �mergence est le r�sultat de sa simplicit�. Dahl estime qu'il r�duit au minimum le texte passe-partout de la logique commerciale des services Web. Il partage des concepts avec le navigateur et r�duit les concepts que le programmeur doit conna�tre. (Exemple : lors de l'�criture d'un service Web, il est tr�s probable que toute configuration systemd ne soit qu'un code passe-partout inutile.)
� Chaque ing�nieur Web conna�t d�j� les API du navigateur JavaScript. Comme l'abstraction du conteneur JavaScript est construite sur les m�mes API de navigateur, la quantit� totale d'exp�rience dont l'ing�nieur a besoin est r�duite. L'universalit� de JavaScript r�duit la complexit�. Shell est le langage de script interpr�t� utilis� pour invoquer des programmes Unix. Il peut faire des conditionnels, des boucles, il a des variables, mais il est malheureusement limit� et difficile � programmer. La vraie fonctionnalit� est rel�gu�e aux ex�cutables �, a d�clar� Dahl. Dans cette nouvelle couche d'abstraction de serveur, JavaScript prend la place de Shell.
� Il est bien mieux adapt� � la cr�ation de scripts que Bash ou Zsh. Au lieu d'invoquer des ex�cutables Linux, comme le fait Shell, le bac � sable de JavaScript peut invoquer Wasm. Si vous devez effectuer des calculs lourds, comme le redimensionnement d'une image, il est probablement plus judicieux d'utiliser Wasm plut�t que de l'�crire en JavaScript. Tout comme vous n'�crirez pas de code de redimensionnement d'image dans Bash, vous ferez appara�tre imagemagick �, a �crit Dahl. Pour finir, il admet avoir quelques erreurs avec Node.js, chose qu'il essaie d�sormais de corriger avec Deno.
� L'avenir des langages de script est le JavaScript du navigateur. L'erreur fondamentale de Node.js a �t� de s'�carter du navigateur au fur et � mesure que de nouvelles API �taient normalis�es, en inventant trop de choses. En 2010, nous n'avions pas de modules ES, mais une fois qu'ils ont �t� normalis�s, ils auraient d� �tre int�gr�s � Node. La m�me chose peut �tre dite pour les promises, async/await, fetch, streams, etc. �, a-t-il d�clar�. � Des �l�ments non standardis�s comme package.json, node_modules et NPM seront finalement soit standardis�s et ajout�s au navigateur, soit supplant�s par des remplacements align�s sur le Web �, a-t-il d�clar�.
En gros, le cr�ateur de Node.js de Deno pense que l'universalit� de JavaScript favorise l'�mergence d'une nouvelle abstraction de type conteneur. Les conteneurs Linux ne vont pas dispara�tre, mais penser en mati�re de conteneurs JavaScript pourrait simplifier de nombreux services Web. Dahl a d�clar� qu'il s'attendait � ce que la technologie des conteneurs JavaScript se d�veloppe au cours des deux prochaines ann�es. Deno explore cette id�e, notamment dans son produit Deno Deploy, et recrute actuellement des ing�nieurs pour la d�velopper.
Source : Ryan Dahl
Et vous ?




Voir aussi




Vous avez lu gratuitement 0 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer � vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer � vous proposer des publications.