Guía para elegir un controlador de Ingress, parte 3: código abierto frente a predeterminado frente a comercial

NGINX | 20 de septiembre de 2021

Editor – Esta publicación forma parte de una serie de 10 entregas:

  1. Reduzca la complejidad con Kubernetes preparado para producción
  2. Cómo mejorar la resiliencia en Kubernetes con una gestión avanzada del tráfico
  3. Cómo mejorar la visibilidad en Kubernetes
  4. Seis formas de proteger Kubernetes mediante herramientas de gestión del tráfico
  5. Guía para elegir un controlador de Ingress, parte 1: identifique sus requisitos
  6. Guía para elegir un controlador de Ingress, parte 2: riesgos y preparación para el futuro
  7. Guía para elegir un controlador de Ingress, parte 3: código abierto frente a opción predeterminada frente a solución comercial (esta publicación)
  8. Guía para elegir un controlador de Ingress, parte 4: opciones de controladores de Ingress de NGINX
  9. Cómo elegir una malla de servicios
  10. Pruebas de rendimiento de los controladores de entrada NGINX en un entorno dinámico de Kubernetes en la nube

También puedes descargar la colección completa de artículos del blog como libro electrónico gratuito: «Llevar Kubernetes de las pruebas a producción».

¡Enhorabuena! Después de leer las dos primeras partes de nuestra guía para elegir un controlador de Ingress, ya casi está listo para seleccionar uno. Recapitulemos lo que hemos visto hasta ahora:

  • En la Parte 1, explicamos cómo identificar tus requisitos, incluidos el rendimiento, el presupuesto, los casos de uso, la arquitectura y la responsabilidad.
  • En la Parte 2, hablamos de los riesgos que podría introducir al elegir el controlador Ingress equivocado y describimos las áreas clave que le permitirán preparar su elección para el futuro.

Los controladores de Ingress se dividen en tres categorías: de código abierto, predeterminados y comerciales. Cada uno tiene sus propios casos de uso, y es importante tener claras las necesidades a corto y largo plazo antes de elegir uno. En este artículo analizamos las ventajas y desventajas de cada categoría.

Controladores de Ingress de código abierto

Muchos controladores Ingress de código abierto son mantenidos por una comunidad de usuarios y desarrolladores voluntarios, aunque algunos también cuentan con equipos de ingeniería dedicados. Dos de los controladores Ingress de código abierto más populares se basan en NGINX: uno lo mantiene la comunidad de Kubernetes y el otro está dirigido por el equipo principal de ingeniería de NGINX y se distribuye como código abierto. Para obtener una comparación más detallada de los controladores Ingress basados en NGINX, consulte la parte 4 de nuestra serie.

  • Ventajas:
    • Gratuito e impulsado por la comunidad – Muchas personas y organizaciones eligen proyectos de código abierto no solo por su precio imbatible (¡son gratuitos!), sino también porque prefieren la tecnología desarrollada por la comunidad.
    • Velocidad de desarrollo de funcionalidades – Es más probable que estos controladores Ingress estén a la vanguardia de la innovación en funcionalidades.
  • Desventajas (comunes a los proyectos de código abierto en general):
    • Coste (tiempo) – Carecen de herramientas listas para usar que faciliten la configuración y la escalabilidad, por lo que acabas dedicando tiempo a personalizaciones y soluciones alternativas para tus necesidades específicas.
    • Arriesgado – Puede haber problemas de estabilidad, seguridad y fiabilidad (debido a la prioridad que se da a la rapidez en el desarrollo de funcionalidades y al carácter voluntario de los colaboradores). Es posible que los parches para vulnerabilidades y exposiciones comunes (CVE) nunca lleguen o que tarden meses en llegar después de que la CVE se haga pública, lo que da a los hackers tiempo de sobra para atacar tu controlador de Ingress.
    • Asistencia mínima o inexistente – La mayoría son soluciones de «autoservicio»: solo cuentas contigo mismo y con la documentación. Si te encuentras con problemas que no puedes resolver por tu cuenta, puede resultar difícil (o imposible) obtener ayuda; prácticamente tu única opción es publicar el problema en foros de la comunidad y esperar que otros miembros (a) se molesten en responder y (b) conozcan una solución.
  • Resumen: Cuando las organizaciones empiezan a experimentar con Kubernetes, suelen elegir un controlador Ingress de código abierto, ya sea por comodidad o porque la documentación promete que podrán ponerlo en marcha rápidamente y de forma gratuita. Esta opción puede funcionar a la perfección durante los primeros pasos, en entornos de prueba o en producción con poco volumen.

