BLOG | NGINX

El futuro de NGINX: Volviendo a nuestras raíces de código abierto

NGINX - Parte de F5 - horizontal, negro, tipo RGB
Miniatura de Rob Whiteley
Rob Whiteley
Publicado el 23 de agosto de 2022

El tiempo vuela cuando te diviertes. Resulta difícil creer que NGINX ya tenga 18 años. Mirando hacia atrás, la comunidad y la empresa han logrado mucho juntas. Recientemente alcanzamos un hito importante: al momento de escribir este artículo , el 55,6 % de todos los sitios web funcionan con NGINX (ya sea con nuestro propio software o con productos desarrollados sobre NGINX). También somos el servidor web número uno por participación de mercado. Estamos muy orgullosos de ello y agradecidos de que ustedes, la comunidad NGINX, nos hayan dado este rotundo voto de confianza.

También reconocemos, cada vez más, que el open source software continúa cambiando el mundo. Un porcentaje cada vez mayor de aplicações se crean utilizando código fuente abierto. Desde terminales y noticias de Bloomberg hasta el Washington Post, Slack, Airbnb, Instagram y Spotify, miles de las marcas y propiedades más reconocidas del mundo confían en NGINX Open Source para impulsar sus sitios web. En mi propia vida, entre Zoom para reuniones de trabajo y Netflix por la noche, probablemente paso el 80% de mi día usando aplicações creadas sobre NGINX.

NGINX es sólo un elemento en la historia de éxito del código abierto. No seríamos capaces de construir el mundo digital –y cada vez más, de controlar y gestionar el mundo físico– sin todos los increíbles proyectos de código abierto, desde Kubernetes y contenedores hasta Python y PyTorch, desde WordPress hasta Postgres y Node.js. El código abierto ha cambiado la forma en que trabajamos. Hay más de 73 millones de desarrolladores en GitHub que han fusionado colectivamente más de 170 millones de solicitudes de extracción (PR). Un gran porcentaje de esas relaciones públicas han estado en repositorios de código con licencias de código abierto.

Estamos encantados de que NGINX haya jugado un papel tan fundamental en el surgimiento y el éxito del código abierto, y tenemos la intención de continuarlo y transmitirlo a otros. Al mismo tiempo, necesitamos reflexionar sobre nuestro trabajo de código abierto y adaptarnos a la evolución continua del movimiento. Los modelos de negocio de las empresas que se benefician del código abierto se han vuelto controvertidos en ocasiones. Es por esto que NGINX siempre ha intentado ser súper claro sobre qué es código abierto y qué es comercial. Por encima de todo, esto significó nunca intentar cobrar por la funcionalidad o las capacidades que habíamos incluido en las versiones de código abierto de nuestro software.

El código abierto está evolucionando rápidamente. NGINX también está evolucionando.

Ahora nos damos cuenta de que debemos pensar seriamente en nuestro compromiso con el código abierto, ofrecer más valor y capacidades en nuestros productos de código abierto y, sí, mejorar nuestro juego en el ámbito comercial también. No podemos seguir cobrando por las mismas cosas que en el pasado, porque el mundo ha cambiado: algunas características incluidas solo en nuestros productos comerciales ahora son esenciales para los desarrolladores de código abierto. También sabemos que la seguridad del código abierto es una prioridad para los desarrolladores. Por esa razón, nuestros proyectos de código abierto deben ser tan seguros como nuestros productos comerciales.

También tenemos que reconocer la realidad. Internamente, teníamos la costumbre de decir que el código abierto no estaba realmente listo para producción porque carecía de características o escalabilidad. El mundo viene demostrando que estamos equivocados en ese aspecto desde hace algún tiempo: miles de organizaciones utilizan el open source software NGINX en entornos de producción. Y eso es bueno, porque demuestra cuánto creen en nuestras versiones de código abierto. Podemos construir sobre eso.

