L’avenir de NGINX : renouer avec nos racines open source

NGINX | 23 août 2022

Le temps passe vite quand on s’amuse. Il est donc difficile de croire que NGINX a déjà 18 ans. Avec le recul, la communauté et l’entreprise ont accompli beaucoup de choses ensemble. Nous avons récemment franchi une étape majeure : à l’heure où nous écrivons ces lignes, 55,6 % de tous les sites web utilisent NGINX (soit directement grâce à notre logiciel, soit par l’intermédiaire de produits conçus sur la base de NGINX). Nous sommes également le premier serveur web en termes de parts de marché. Nous en sommes très fiers et vous remercions, vous, la communauté NGINX, de nous avoir accordé cette marque de confiance sans équivoque.

Nous constatons également, de plus en plus, que les logiciels open source continuent de changer le monde. Une part toujours plus importante des applications est conçue à partir de code open source. Des terminaux et actualités Bloomberg au Washington Post, en passant par Slack, Airbnb, Instagram et Spotify, des milliers de marques et de sites parmi les plus connus au monde s’appuient sur NGINX Open Source pour faire fonctionner leurs sites web. Dans ma propre vie – entre Zoom pour les réunions de travail et Netflix le soir – je passe probablement 80 % de ma journée à utiliser des applications conçues sur la base de NGINX.

Image portant le texte « Les logiciels open source ont changé le monde », accompagnée des logos de grands projets open source

NGINX n’est qu’un des éléments de la réussite de l’open source. Nous ne pourrions pas bâtir le monde numérique — et, de plus en plus, contrôler et gérer le monde physique — sans tous ces formidables projets open source, de Kubernetes et des conteneurs à Python et PyTorch, en passant par WordPress, Postgres et Node.js. L’open source a changé notre façon de travailler. Plus de 73 millions de développeurs sont présents sur GitHub et ont collectivement fusionné plus de 170 millions de demandes de tirage (pull requests ou PR). Une très grande partie de ces PR concernait des dépôts de code sous licence open source.

Nous sommes ravis que NGINX ait joué un rôle aussi fondamental dans l’essor et le succès de l’open source, et nous entendons à la fois poursuivre sur cette lancée et contribuer à notre tour. Dans le même temps, nous devons réfléchir à notre travail dans le domaine de l’open source et nous adapter à l’évolution constante du mouvement. Les modèles économiques des entreprises qui tirent profit de l’open source ont parfois suscité la controverse. C’est pourquoi NGINX s’est toujours efforcé d’établir une distinction très claire entre ce qui relève de l’open source et ce qui est commercial. Surtout, cela signifiait ne jamais, au grand jamais, chercher à faire payer des fonctionnalités ou des capacités que nous avions intégrées aux versions open source de nos logiciels.

L’open source évolue rapidement. NGINX aussi.

Nous sommes désormais conscients que nous devons réfléchir sérieusement à notre engagement en faveur de l’open source, enrichir nos produits open source en leur apportant davantage de valeur et de fonctionnalités et, oui, redoubler également d’efforts dans le domaine commercial. Nous ne pouvons pas continuer à facturer les mêmes fonctionnalités que par le passé, car le monde a changé : certaines fonctionnalités réservées à nos produits commerciaux sont désormais considérées comme indispensables par les développeurs open source. Nous savons également que la sécurité des logiciels open source est une préoccupation majeure pour les développeurs. C’est pourquoi nos projets open source doivent être tout aussi sécurisés que nos produits commerciaux.

Nous devons également regarder la réalité en face. En interne, nous avions l’habitude d’affirmer que l’open source n’était pas vraiment prêt pour la production, faute de fonctionnalités ou d’évolutivité. Depuis quelque temps déjà, les faits nous donnent tort sur ce point : plusieurs milliers d’organisations utilisent les logiciels open source NGINX dans des environnements de production. Et c’est une bonne chose, car cela montre à quel point elles croient en nos versions open source. Nous pouvons nous appuyer sur cette confiance.