Controladores Ingress predeterminados

Aunque muchos controladores Ingress predeterminados se basan en tecnología de código abierto, los clasificamos por separado porque los desarrolla y mantiene una empresa que ofrece una plataforma Kubernetes completa (y, a menudo, asistencia para gestionarla). Algunos ejemplos de esta categoría son los controladores Ingress de nubes públicas, Rancher y el router de Red Hat OpenShift.

  • Ventajas:
    • Gratis o de bajo coste – Su bajo precio es una razón de peso para utilizar estos productos. Ya están integrados en la plataforma, lo que sin duda permite ahorrar tiempo al empezar.
    • Fiables y con soporte – Dado que cuentan con el mantenimiento de un equipo de ingeniería especializado, pueden ser más fiables que los controladores Ingress mantenidos por la comunidad. El soporte comercial suele estar incluido o disponible por un coste adicional.
  • Desventajas:
    • Dependencia de la infraestructura – Los controladores de Ingress predeterminados no son independientes de la infraestructura, por lo que no puede trasladarlos ni transferir sus configuraciones de una nube a otra. Esto implica que necesita controladores de Ingress diferentes para cada entorno de despliegue, lo que provoca una proliferación de herramientas, aumenta la curva de aprendizaje de sus equipos y dificulta la protección del controlador de Ingress.
    • Funcionalidades básicas – Suelen carecer de las capacidades avanzadas de gestión del tráfico y seguridad necesarias para implementaciones a gran escala.
    • Costes impredecibles (tiempo y dinero) – Aunque los costes iniciales son nulos o bajos, pueden aumentar de forma drástica e impredecible a medida que crece la aplicación. Esto puede traducirse en el tiempo necesario para incorporar a la aplicación funcionalidades que no están incluidas en el conjunto mínimo de prestaciones del controlador de Ingress; además, por supuesto, hay que someterlas a pruebas de regresión cada vez que se actualiza la aplicación. Otro inconveniente de algunas herramientas predeterminadas son los enormes incrementos en la factura de la nube a medida que la aplicación gana popularidad, debido a unos cargos por volumen de tráfico que al principio parecen insignificantes.
  • Resumen: Un controlador de Ingress predeterminado es una opción popular entre los equipos que están empezando a trabajar con Kubernetes y utilizan una plataforma gestionada como Amazon Elastic Kubernetes Service (EKS), Google Kubernetes Engine (GKE), Microsoft Azure Kubernetes Service (AKS), Rancher y Red Hat OpenShift Container Platform. A medida que sus aplicaciones maduran y los equipos crecen, las organizaciones suelen optar por añadir un controlador de Ingress de nivel empresarial a su conjunto de herramientas, en lugar de sustituir la herramienta predeterminada.

Controladores de Ingress comerciales

Estos controladores de Ingress son productos con licencia diseñados para admitir grandes implementaciones en producción. Un ejemplo es la versión basada en NGINX Plus de F5 NGINX Ingress Controller, que analizaremos con más detalle en la parte 4.

  • Ventajas:
    • Amplio conjunto de funcionalidades – Los controladores de Ingress comerciales incluyen sólidos conjuntos de funcionalidades que permiten una gestión avanzada del tráfico y ofrecen escalabilidad para implementaciones de gran tamaño. También pueden integrarse con otros productos aptos para entornos de producción, como un WAF o una malla de servicios.
    • Escalable – Las organizaciones suelen considerar que estas opciones ahorran tiempo, ya que tienden a ofrecer más funcionalidades listas para usar que no requieren personalizaciones ni soluciones alternativas. Se pueden incorporar fácilmente a los procesos de automatización para que la infraestructura crezca según sea necesario.
    • Fiable y con soporte – Una de las principales ventajas de los productos comerciales es su estabilidad, ya que se someten a pruebas exhaustivas en cada versión y reciben actualizaciones periódicas de software y parches de seguridad cuando es necesario. El soporte comercial completo suele estar disponible en varios niveles, por lo que a menudo puede obtener ayuda confidencial en cuestión de minutos u horas tras encontrarse con un problema crítico.
  • Desventajas:
    • Desarrollo más lento – Dado que la estabilidad es importante para los controladores Ingress comerciales, su ritmo de incorporación de nuevas funcionalidades puede ser algo más lento que el de sus homólogos de código abierto.
    • Coste (dinero) – La realidad de los productos comerciales es que cuestan dinero. Para las organizaciones que disponen de más tiempo de desarrollo que de efectivo, el coste puede ser un factor decisivo hasta que esa situación cambie.
  • Resumen: A medida que las organizaciones crecen, la elección del controlador de Ingress cobra mayor importancia en función de la complejidad de sus equipos y aplicaciones. Cuando una organización alcanza un alto grado de complejidad, optar por un controlador de Ingress comercial resulta conveniente, ya que puede reducir la complejidad de la gestión y acelerar el lanzamiento al mercado de nuevas funcionalidades del producto.