De hecho, lo hacemos constantemente con nuestros productos principales. A quienes dicen que la familia original de productos NGINX ha crecido mucho, les digo que no nos han estado observando de cerca:

  • Para el open source software NGINX, continuamos agregando nuevas características y funcionalidades y brindando soporte a más plataformas de sistemas operativos. Dos capacidades críticas para la seguridad y la escalabilidad de las aplicações web y el tráfico, HTTP3 y QUIC , vendrán en la próxima versión que lancemos.
  • Un rincón silencioso pero increíblemente innovador del universo NGINX es NGINX JavaScript (njs) , que permite a los desarrolladores integrar código JavaScript en el modelo de procesamiento de eventos de los módulos HTTP y TCP/UDP (Stream) de NGINX y ampliar la sintaxis de configuración de NGINX para implementar capacidades sofisticadas. Nuestros usuarios han hecho algunas cosas realmente sorprendentes, desde la innovadora purga de caché y manipulaciones de encabezados hasta soporte para protocolos más avanzados como MQTTv5.
  • Nuestro servidor de aplicação web universal, NGINX Unit , fue concebido por el autor original de NGINX Open Source, Igor Sysoev , y continúa evolucionando. La unidad ocupa un lugar importante en nuestra visión de las aplicações modernas y una pila de aplicação modernas que va mucho más allá de nuestro enfoque principal en el plano de datos y la seguridad. A medida que desarrollamos Unit, estamos repensando cómo se deben diseñar las aplicações para la Web en evolución, con más capacidades nativas de la nube y diseñadas para aplicaciones distribuidas y altamente dinámicas.

La arquitectura de referencia de las aplicaciones modernas

Queremos seguir experimentando y buscando formas de ayudar a nuestro grupo principal de desarrolladores a implementar aplicações modernas de forma más eficiente y sencilla. El año pasado, en Sprint 2.0, anunciamos la Arquitectura de referencia de aplicaciones modernas NGINX (MARA) y me complace decir que recientemente pasó a estar disponible al público general como versión 1.0.0 . MARA es un conjunto de herramientas seleccionadas y con opiniones firmes, incluido Kubernetes, que hemos conectado para facilitar la implementación de la infraestructura y la arquitectura de aplicação como código. Con unos pocos clics, puede configurar e implementar una arquitectura de referencia MARA que esté integrada con todo lo que necesita para crear un entorno nativo de la nube de nivel de producción: seguridad, registro, redes, servidor de aplicação , configuración y administración de YAML, y más.

Diagrama que muestra la topología de la arquitectura de referencia de aplicaciones modernas de NGINX

MARA es una arquitectura modular y por diseño. Puedes elegir tu propia aventura y diseñar a partir de los módulos existentes una arquitectura de referencia personalizada que realmente pueda ejecutar aplicações. La comunidad ha apoyado nuestra idea y nos hemos asociado con varias empresas de tecnología innovadoras en MARA. Sumo Logic ha agregado sus capacidades de registro a MARA y Pulumi ha contribuido con módulos para la automatización y la orquestación del flujo de trabajo. Nuestra esperanza es que, con MARA, cualquier desarrollador pueda tener un entorno Kubernetes completo en funcionamiento en cuestión de minutos, completo con todos los elementos de soporte, seguro y listo para la implementación de aplicaciones. Este es sólo un ejemplo de cómo creo que todos podemos poner nuestra energía colectiva para impulsar una gran iniciativa en la industria.

El futuro de NGINX: Modernizar, optimizar, ampliar

Cada año en NGINX Sprint, nuestra conferencia virtual de usuarios, asumimos nuevos compromisos para el año siguiente. Este año no es diferente. Nuestras promesas para los próximos doce meses se pueden resumir en tres palabras: modernizar , optimizar y ampliar . Queremos asegurarnos de que estas no sean sólo palabras de moda en los negocios; tenemos programas sustanciales para cada uno de ellos y queremos que nos exijan cumplir nuestras promesas.

Promesa #1: Modernizar nuestro enfoque, presencia y gestión comunitaria

Obviamente, estamos modernizando rápidamente nuestro código e introduciendo nuevos productos y proyectos. Pero la modernización no se trata solo del código: abarca la gestión del código, la transparencia en la toma de decisiones y cómo nos presentamos en la comunidad. Si bien históricamente la base de código fuente abierto de NGINX se ha ejecutado en el sistema de control de versiones Mercurial, reconocemos que el mundo de código abierto ahora vive en GitHub. De ahora en adelante, todos los proyectos NGINX nacerán y se alojarán en GitHub porque ahí es donde trabajan los desarrolladores y las comunidades de código abierto.

