BLOG | NGINX

L'avenir de NGINX : Retour à nos racines Open Source

NGINX-Partie-de-F5-horiz-black-type-RGB
Miniature de Rob Whiteley
Rob Whiteley
Publié le 23 août 2022

Le temps passe vite quand on s'amuse. Il est donc difficile de croire que NGINX a maintenant 18 ans. Avec le recul, la communauté et l’entreprise ont accompli beaucoup de choses ensemble. Nous avons récemment franchi une étape importante : au moment où nous écrivons ces lignes, 55,6 % de tous les sites Web sont alimentés par NGINX (soit par notre propre logiciel, soit par des produits construits sur NGINX). Nous sommes également le serveur Web numéro un en termes de part de marché. Nous en sommes très fiers et reconnaissants que vous, la communauté NGINX, nous ayez accordé ce vote de confiance retentissant.

Nous constatons de plus en plus que le logiciel libre continue à transformer le monde. Une part toujours croissante des applications s'appuie sur du code source ouvert. Des terminaux Bloomberg et du Washington Post à Slack, Airbnb, Instagram ou Spotify, des milliers des marques les plus emblématiques s’appuient sur NGINX Open Source pour leurs sites web. Dans ma vie personnelle – entre Zoom pour les réunions de travail et Netflix le soir – j’utilise probablement 80 % de mon temps des applications bâties sur NGINX.

NGINX n'est qu'un moteur parmi le succès retentissant de l'open source. Nous ne pourrions pas façonner le monde numérique – ni de plus en plus maîtriser et gérer le monde physique – sans la multitude de projets open source remarquables, de Kubernetes et des conteneurs à Python et PyTorch, en passant par WordPress, Postgres et Node.js. L'open source transforme notre manière de travailler. Plus de 73 millions de développeurs sur GitHub ont fusionné collectivement plus de 170 millions de pull requests (PR). Une part majeure de ces PR concerne des dépôts de code sous licences open source.

Nous sommes fiers que NGINX ait joué un rôle essentiel dans l’essor et le succès du logiciel libre – et nous continuerons à le soutenir tout en transmettant cet héritage. Nous devons aussi réfléchir à notre travail sur le logiciel libre et nous adapter à l’évolution constante de ce mouvement. Les modèles économiques des entreprises tirant profit du logiciel libre suscitent parfois des débats. C’est pourquoi NGINX a toujours veillé à distinguer clairement ce qui relève du logiciel libre et ce qui est commercial. Surtout, nous ne facturons jamais de fonctionnalités ou de capacités présentes dans les versions open source de nos logiciels.

L'Open Source évolue rapidement. NGINX évolue également.

Nous réalisons maintenant qu’il faut repenser notre engagement envers l’open source, enrichir nos produits open source avec plus de valeur et de fonctionnalités, et bien sûr, renforcer notre présence sur le marché commercial. Nous ne pouvons pas continuer à facturer les mêmes éléments qu’avant, car le monde a évolué – certaines fonctionnalités auparavant réservées à nos produits commerciaux sont désormais indispensables pour les développeurs open source. Nous savons aussi que la sécurité dans l’open source est une préoccupation centrale pour les développeurs. C’est pourquoi nos projets open source doivent offrir un niveau de sécurité équivalent à celui de nos produits commerciaux.

Nous devons aussi faire face à la réalité. En interne, nous avions tendance à dire que le logiciel libre n’était pas vraiment adapté à la production, faute de fonctionnalités ou d’évolutivité. Pourtant, le monde nous prouve depuis longtemps le contraire : des milliers d’organisations exploitent du logiciel libre NGINX en environnement de production. C’est un signe fort, qui témoigne de la confiance qu’elles accordent à nos versions open source. Nous pouvons construire dessus.