En fait, c’est précisément ce que nous faisons en permanence avec nos produits phares. À ceux qui affirment que la gamme de produits NGINX d’origine commence à dater, je réponds qu’ils n’ont pas suivi de près ce que nous faisons :

  • Pour le logiciel NGINX Open Source de base, nous continuons d’ajouter de nouvelles fonctionnalités et de prendre en charge davantage de plateformes de systèmes d’exploitation. Deux technologies essentielles à la sécurité et à l’évolutivité des applications web et du trafic, « HTTP3 et QUIC », seront intégrées à la prochaine version que nous publierons.
  • Un domaine discret mais incroyablement innovant de l’univers NGINX est NGINX JavaScript (njs), qui permet aux développeurs d’intégrer du code JavaScript au modèle de traitement des événements des modules HTTP et TCP/UDP (Stream) de NGINX, et d’étendre la syntaxe de configuration de NGINX afin de mettre en œuvre des fonctionnalités sophistiquées. Nos utilisateurs ont réalisé des choses assez remarquables, allant de méthodes innovantes de purge du cache et de manipulation des en-têtes à la prise en charge de protocoles plus avancés comme MQTTv5.
  • Notre serveur universel d’applications web, NGINX Unit, a été imaginé par l’auteur original de NGINX Open Source, Igor Sysoev, et continue d’évoluer. Unit occupe une place importante dans notre vision des applications modernes et d’une pile applicative moderne qui va bien au-delà de notre priorité principale, à savoir le plan de données et la sécurité. À mesure que nous développons Unit, nous repensons l’architecture des applications pour l’adapter à l’évolution du Web, en y intégrant davantage de fonctionnalités cloud-native 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 à explorer de nouvelles façons d’aider notre communauté principale de développeurs à déployer des applications modernes plus facilement et plus efficacement. L’année dernière, lors de Sprint 2.0, nous avons annoncé la NGINX Modern Apps Reference Architecture (MARA), et je suis heureux d’annoncer qu’elle est récemment devenue disponible pour tous en version 1.0.0. MARA est un ensemble d’outils soigneusement sélectionnés et configurés selon une approche bien définie, notamment Kubernetes, que nous avons intégrés afin de faciliter le déploiement de l’infrastructure et de l’architecture applicative sous forme de code. En quelques clics, vous pouvez configurer et déployer une architecture de référence MARA intégrant tout ce dont vous avez besoin pour créer un environnement cloud natif adapté à la production : sécurité, journalisation, réseau, serveur d’applications, gestion de la configuration et des fichiers YAML, et bien plus encore.

Schéma illustrant la topologie de l’architecture de référence NGINX pour les applications modernes

MARA est une architecture modulaire, et ce, par conception. Vous pouvez choisir votre propre voie 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 noué des partenariats avec plusieurs entreprises technologiques innovantes autour de MARA. Sumo Logic a apporté à MARA son expertise en matière de journalisation, tandis que Pulumi a fourni des modules d’automatisation et d’orchestration des workflows. Nous espérons qu’avec MARA, n’importe quel développeur pourra mettre en place un environnement Kubernetes complet en quelques minutes, avec tous les composants nécessaires, sécurisé et prêt pour le déploiement d’applications. Ce n’est qu’un exemple de la manière dont nous pouvons, à mon sens, unir nos forces pour faire progresser une initiative majeure dans le secteur.

L’avenir de NGINX : moderniser, optimiser, étendre

Chaque année, à l’occasion de NGINX Sprint, notre conférence virtuelle destinée aux utilisateurs, nous prenons de nouveaux engagements pour l’année à venir. Cette année ne fait pas exception. Nos promesses pour les douze prochains mois se résument en trois mots : moderniser, optimiser et étendre. Nous tenons à ce qu’il ne s’agisse pas de simples mots à la mode dans le monde des affaires : nous avons prévu des programmes ambitieux pour chacun de ces engagements et nous comptons sur vous pour veiller à ce que nous tenions nos promesses.