También vamos a modernizar la forma en que gobernamos y gestionamos los proyectos NGINX. Nos comprometemos a ser más abiertos a las contribuciones, más transparentes en nuestra gestión y más accesibles a la comunidad. Seguiremos todas las convenciones esperadas para el trabajo moderno de código abierto y reconstruiremos nuestra presencia en GitHub, agregando códigos de conducta a todos nuestros proyectos y prestando mucha atención a los comentarios de la comunidad. Como parte de este compromiso de modernización, estamos agregando un canal de la comunidad NGINX en Slack . Dotaremos al canal de personal con nuestros propios expertos para responder a sus preguntas. Y ustedes, la comunidad, también estarán allí para ayudarse mutuamente, en la herramienta de mensajería que ya usan para sus trabajos diarios.

Promesa #2: Optimizar nuestra experiencia como desarrollador

Los desarrolladores son nuestros usuarios principales. Construyen y crean las aplicações que nos han hecho quienes somos. Nuestro principio siempre ha sido que NGINX es fácil de usar. Y eso es básicamente cierto: NGINX no tarda días en instalarse, ponerse en marcha y configurarse. Dicho esto, podemos hacerlo mejor. Podemos acelerar el “tiempo para obtener valor” que los desarrolladores experimentan en nuestros productos al acortar la curva de aprendizaje y facilitar el proceso de configuración. Por “valor” me refiero a implementar código que haga algo verdaderamente valioso, en producción, punto. Vamos a renovar nuestra experiencia para desarrolladores agilizando la experiencia de instalación, mejorando nuestra documentación y agregando cobertura e importancia a nuestros foros comunitarios.

También lanzaremos una nueva oferta SaaS que se integra de forma nativa con NGINX Open Source y le ayudará a hacerla útil y valiosa en segundos. No habrá registro, ni puerta, ni muro de pago. Este SaaS será de uso gratuito para siempre.

Además, reconocemos que muchas características críticas que los desarrolladores ahora consideran como apuestas seguras están en el lado equivocado del muro de pago para NGINX Open Source y NGINX Plus. Por ejemplo, el descubrimiento del servicio DNS es esencial para las aplicaciones modernas. Nuestra promesa es hacer que esas funciones críticas sean gratuitas agregándolas a NGINX de código abierto. Aún no hemos decidido todas las funciones que trasladaremos y queremos conocer tu opinión . Cuéntanos cómo optimizar tu experiencia como desarrolladores. Estamos escuchando.

Promesa #3: Amplíe la potencia y las capacidades de NGINX

Por más popular que sea NGINX hoy, sabemos que debemos seguir mejorando si queremos seguir siendo igual de relevantes dentro de diez años. Nuestro ambicioso objetivo es el siguiente: queremos crear una pila completa de aplicações NGINX y capacidades de soporte para gestionar y operar aplicações modernas a escala.

Hasta la fecha, NGINX se ha utilizado principalmente como un plano de datos de capa 7. Pero los desarrolladores tienen que construir mucho andamiaje alrededor de NGINX para que funcione. Debe conectar las capacidades de automatización y CI/CD, configurar el registro adecuado, agregar autenticación y gestión de certificados, y más. Queremos crear una extensión mucho mejor de NGINX, donde cada requisito principal para probar e implementar una aplicación se satisfaga mediante uno o más componentes de código abierto de alta calidad que se integren a la perfección con NGINX. En resumen, queremos aportar valor en cada capa de la pila y que sea gratuita. Por ejemplo, si utiliza NGINX Open Source o NGINX Plus como puerta de enlace de API, queremos asegurarnos de que tenga todo lo que necesita para administrar y escalar ese caso de uso (importación de API, descubrimiento de servicios, firewall, reglas de políticas y seguridad), todo disponible como opciones de código abierto de alta calidad.

