BLOG | NGINX

Guía para elegir un controlador de entrada, parte 3: Código abierto vs. Predeterminado vs. Comercial

NGINX - Parte de F5 - horizontal, negro, tipo RGB
Miniatura de Jenn Gile
Jenn Gile
Publicado el 20 de septiembre de 2021

Editor : Esta publicación es parte de una serie de 10 partes:

  1. Reduzca la complejidad con Kubernetes de nivel de producción
  2. Cómo mejorar la resiliencia en Kubernetes con la 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 entrada, parte 1: Identifique sus requisitos
  6. Guía para elegir un controlador de entrada, parte 2: Riesgos y preparación para el futuro
  7. Guía para elegir un controlador de entrada, parte 3: Código abierto vs. Predeterminado vs. Comercial (esta publicación)
  8. Guía para elegir un controlador de entrada, parte 4: Opciones del controlador de ingreso NGINX
  9. Cómo elegir una malla de servicios
  10. Pruebas de rendimiento de controladores de ingreso NGINX en un entorno dinámico de nube de Kubernetes

También puede descargar el conjunto completo de blogs como un libro electrónico gratuito: Cómo llevar Kubernetes de la prueba a la producción .

¡Felicidades! Después de leer las dos primeras partes de nuestra guía para elegir un controlador Ingress , está casi listo para seleccionar uno. Recapitulemos dónde hemos estado hasta ahora:

  • En la Parte 1 , analizamos cómo identificar sus requisitos, incluido el rendimiento, el presupuesto, los casos de uso, la arquitectura y la propiedad.
  • En la Parte 2 , hablamos sobre los riesgos que podría introducirse al seleccionar el controlador Ingress incorrecto y describimos áreas clave en las que puede asegurar su selección a futuro.

Los controladores de ingreso se dividen en tres categorías: de código abierto, predeterminados y comerciales. Cada uno tiene sus casos de uso y es importante tener claras sus necesidades a corto y largo plazo antes de hacer una selección. En este blog cubrimos los pros y contras de cada categoría.

Controladores de ingreso 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 tienen equipos de ingeniería dedicados. Dos de los controladores Ingress de código abierto más populares se basan en NGINX: uno es mantenido por la comunidad Kubernetes y el otro está dirigido por el equipo central de ingeniería de NGINX y es de código abierto. Para una mayor comparación de los controladores de ingreso basados en NGINX, consulte la Parte 4 de nuestra serie.

  • Ventajas:
    • Gratis e impulsado por la comunidad : muchas personas y organizaciones eligen proyectos de código abierto no solo por el precio inmejorable (¡gratis!), sino también porque prefieren la tecnología desarrollada por la comunidad.
    • Velocidad de las funciones : es más probable que estos controladores de Ingress estén a la vanguardia de la innovación en funciones.
  • Contras (compartidas con los proyectos de código abierto en general) :
    • Costo (tiempo) : carecen de herramientas listas para usar para una fácil configuración y escalabilidad, por lo que terminas gastando tiempo en personalizaciones y soluciones alternativas para tus necesidades específicas.
    • Riesgoso : puede haber problemas de estabilidad, seguridad y confiabilidad (debido al énfasis en la velocidad de las funciones y la naturaleza voluntaria de los contribuyentes). Es posible que los parches para vulnerabilidades y exposiciones comunes (CVE) nunca lleguen o que lleguen meses después de que se divulgue públicamente la CVE, lo que les da a los piratas informáticos mucho tiempo para atacar su controlador de Ingress.
    • Apoyo mínimo o nulo : la mayoría se resuelven por sí solos… solo son usted y los médicos. Si se encuentra con problemas que no puede resolver usted mismo, puede ser difícil (o imposible) obtener ayuda: su única opción es publicar su problema en los foros de la comunidad y esperar que otros miembros de la comunidad (a) se molesten en responder y (b) sepan de una solución.
  • Resumen: Cuando las organizaciones comienzan a experimentar con Kubernetes, a menudo eligen un controlador Ingress de código abierto, por conveniencia o porque los documentos prometen que pueden comenzar a usarlo rápidamente de manera gratuita. Esto puede funcionar perfectamente cuando estás empezando, en una prueba o ejecutando una producción de bajo volumen.

Controladores de ingreso predeterminados