Siguiente paso: evalúe las opciones

En este punto de tu recorrido, ya puedes centrarte en algunos controladores Ingress para probarlos, descartando las opciones que no satisfagan tus necesidades. Un excelente punto de partida para comparar sus características generales es learnk8s, que ofrece una tabla comparativa gratuita de los controladores Ingress que han evaluado.

Al investigar los controladores de Ingress, probablemente observarás que muchas opciones se basan en NGINX. Para obtener una visión general de las alternativas basadas en NGINX, consulta la última entrada de esta serie, «Guía para elegir un controlador de Ingress, parte 4: opciones de controladores de Ingress de NGINX», que se publicará próximamente.


Compartir

Sobre el autor

Jenn Gile
Jenn GileResponsable de Marketing de Producto, NGINX

Más artículos de Jenn Gile

Artículos relacionados del blog

Únete a F5 NGINX en AppWorld 2024
NGINX | 04/01/2024

Únete a F5 NGINX en AppWorld 2024

Descubre las numerosas razones para asistir al evento insignia de F5, que incluirá un emocionante anuncio sobre la cartera de productos NGINX.

Rotación de certificados SSL/TLS sin reinicios en NGINX Open Source
NGINX | 26/09/2023

Rotación de certificados SSL/TLS sin reinicios en NGINX Open Source

La función de diccionario compartido permite configurar NGINX sin necesidad de reiniciarlo al renovar los certificados SSL/TLS.

Exposición de APIs en Kubernetes
NGINX | 10/03/2022

Exposición de APIs en Kubernetes

La unidad 2 de Microservices March 2022 se centra en cómo exponer tus API en Kubernetes. Aquí tienes enlaces a los recursos que necesitas: la retransmisión en directo del 14 de marzo, artículos de blog y otros recursos de preparación, y el laboratorio práctico «Protege las API de Kubernetes mediante la limitación de solicitudes».

NGINX Sprint 2.0: visión clara, código renovado y nuevos compromisos con el código abierto
NGINX | 23/08/2021

NGINX Sprint 2.0: visión clara, código renovado y nuevos compromisos con el código abierto

Hoy, en NGINX Sprint 2.0, anunciamos cómo respaldaremos nuestra visión del futuro de las aplicaciones modernas con una mayor presencia en la comunidad de código abierto, incluida la participación en el proyecto comunitario Kubernetes, nuevos proyectos de software de código abierto y la arquitectura de referencia para aplicaciones modernas.

Presentamos NGINX Plus R22
NGINX | 09/06/2020

Presentamos NGINX Plus R22

NGINX Plus R22 incorpora nuevas funcionalidades, como la compatibilidad con OCSP para verificar la revocación de certificados en TLS mutuo, el uso de varios proveedores de identidad OIDC en una configuración, el seguimiento en tiempo real de la limitación de solicitudes y conexiones en el panel de NGINX Plus y mejoras en NGINX JavaScript.

Presentamos NGINX Plus R17
NGINX | 11/12/2018

Presentamos NGINX Plus R17

NGINX Plus R17 incorpora compatibilidad con la limitación de velocidad en dos fases y con TLS 1.3, la versión más reciente del protocolo Transport Layer Security. La configuración de OpenID Connect es más sencilla y NGINX ModSecurity WAF es el doble de rápido que antes. También se ha actualizado el módulo JavaScript de NGINX.