Promesse n° 1 : moderniser notre approche, notre présence et notre gestion de la communauté

De toute évidence, nous modernisons rapidement notre code et lançons de nouveaux produits et projets. Mais la modernisation ne concerne pas uniquement le code : elle englobe également la gestion du code, la transparence des prises de décision et notre présence au sein de la communauté. Bien qu’historiquement, le code source de NGINX Open Source ait été géré à l’aide du système de contrôle de version Mercurial, nous sommes conscients que le monde de l’open source se trouve désormais sur GitHub. À l’avenir, tous les projets NGINX verront le jour et seront hébergés sur GitHub, car c’est là que travaillent les communautés des développeurs et de l’open source.

Nous allons également moderniser la gouvernance et la gestion des 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 propres aux projets open source modernes et remanierons notre présence sur GitHub, en ajoutant des codes de conduite à tous nos projets et en accordant une attention particulière aux retours de la communauté. Dans le cadre de cet engagement en faveur de la modernisation, nous créons un canal NGINX Community sur Slack. Nos propres experts y seront présents pour répondre à vos questions. Et vous, membres de la communauté, pourrez également vous entraider, dans l’outil de messagerie que vous utilisez déjà au quotidien dans votre travail.

Promesse n° 2 : optimiser l’expérience de nos développeurs

Les développeurs sont nos principaux utilisateurs. Ce sont eux qui conçoivent et créent les applications qui ont fait de nous ce que nous sommes aujourd’hui. La facilité d’utilisation de NGINX a toujours été l’un de nos principes fondamentaux. Et c’est globalement vrai : l’installation, le lancement et la configuration de NGINX ne prennent pas plusieurs jours. Cela dit, nous pouvons faire mieux. Nous pouvons accélérer le délai de rentabilisation de nos produits pour les développeurs en réduisant la courbe d’apprentissage et en simplifiant le processus de configuration. Par « valeur », j’entends le déploiement en production d’un code qui apporte une réelle valeur ajoutée, tout simplement. Nous allons repenser notre expérience développeur en simplifiant l’installation, en améliorant notre documentation et en enrichissant et renforçant nos forums communautaires.

Nous allons également lancer une nouvelle offre SaaS qui s’intègre nativement à NGINX Open Source et vous permettra d’en tirer parti en quelques secondes. Il n’y aura ni inscription, ni accès restreint, ni péage. Ce SaaS sera gratuit pour toujours.

En outre, nous sommes conscients que de nombreuses fonctionnalités essentielles, désormais considérées comme indispensables par les développeurs, sont réservées à tort aux offres payantes de NGINX Open Source et NGINX Plus. Par exemple, la découverte de services DNS est essentielle aux applications modernes. Nous nous engageons à rendre ces fonctionnalités essentielles gratuites en les intégrant à NGINX Open Source. Nous n’avons pas encore déterminé toutes les fonctionnalités à transférer et nous souhaitons connaître votre avis. Dites-nous comment améliorer votre expérience en tant que développeurs. Nous sommes à votre écoute.

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

Malgré la popularité actuelle de NGINX, nous savons que nous devons continuer à nous améliorer si nous voulons rester tout aussi pertinents dans dix ans. Notre objectif ambitieux est le suivant : créer une pile complète d’applications NGINX et de fonctionnalités complémentaires permettant de gérer et d’exploiter des applications modernes à grande échelle.