En fait, nous le faisons constamment avec nos produits phares. À ceux qui disent que la famille de produits NGINX originale a vieilli, je réponds que vous ne nous avez pas surveillés de près :

  • Pour le logiciel Open Source NGINX de base, nous continuons d'ajouter de nouvelles fonctionnalités et de prendre en charge davantage de plates-formes de systèmes d'exploitation. Deux fonctionnalités essentielles pour la sécurité et l'évolutivité des applications Web et du trafic, HTTP3 et QUIC , seront intégrées dans la prochaine version que nous livrerons.
  • Un coin discret mais incroyablement innovant de l'univers NGINX est NGINX JavaScript (njs) , qui permet aux développeurs d'intégrer du code JavaScript dans le modèle de traitement d'événements des modules NGINX HTTP et TCP/UDP (Stream) et d'étendre la syntaxe de configuration NGINX pour implémenter des fonctionnalités sophistiquées. Nos utilisateurs ont fait des choses assez étonnantes, allant de la purge innovante du cache et des manipulations d'en-têtes à la prise en charge de protocoles plus avancés comme MQTTv5.
  • Notre serveur d'applications Web universel, NGINX Unit , a été conçu par l'auteur original de NGINX Open Source, Igor Sysoev , et il continue d'évoluer. L'unité occupe une place importante dans notre vision des applications modernes et d'une pile d'applications moderne qui va bien au-delà de notre objectif principal sur le plan des données et la sécurité. À mesure que nous développons Unit, nous repensons la manière dont les applications doivent être conçues pour l’évolution du Web, avec davantage de fonctionnalités natives du cloud et conçues pour les applications distribuées et hautement dynamiques.

L'architecture de référence des applications modernes

Nous souhaitons continuer à expérimenter et à faire progresser les moyens d’aider notre groupe de développeurs principaux à déployer plus efficacement et plus facilement des applications modernes. L'année dernière, lors du Sprint 2.0, nous avons annoncé l' architecture de référence des applications modernes NGINX (MARA), et je suis heureux d'annoncer qu'elle est récemment entrée en disponibilité générale en tant que version 1.0.0 . MARA est une pile d'outils organisée et avisée, incluant Kubernetes, que nous avons connectée pour faciliter le déploiement de l'infrastructure et de l'architecture d'application sous forme de code. En quelques clics, vous pouvez configurer et déployer une architecture de référence MARA intégrée à tout ce dont vous avez besoin pour créer un environnement cloud natif de qualité production : sécurité, journalisation, mise en réseau, serveur d'applications, configuration et gestion YAML, et bien plus encore.

Diagramme montrant la topologie de l'architecture de référence des applications modernes NGINX

MARA est une architecture modulaire, et ce par conception. Vous pouvez choisir votre propre aventure et concevoir à partir des modules existants une architecture de référence personnalisée capable d'exécuter réellement des applications. La communauté a soutenu notre idée et nous avons établi des partenariats avec un certain nombre d’entreprises technologiques innovantes sur MARA. Sumo Logic a ajouté ses compétences de journalisation à MARA et Pulumi a contribué avec des modules d'automatisation et d'orchestration de flux de travail. Nous espérons qu’avec MARA, tout développeur pourra mettre en place et exécuter un environnement Kubernetes complet en quelques minutes, avec tous les éléments de support, sécurisé et prêt pour le déploiement d’applications. Ce n’est qu’un exemple de la manière dont je pense que nous pouvons tous mettre notre énergie collective pour faire avancer une grande initiative dans l’industrie.

L'avenir de NGINX : Moderniser, optimiser, étendre

Chaque année, lors de NGINX Sprint, notre conférence virtuelle d’utilisateurs, nous prenons de nouveaux engagements pour l’année à venir. Cette année n’est pas différente. Nos promesses pour les douze prochains mois peuvent être résumées en trois mots : moderniser , optimiser et étendre . Nous souhaitons nous assurer qu’il ne s’agit pas simplement de mots à la mode dans le monde des affaires ; nous avons des programmes substantiels pour chacun d’entre eux et nous voulons que vous nous demandiez de tenir nos promesses.

Promesse n°1 : Moderniser notre approche, notre présence et notre gestion communautaire

Nous modernisons rapidement notre code et lançons de nouveaux produits et projets. La modernisation ne se limite pas au code : elle inclut aussi la gestion du code, la transparence des décisions, et notre engagement dans la communauté. Alors qu’historiquement le code source de NGINX utilisait Mercurial pour le contrôle de version, nous savons que le monde open source s’est largement déplacé sur GitHub. Dorénavant, tous les projets NGINX naîtront et seront hébergés sur GitHub, car c’est là que travaillent les développeurs et la communauté open source.