Si bien muchos controladores de Ingress predeterminados se basan en tecnología de código abierto, los clasificamos por separado porque están desarrollados y mantenidos por una empresa que proporciona una plataforma Kubernetes completa (y a menudo soporte para administrarla). Algunos ejemplos de esta categoría son los controladores de ingreso de nube pública, Rancher y el enrutador Red Hat OpenShift.

  • Ventajas:
    • Gratis o de bajo costo : el bajo precio es una razón convincente para utilizar estos productos. Ya están integrados en la plataforma, lo que supone un claro ahorro de tiempo cuando estás empezando.
    • Confiables y con soporte : debido a que reciben mantenimiento de un equipo de ingeniería dedicado, pueden ser más confiables que los controladores Ingress mantenidos por la comunidad. El soporte comercial generalmente está incluido o está disponible por un costo adicional.
  • Inconvenientes:
    • Bloqueo de infraestructura : los controladores de ingreso predeterminados no son independientes de la infraestructura, por lo que no puede llevarlos ni a ellos ni a sus configuraciones de una nube a otra. Esto significa que necesita diferentes controladores de Ingress para cada entorno de implementación, lo que provoca una proliferación de herramientas, aumenta la curva de aprendizaje para sus equipos y hace que el controlador de Ingress sea más difícil de proteger.
    • Características básicas : generalmente carecen de las capacidades avanzadas de gestión de tráfico y seguridad necesarias para implementaciones a gran escala.
    • Costos impredecibles (tiempo y dinero) : si bien los costos iniciales son nulos o bajos, pueden aumentar de manera dramática e impredecible a medida que su aplicação crece. Esto puede implicar el tiempo necesario para integrar en tu aplicación funcionalidades que faltan en el conjunto mínimo de funciones del controlador Ingress. Por supuesto, tendrás que realizar pruebas de regresión de dichas funcionalidades cada vez que actualices la aplicación. Otra desventaja de algunas herramientas predeterminadas son los grandes aumentos en la factura de la nube a medida que tu aplicación se vuelve más popular, debido a cargos por rendimiento que al principio parecen inofensivos.
  • Resumen: Un controlador de ingreso predeterminado es una opción popular para los equipos que son nuevos en Kubernetes y usan una plataforma administrada 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 a menudo optan por agregar un controlador Ingress de nivel empresarial a su pila, en lugar de reemplazar la herramienta predeterminada.

Controladores de ingreso comerciales

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

  • Ventajas:
    • Amplio conjunto de funciones : los controladores de ingreso comerciales incluyen conjuntos de funciones sólidos que admiten la gestión avanzada del tráfico y la escalabilidad para implementaciones de gran tamaño. Puede haber integraciones con otros productos de nivel de producción, como un WAF o una malla de servicio.
    • Escalable : las organizaciones a menudo consideran que estas opciones les ahorran tiempo, ya que tienden a tener más capacidades “listas para usar” que no requieren personalización ni soluciones alternativas. Se pueden agregar fácilmente a los canales de automatización para permitir que su infraestructura crezca según sea necesario.
    • Confiable y con soporte : uno de los principales beneficios de los productos comerciales es que son estables, lo que significa que se prueban exhaustivamente en cada lanzamiento, con actualizaciones de software regulares y parches de seguridad según sea 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 después de encontrar un problema crítico.
  • Inconvenientes:
    • Desarrollo más lento : debido a que la estabilidad es importante para los controladores Ingress comerciales, su velocidad de funciones puede ser un poco menor que la de sus contrapartes de código abierto.
    • Costo (dinero) – La realidad de los productos comerciales es que cuestan dinero. Para las organizaciones que tienen más ciclos de desarrollo que efectivo, el costo puede ser un factor decisivo hasta que esa situación cambie.
  • Resumen: A medida que las organizaciones escalan, la elección del controlador Ingress se vuelve más importante en función de la complejidad de sus equipos y aplicaciones. Una vez que una organización alcanza un alto grado de complejidad, un controlador Ingress comercial tiene sentido porque puede reducir la complejidad de gestión y acelerar el tiempo de comercialización de nuevas funciones del producto.

Próximo paso: Evaluar las opciones

En esta etapa de su viaje, está listo para probar algunos controladores de Ingress y eliminar las opciones que no pueden satisfacer sus necesidades. Un excelente lugar para comenzar su comparación de características de alto nivel es learnk8s , que proporciona una tabla de comparación gratuita de los controladores Ingress que han evaluado.

Al investigar los controladores de Ingress, probablemente notará que muchas opciones se basan en NGINX. Para obtener una descripción general de las opciones basadas en NGINX, consulte la última entrada de esta serie: Guía para elegir un controlador de Ingress, Parte 4. Opciones del controlador de ingreso NGINX , próximamente.


"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.