À ce jour, NGINX a principalement été utilisé comme plan de données de couche 7. Mais pour le faire fonctionner, les développeurs doivent mettre en place toute une infrastructure autour de NGINX. Il faut intégrer des fonctionnalités d’automatisation et de CI/CD, configurer une journalisation appropriée, ajouter l’authentification et la gestion des certificats, entre autres. Nous voulons proposer une extension de NGINX nettement plus aboutie, dans laquelle chaque exigence majeure liée au test et au déploiement d’une application est satisfaite par un ou plusieurs composants open source de haute qualité qui s’intègrent parfaitement à NGINX. En bref, nous voulons apporter de la valeur à chaque couche de la pile et la rendre accessible gratuitement. Par exemple, si vous utilisez NGINX Open Source ou NGINX Plus comme passerelle d’API, nous voulons nous assurer que vous disposez de tout ce dont vous avez besoin pour gérer et faire évoluer ce cas d’usage : importation d’API, découverte de services, pare-feu, règles de stratégie et sécurité, le tout sous la forme de solutions open source de haute qualité.

En résumé, notre rêve est de créer autour de NGINX un écosystème qui couvre tous les aspects de la gestion et du déploiement des applications. MARA constitue la première étape de la création de cet écosystème, et nous souhaitons continuer à attirer des partenaires. Mon objectif est que, d’ici fin 2022, une application entièrement préconfigurée puisse être lancée et exécutée en quelques minutes dans un environnement NGINX, avec un éventail complet de fonctionnalités – traçage distribué, journalisation, mise à l’échelle automatique, sécurité, intégrations CI/CD – toutes prêtes à remplir leur rôle.

Présentation de Kubernetes API Gateway, d’un tout nouvel Amplify et de NGINX Agent

Nous nous engageons à tenir tous ces engagements. Et voici trois premières concrétisations de 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. Cette initiative modernise notre gamme de produits et nous permet de suivre l’évolution constante des technologies cloud natives. NGINX Kubernetes Gateway constitue également une sorte de rameau d’olivier que nous tendons à la communauté. Nous sommes conscients d’avoir compliqué les choses en créant à la fois un contrôleur Ingress commercial et un contrôleur Ingress open source pour Kubernetes, tous deux différents de la solution Ingress de la communauté (elle aussi basée sur NGINX). Cet éventail de choix a semé la confusion au sein de la communauté et nous a placés dans une position délicate. Il est désormais assez clair que l’API Gateway va remplacer le contrôleur Ingress dans l’architecture Kubernetes. Nous changeons donc d’approche et ferons de NGINX Kubernetes Gateway — qui sera proposé exclusivement en open source — le point central de nos efforts en matière de mise en réseau Kubernetes, en phase avec l’évolution de la norme. Il s’intégrera à d’autres produits NGINX, en étendra les fonctionnalités et optimisera 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 parcs NGINX. Nous ne l’avons pas vraiment beaucoup fait connaître. Pourtant, des milliers de développeurs l’ont découverte et l’utilisent encore aujourd’hui. Amplify était et reste gratuit. Dans le cadre de notre engagement en faveur de la modernisation, nous ajoutons une multitude de nouvelles fonctionnalités à Amplify. Notre objectif est d’en faire votre copilote de confiance pour déployer, superviser et gérer en temps réel des produits NGINX à grande échelle. Amplify ne se contentera pas de surveiller vos instances NGINX : il vous aidera également à configurer vos déploiements NGINX, à leur appliquer des scripts et à résoudre les problèmes.
  3. Nous lançons NGINX Agent, une application légère que vous déployez aux côtés de vos instances NGINX Open Source. Elle intégrera des fonctionnalités auparavant réservées aux produits commerciaux, comme l’API de configuration dynamique. Avec NGINX Agent, vous pourrez utiliser NGINX Open Source dans bien plus de cas d’usage et avec une flexibilité nettement accrue. Elle proposera également des contrôles beaucoup plus précis, que vous pourrez utiliser pour étendre vos applications et votre infrastructure. Agent vous aide à prendre des décisions plus éclairées concernant la gestion, le déploiement et la configuration de NGINX. Nous travaillons activement sur NGINX Agent : surveillez notre blog au cours des prochains mois pour connaître sa date de disponibilité !