Nous allons aussi moderniser notre manière de gouverner et de gérer les projets NGINX. Nous nous engageons à être plus ouverts aux contributions, plus transparents dans notre gestion et plus accessibles à la communauté. Nous respecterons toutes les conventions actuelles du logiciel libre et reconstruirons notre présence sur GitHub, en ajoutant un Code de Conduite à tous nos projets, tout en restant à l’écoute des retours de la communauté. Dans ce cadre, nous créons un canal communautaire NGINX sur Slack. Nous y déploierons nos experts pour répondre à vos questions. Et vous, la communauté, pourrez également vous entraider – dans l’outil de messagerie que vous utilisez déjà chaque jour.

Promesse n°2 : Optimiser notre expérience de développeur

Les développeurs sont nos principaux utilisateurs. Ils construisent et créent les applications qui ont fait de nous ce que nous sommes. Notre principe a toujours été que NGINX est facile à utiliser. Et c’est fondamentalement vrai – NGINX ne prend pas des jours à installer, à lancer et à configurer. Cela dit, nous pouvons faire mieux. Nous pouvons accélérer le « délai de rentabilisation » dont bénéficient les développeurs sur nos produits en raccourcissant la courbe d’apprentissage et en simplifiant le processus de configuration. Par « valeur », j’entends déployer du code qui fait quelque chose de vraiment précieux, en production, point final. Nous allons réorganiser notre expérience de développeur en simplifiant l'expérience d'installation, en améliorant notre documentation et en ajoutant de la couverture et du poids à nos forums communautaires.

Nous allons également lancer une nouvelle offre SaaS qui s'intègre nativement à NGINX Open Source et vous aidera à la rendre utile et précieuse en quelques secondes. Il n'y aura pas d'inscription, pas de portail, pas de paywall. Ce SaaS sera gratuit à utiliser, pour toujours.

De plus, nous reconnaissons que de nombreuses fonctionnalités critiques que les développeurs considèrent désormais comme des enjeux de base se trouvent du mauvais côté du mur payant pour NGINX Open Source et NGINX Plus. Par exemple, la découverte du service DNS est essentielle pour les applications modernes. Notre promesse est de rendre ces fonctionnalités critiques gratuites en les ajoutant à NGINX Open Source. Nous n'avons pas encore décidé de toutes les fonctionnalités à déplacer et nous souhaitons votre avis . Dites-nous comment optimiser votre expérience en tant que développeurs. Nous écoutons.

Promesse n°3 : Étendez la puissance et les capacités de NGINX

Aussi populaire que soit NGINX aujourd’hui, nous savons que nous devons continuer à nous améliorer si nous voulons être tout aussi pertinents dans dix ans. Notre objectif ambitieux est le suivant : nous voulons créer une pile complète d’applications NGINX et des capacités de support pour la gestion et l’exploitation d’applications modernes à grande échelle.

Jusqu’à présent, NGINX a surtout servi de plan de données Layer 7. Mais vous devez mettre en place beaucoup d’infrastructures autour de NGINX pour le faire fonctionner correctement. Vous devez connecter l’automatisation, les capacités CI/CD, configurer une journalisation adaptée, ajouter l’authentification et la gestion des certificats, et plus encore. Nous voulons créer une extension bien meilleure de NGINX où chaque besoin essentiel pour tester et déployer une application est couvert par un ou plusieurs composants open source de haute qualité qui s’intègrent parfaitement à NGINX. En somme, nous voulons vous apporter de la valeur à chaque couche de la pile tout en la rendant gratuite. Par exemple, si vous utilisez NGINX Open Source ou NGINX Plus comme passerelle API, nous voulons vous garantir que vous disposez de tout ce qu’il faut pour gérer et faire évoluer ce cas d’usage – import d’API, découverte de services, pare-feu virtuel, règles de politique et sécurité – le tout proposé sous forme d’options open source de haute qualité.

Pour résumer, notre rêve est de construire un écosystème autour de NGINX qui s’étend à toutes les facettes de la gestion et du déploiement des applications. MARA est la première étape dans la construction de cet écosystème et nous souhaitons continuer à attirer des partenaires. Mon objectif est de voir, d’ici la fin de l’année 2022, une application entièrement pré-câblée être lancée et exécutée en quelques minutes dans un environnement NGINX, équipée d’un ensemble complet de fonctionnalités (traçage distribué, journalisation, mise à l’échelle automatique, sécurité, hooks CI/CD) qui sont toutes prêtes à faire leur travail.