En resumen, nuestro sueño es construir un ecosistema alrededor de NGINX que se extienda a cada faceta de la gestión de aplicaciones . MARA es el primer paso para construir ese ecosistema y queremos seguir atrayendo socios. Mi objetivo es ver, para fines de 2022, una aplicación precableada completa que se lance y ejecute en minutos en un entorno NGINX, instrumentada con un conjunto completo de capacidades (seguimiento distribuido, registro, escalamiento automático, seguridad, enlaces CI/CD) que estén todas listas para hacer su trabajo.

Presentamos Kubernetes API Gateway, un nuevo Amplify y un agente NGINX

Estamos comprometidos con todo esto. Y aquí están tres anticipos de mis tres promesas.

  1. A principios de este año lanzamos NGINX Kubernetes Gateway<.htmla>, basado en la arquitectura de referencia de Kubernetes API Gateway SIG . Esto moderniza nuestra familia de productos y nos mantiene en línea con la evolución continua de la nube nativa. NGINX Kubernetes Gateway también es una especie de rama de olivo que extendemos a la comunidad. Nos dimos cuenta de que las cosas eran complicadas cuando creamos un controlador Ingress comercial y de código abierto para Kubernetes, ambos diferentes de la solución Ingress comunitaria (también desarrollada en NGINX). La variedad de opciones confundió a la comunidad y nos puso en una mala posición.

    Está bastante claro que la API de Gateway reemplazará al controlador de Ingress en la arquitectura de Kubernetes. Por eso, estamos cambiando nuestro enfoque y haremos que NGINX Kubernetes Gateway, que se ofrecerá solo como un producto de código abierto, sea el punto focal de nuestros esfuerzos de redes Kubernetes (en sintonía con el estándar en evolución). Se integrará y extenderá a otros productos NGINX y optimizará la experiencia del desarrollador en Kubernetes.

  2. Hace unos años, lanzamos NGINX Amplify , una oferta SaaS de monitoreo y telemetría para flotas NGINX. Realmente no le dimos mucha publicidad. Pero miles de desarrolladores lo encontraron y todavía lo utilizan hoy en día. Amplify fue y sigue siendo gratuito. Como parte de nuestro compromiso de modernización, estamos agregando una serie de nuevas capacidades a Amplify. Nuestro objetivo es convertirlo en su copiloto de confianza para supervisar y gestionar los productos NGINX a escala en tiempo real. Amplify no solo supervisará sus instancias NGINX, sino que también lo ayudará a configurar, aplicar scripts y solucionar problemas en las implementaciones NGINX.
  3. Estamos lanzando NGINX Agent, una aplicación liviana que se implementa junto con las instancias de código abierto de NGINX. Incluirá funciones que antes solo se ofrecían en productos comerciales, como la API de configuración dinámica. Con NGINX Agent, podrá usar NGINX Open Source en muchos más casos de uso y con mucha mayor flexibilidad. También incluirá controles mucho más granulares que podrás usar para ampliar tus aplicações e infraestructura. El agente te ayuda a tomar decisiones más inteligentes sobre la administración, implementación y configuración de NGINX. Estamos trabajando arduamente en el Agente NGINX. ¡Esté atento a la publicación del blog que publicaremos en los próximos meses para anunciar su disponibilidad!

Mirando hacia el futuro

Dentro de un año espero que me preguntéis sobre estas promesas. Si no puedo informar sobre avances reales en los tres, entonces, por favor, ténganme la palabra. Y por favor entiendan: estamos comprometidos y listos para hablar con todos ustedes. Usted es nuestra mejor hoja de ruta de productos. Por favor, responda nuestra encuesta anual . Únase a la comunidad Slack de NGINX y cuéntenos qué piensa. Comente y presente solicitudes de incorporación de cambios en los proyectos en nuestro repositorio de GitHub .

Va a ser un gran año, el mejor de todos. Esperamos saber más de usted y cuente con recibir más noticias nuestras. Ayúdanos a ayudarte. Va a ser un gran año, el mejor de todos. Esperamos saber más de usted y cuente con recibir más noticias nuestras.


"Esta publicación de blog puede hacer referencia a productos que ya no están disponibles o que ya no reciben soporte. Para obtener la información más actualizada sobre los productos y soluciones F5 NGINX disponibles, explore nuestra familia de productos NGINX . NGINX ahora es parte de F5. Todos los enlaces anteriores de NGINX.com redirigirán a contenido similar de NGINX en F5.com.