Perspectives d’avenir

Dans un an, j’espère que vous me demanderez où en sont ces promesses. Si je ne peux pas faire état de progrès concrets sur les trois, alors demandez-moi des comptes. Et sachez-le : nous sommes mobilisés et prêts à échanger avec vous tous. Vous êtes notre meilleure feuille de route produit. Merci de répondre à notre enquête annuelle. Rejoignez le Slack de la communauté NGINX et dites-nous ce que vous en pensez. Commentez les projets et soumettez des pull requests sur notre dépôt GitHub.

Cette année s’annonce exceptionnelle, la meilleure de toutes. Nous avons hâte d’avoir davantage de vos nouvelles et vous pouvez compter sur nous pour vous en donner davantage. Aidez-nous à mieux vous aider. Cette année s’annonce exceptionnelle, la meilleure de toutes. Nous avons hâte d’avoir davantage de vos nouvelles et vous pouvez compter sur nous pour vous en donner davantage.


Partager

À propos de l’auteur

Rob Whiteley
Rob WhiteleyDirecteur général du groupe de produits NGINX

Autres articles de Rob Whiteley

Articles de blog associés

Tendances actuelles des technologies cloud natives, de l’ingénierie de plateforme et de l’IA
NGINX | 13/10/2025

Tendances actuelles des technologies cloud natives, de l’ingénierie de plateforme et de l’IA

Découvrez les principaux enseignements tirés des réponses à l’enquête annuelle F5 NGINX sur les dernières tendances en matière de technologies cloud natives, de sécurité, d’ingénierie de plateforme et d’IA.

Quels contrôleurs Ingress NGINX sont affectés par les vulnérabilités CVE-2022-4886, CVE-2023-5043 et CVE-2023-5044 ?
NGINX | 03/11/2023

Quels contrôleurs Ingress NGINX sont affectés par les vulnérabilités CVE-2022-4886, CVE-2023-5043 et CVE-2023-5044 ?

Lorsque de nouvelles CVE sont signalées, il est facile de ne plus savoir si elles concernent un outil de contrôleur Ingress NGINX particulier, car il existe plusieurs projets. Cet article présente les CVE et explique comment distinguer les différents projets de contrôleurs Ingress afin de dissiper toute confusion.

Votre API est-elle en temps réel ? Testez sa latence avec l’outil rtapi de NGINX
NGINX | 11/03/2020

Votre API est-elle en temps réel ? Testez sa latence avec l’outil rtapi de NGINX

Votre API répond-elle aux requêtes en moins de 30 ms ? Si ce n’est pas le cas, il ne s’agit pas d’une API en temps réel offrant la faible latence exigée par la grande majorité des organisations. Mesurez la latence de votre API avec l’outil rtapi de NGINX et découvrez comment NGINX peut l’aider à offrir une réactivité en temps réel.

Un testeur d’expressions régulières pour NGINX et NGINX Plus
NGINX | 11/06/2019

Un testeur d’expressions régulières pour NGINX et NGINX Plus

Le testeur d’expressions régulières (regex) pour NGINX et NGINX Plus vous évite de tâtonner en vous indiquant si une expression régulière utilisée dans un bloc location ou map correspond aux valeurs comme prévu. Il génère la configuration appropriée et affiche les valeurs des groupes de capture.

Caches partagés avec les clusters de cache NGINX Plus, partie 1
NGINX | 24/01/2017

Caches partagés avec les clusters de cache NGINX Plus, partie 1

Optimisez la capacité de votre cache web en le répartissant entre plusieurs serveurs de cache web NGINX ou NGINX Plus. Découvrez comment procéder dans cet article.

Introduction aux microservices
NGINX | 19/05/2015

Introduction aux microservices

Les microservices suscitent actuellement beaucoup d’intérêt. Cet article de blog est le premier d’une série de sept consacrée à la conception, au développement et au déploiement de microservices.