Présentation de Kubernetes API Gateway, d'un tout nouveau Amplify et de l'agent NGINX

Nous nous engageons à tout cela. Et voici trois acomptes sur mes trois promesses.

  1. Plus tôt cette année, nous avons lancé NGINX Kubernetes Gateway<.htmla>, basé sur l’architecture de référence du SIG Kubernetes API Gateway. Cela modernise notre gamme de produits et nous aligne sur l’évolution constante du cloud natif. NGINX Kubernetes Gateway est aussi un geste d’ouverture que nous adressons à la communauté. Nous savons que la création simultanée d’un contrôleur Ingress commercial et d’un contrôleur open source pour Kubernetes, tous deux différents de la solution communautaire Ingress (également basée sur NGINX), a compliqué les choses. La diversité des options a semé la confusion dans la communauté et nui à notre position.

    Il est évident que l'API Gateway remplacera le contrôleur Ingress dans l'architecture Kubernetes. Nous modifions donc notre stratégie en faisant de la passerelle NGINX Kubernetes — disponible uniquement en logiciel libre — le cœur de nos efforts pour le réseau Kubernetes, en phase avec l'évolution de la norme. Elle s’intégrera aux autres produits NGINX et en étendra les fonctionnalités tout en améliorant l’expérience des développeurs sur Kubernetes.

  2. Il y a quelques années, nous avons lancé NGINX Amplify , une offre SaaS de surveillance et de télémétrie pour les flottes NGINX. Nous n'en avons pas vraiment fait beaucoup de publicité. Mais des milliers de développeurs l’ont trouvé et l’utilisent encore aujourd’hui. Amplify était et reste gratuit. Dans le cadre de notre engagement de modernisation, nous ajoutons une série de nouvelles fonctionnalités à Amplify. Notre objectif est d'en faire votre copilote de confiance pour surveiller et gérer les produits NGINX à grande échelle en temps réel. Amplify surveillera non seulement vos instances NGINX, mais vous aidera également à configurer, appliquer des scripts et dépanner les déploiements NGINX.
  3. Nous lançons NGINX Agent, une application légère que vous déployez avec les instances NGINX Open Source. Il inclura des fonctionnalités auparavant proposées uniquement dans les produits commerciaux, par exemple l'API de configuration dynamique. Avec NGINX Agent, vous pourrez utiliser NGINX Open Source dans de nombreux autres cas d'utilisation et avec une flexibilité bien plus grande. Il comprendra également des contrôles beaucoup plus granulaires que vous pourrez utiliser pour étendre vos applications et votre infrastructure. L'agent vous aide à prendre des décisions plus judicieuses concernant la gestion, le déploiement et la configuration de NGINX. Nous travaillons dur sur NGINX Agent – gardez un œil sur un article de blog qui sera publié dans les prochains mois pour annoncer sa disponibilité !

Regard vers l'avenir

J’espère que dans un an, vous me poserez des questions sur ces promesses. Si je ne peux pas faire état de réels progrès sur ces trois points, alors tenez-moi-en compte, s'il vous plaît. Et s’il vous plaît, comprenez bien que nous sommes engagés et prêts à discuter avec vous tous. Vous êtes notre meilleure feuille de route produit. Veuillez participer à notre sondage annuel . Rejoignez la communauté Slack NGINX et dites-nous ce que vous en pensez. Commentez et déposez des PR sur les projets de notre dépôt GitHub .

Ce sera une année formidable, la meilleure de tous les temps. Nous sommes impatients d'avoir de vos nouvelles et nous vous invitons à nous en faire part. Aidez-nous à vous aider. Ce sera une année formidable, la meilleure de tous les temps. Nous sommes impatients d'avoir de vos nouvelles et nous vous invitons à nous en faire part.


« Cet article de blog peut faire référence à des produits qui ne sont plus disponibles et/ou qui ne sont plus pris en charge. Pour obtenir les informations les plus récentes sur les produits et solutions F5 NGINX disponibles, explorez notre famille de produits NGINX . NGINX fait désormais partie de F5. Tous les liens NGINX.com précédents redirigeront vers un contenu NGINX similaire sur F5.com."