Alternativas a OpenShift
OpenShift es la principal plataforma de desarrollo de aplicaciones en contenedores basada en Kubernetes. Kubernetes es, para cada vez más empresas, un cluster manager que constituye la base para el funcionamiento y el desarrollo de aplicaciones y servicios en contenedores. De este modo, Kubernetes se ha establecido como una especie de sistema operativo distribuido para el desarrollo moderno basado en contenedores.
La plataforma OpenShift fue creada por la empresa Red Hat, que es conocida por haber creado la distribución profesional de Linux llamada “Red Hat Enterprise Linux” (RHEL). La alternativa de OpenShift llamada “Rancher” la adquirió también un proveedor de Linux tradicional, este es, e SUSE. Por su parte, “Canonical Kubernetes” es otra alternativa a OpenShift de un proveedor de Linux establecido. Además de estas tres grandes plataformas, te presentamos otras interesantes alternativas a OpenShift.
¿Qué distingue a una alternativa de OpenShift?
OpenShift es un potente sistema que combina diversas funciones. Además de la gestión de Kubernetes, la plataforma incluye un panel de control que permite visualizar clústeres. El abanico de funciones de OpenShift lo completan las herramientas de monitorización y registro, los pipelines de DevOps y una malla de servicios, que facilitan el desarrollo de aplicaciones y servicios distribuidos. En resumen, OpenShift y sus alternativas son soluciones de gestión de Kubernetes.
El abanico de funciones va mucho más allá de la gestión de aplicaciones en contenedores. A diferencia de los Kubernetes a solas, OpenShift y sus alternativas controlan el despliegue y el funcionamiento de los clústeres de Kubernetes repartidos por la nube, así como los límites de su infraestructura. La autenticación sistemática de los usuarios y la protección de las imágenes de los contenedores utilizados aumentan la seguridad de los sistemas.
Excluimos de la comparación a las ofertas que representan alternativas independientes a Kubernetes. Entre estas ofertas se encuentran los proyectos “Apache Mesos” y “Azk”, de ahora en adelante nos referiremos a ellos como alternativas a Kubernetes. Además, excluimos también las ofertas de Kubernetes as a Service (KaaS) de los grandes proveedores de servicios en la nube puesto que todas ellas solo se pueden utilizar en la infraestructura de la nube de su proveedor correspondiente. Algunos de estos KaaS de los grandes proveedores son:
- IONOS Cloud Managed Kubernetes
- Google Kubernetes Engine (GKE)
- Amazon Elastic Kubernetes Service (EKS)
- Azure Kubernetes Service (AKS)
- IBM Cloud Kubernetes Service (IKS)
El mercado de las soluciones de gestión de Kubernetes cambia continuamente. Nuestro artículo hace referencia a la situación actual, a fecha de octubre de 2021.
¿Qué son las soluciones de gestión de Kubernetes?
Con Kubernetes se consigue un nivel de automatización que antes era inalcanzable para una plataforma omnipresente. Sin embargo, Kubernetes es una tecnología de gran complejidad. No todas las organizaciones tienen la experiencia y la capacidad necesarias para mantener su propia infraestructura de Kubernetes en funcionamiento. Un clúster de Kubernetes “fully managed” (totalmente gestionado), también conocido como “Kubernetes as a Service” (KaaS) resuelve este problema: el proveedor gestiona un clúster de Kubernetes para el cliente en el propio entorno de la nube del proveedor. Esto permite al cliente concentrarse por completo en su actividad principal.
Una solución de gestión de Kubernetes consiste en una capa de gestión basada en Kubernetes. Más allá de la organización de contenedores, se puede gestionar el ciclo de vida completo de las aplicaciones en contenedores. Los clústeres de Kubernetes utilizados pueden alojarse en casi cualquier infraestructura, desde nubes públicas y el entorno propio de OpenStack hasta el “Bare metal” y los dispositivos en el borde de la red. Para el usuario, esto proporciona funciones más allá de las que ofrece Kubernetes sin restringir el sistema a un proveedor de infraestructura específico.
A modo de comparación, diferenciamos entre soluciones fully managed y self managed. Algunas de las alternativas de OpenShift solo existen como soluciones gestionadas. Sin embargo, todas ellas permiten el funcionamiento de clústeres worker a través de los límites de la infraestructura.
¿Cuáles son las características más importantes de las alternativas de OpenShift?
El desarrollo de las soluciones de gestión de Kubernetes experimenta cambios constantes. Aunque las alternativas de OpenShift tienen funciones similares, a menudo hay detalles que las diferencian. Hemos resumido en esta tabla las características más importantes de forma clara y concisa:
Característica | Explicación | Ejemplos |
Interfaces de usuario | ¿Qué interfaces utilizan los usuarios para controlar el sistema? | API, CLI, interfaz web |
Sistema operativo | ¿Qué sistema operativo se necesita para hacer funcionar los nodos? | Ubuntu, RHCOS, RHEL, CentOS, Windows |
Gestión de contenedores y clústeres | ¿Qué software se utiliza para controlar los contenedores y los clústeres? | Kubernetes, Docker Swarm, Docker |
Formatos de los contenedores | ¿Qué formatos de contenedores admite la plataforma? | Containerd, Kata Containers, CRI-O |
Modelo de despliegue | ¿De qué manera se pueden crear clústeres distribuidos? | Multi-Cloud, Hybrid-Cloud |
DevOps y CI/CD | ¿Qué herramientas están integradas en DevOps o en la CI (integración contínua) /CD (desarrollo continuo)? | Jaeger, Jenkins |
Infraestructura | ¿En qué infraestructura informática pueden utilizarse los nodos? | Amazon AWS, Microsoft Azure, vSphere, Bare metal, Edge |
Versión de prueba gratuita | ¿Se puede probar el sistema antes de cerrar el contrato? | Una demo gratuita, una versión de prueba tras registrarse o ninguna versión de prueba |
Distribución de Kubernetes | ¿Qué distribución de Kubernetes se utilizará? | Kubernetes “Vanilla”, RKE, K3s, MicroK8S |
Licencia o versiones | ¿Existe una versión gratuita además de la versión de pago? | Código abierto / Comunidad, Premium / Empresa |
Seguimiento y registro | ¿Qué herramientas se incluyen para supervisar el estado del clúster? | Prometheus, Grafana |
Networking | ¿Qué tecnologías se incluyen para administrar la red entre los clústeres? | Calico, Flannel |
Modelo de precios | ¿Cómo se calculan los costes? | Precio según el uso de recursos, precio según el número de nodos, precio según el hardware suministrado. |
Aprovisionamiento | ¿Qué mecanismo entra en juego a la hora de configurar clústeres y contenedores? | Helm charts, operadores, charms |
Malla de servicio | ¿Cómo se comunican los servicios distribuidos entre sí? | Istio, Consul |
Elementos de seguridad | ¿Qué elementos de seguridad incluye el sistema? | Registro de contenedores protegido, controles de acceso, autenticación de usuarios |
Comparación de las alternativas a OpenShift
A continuación, puedes encontrar una visión general de OpenShift junto a sus mejores alternativas. Se analizan las ventajas y desventajas de cada alternativa, sus mayores diferencias con respecto a OpenShift y los escenarios de despliegue más recomendables. Comparamos las siguientes soluciones de gestión de Kubernetes:
- Red Hat OpenShift
- SUSE Rancher
- Canonical Kubernetes
- Mirantis Kubernetes Engine (anteriormente Docker Enterprise)
- VMware Tanzu (anteriormente Pivotal)
- Platform9 Managed Kubernetes
- Giant Swarm
- Portainer
Red Hat OpenShift
La empresa Red Hat ha creado OpenShift, la mejor solución de gestión de Kubernetes. El software se utiliza para construir entornos de desarrollo y aplicaciones distribuidas y escalables. Desde que surgió Kubernetes, Red Hat ha contribuido mucho al desarrollo de su tecnología. El importante concepto de operadores de Kubernetes también tiene su origen en Red Hat.
¿Cuáles son las ventajas y desventajas de OpenShift de Red Hat?
La mayor ventaja de OpenShift es el abanico de funciones que ofrece el sistema. Además de la gestión de clústeres, esta tecnología integra la gestión completa del ciclo de vida de las aplicaciones, incluyendo el desarrollo, la implantación, el funcionamiento y el mantenimiento. Además, Red Hat proporciona sus propios registros de contenedores y un catálogo de operadores.
El gran abanico de funciones de OpenShift también supone una mayor complejidad del software. La instalación y el mantenimiento de OpenShift requiere un equipo de expertos, es decir, se necesita soporte en el entorno de una solución gestionada. Además, la distribución de Kubernetes de OpenShift difiere significativamente de la versión upstream. OpenShift solo se ejecuta en el sistema operativo propio de Red Hat, llamado “Red Hat Enterprise Linux CoreOS” (RHCOS).
OpenShift también tiene sus peculiaridades en lo que respecta a las imágenes de contenedores que se pueden utilizar. Debido a la estricta configuración de seguridad, no se pueden utilizar todas las imágenes de los repositorios de libre acceso. En lugar de los Helm charts conocidos de Kubernetes, OpenShift utiliza plantillas de aplicaciones propias para construir la infraestructura. Sin embargo, con los potentes operadores de OpenShift, ahora existe un mecanismo alternativo.
¿Para qué escenarios de despliegue es especialmente adecuado OpenShift de Red Hat?
OpenShift es especialmente adecuado para implementar estrategias de nube híbrida y construir y escalar las aplicaciones de contenedores necesarias para ello. Sobre todo las organizaciones que ya forman parte del ecosistema de Red Hat pueden sacar partido al uso del software de OpenShift.
SUSE Rancher
La veterana alternativa a OpenShift conocida como Rancher fue adquirida por SUSE, el proveedor de sistemas operativos, a finales de 2020. Rancher es una plataforma de gestión de Kubernetes potente y flexible. El software facilita la gestión de múltiples clústeres de Kubernetes a través de los límites de diferentes entornos de nube. Su abanico de funciones incluye, entre otros, el aprovisionamiento, la supervisión y el registro.
¿Cuáles son las ventajas y desventajas de SUSE Rancher?
Además de la obligada gestión de clústeres, Rancher integra una serie de interesantes tecnologías. Por ejemplo, el “Rancher Kubernetes Engine” (RKE) es una distribución de Kubernetes publicada únicamente como código abierto. Rancher también ofrece una distribución mínima de Kubernetes llamada K3s, especialmente diseñada para su uso en dispositivos en el borde de la red y dispositivos IoT, la cual está optimizada para implementaciones de bajo perfil, como son los clústeres de un solo nodo. Los controles de acceso consistentes según el estándar “Open Policy Agency” (OPA) y el motor de almacenamiento “Longhorn” culminan la oferta de Rancher.
¿Para qué escenarios de despliegue está SUSE Rancher especialmente adecuado?
Rancher es especialmente adecuado para gestionar múltiples clústeres de Kubernetes con una interfaz centralizada. Los derechos de los usuarios pueden asignarse de forma centralizada a través de varios clústeres.
Canonical Kubernetes
Canonical Kubernetes es otra solución de gestión de Kubernetes de un conocido proveedor de sistemas operativos. La distribución Ubuntu de Linux, desarrollada por Canonical, sirve de base para las distribuciones de Kubernetes de los principales proveedores de servicios en la nube, tales como Google Kubernetes Engine (GKE), Amazon Elastic Kubernetes Service (EKS) y Azure Kubernetes Service (AKS). De este modo, Canonical Kubernetes permite la creación de clústeres que se extienden a través de los límites de la nube.
¿Cuáles son las ventajas y desventajas de Canonical Kubernetes?
Las principales ventajas de Canonical Kubernetes son su gran flexibilidad y su bajo coste de despliegue. “Charmed Kubernetes” es un emocionante enfoque basado en los operadores para la construcción de la infraestructura. Con los llamados “Charms”, las aplicaciones originadas de Kubernetes, contenedores y VM se pueden integrar y gestionar en entornos de nube híbrida con facilidad. Solo se utiliza Ubuntu como sistema operativo.
¿Para qué escenarios de despliegue es especialmente adecuado Canonical Kubernetes?
Canonical Kubernetes se puede ejecutar en la más amplia gama de hardware. Admite procesadores de arquitecturas como x86, ARM, IBM POWER e IBM Z. Además de las CPU, también permite utilizar GPU. Para usar Cronical Kubernetes en dispositivos de escritorio y en el borde de la red, existe una distribución mínima de Kubernetes denominada “MicroK8s”, caracterizada por ser particularmente eficiente en recursos.
Mirantis Kubernetes Engine
La empresa Mirantis compró la “Docker Enterprise Edition” de Docker Inc en 2019 y desde entonces ha relanzado la misma tecnología bajo el nombre de “Mirantis Kubernetes Engine”. Hoy en día, las raíces tecnológicas de este software todavía siguen bien arraigadas en el universo Docker. Además de poder utilizar Kubernetes como gestor de clústeres, también es compatible con Docker Swarm.
¿Cuáles son las ventajas y desventajas de Mirantis Kubernetes Engine?
Mirantis Kubernetes Engine cubre algunos nichos interesantes. Por ejemplo, además de Linux, también permite ejecutar el sistema operativo Windows en los nodos. Lo más interesante es que los nodos que ejecutan Linux y los que ejecutan Windows pueden mezclarse sin problemas, al igual que ocurre con los nodos con Kubernetes o con Docker Swarm. El producto está dirigido a grandes clientes. Por eso, carece de una comunidad activa y la versión de prueba gratuita requiere el registro del cliente.
¿Para qué escenarios de despliegue es especialmente adecuado Mirantis Kubernetes Engine?
La tecnología es especialmente adecuada para grandes organizaciones centradas en la experiencia del desarrollador. Si ya tienes una infraestructura de nodos basada en Docker Swarm o Windows, es relativamente fácil ampliarla con Kubernetes utilizando Mirantis Kubernetes Engine.
VMware Tanzu
VMware Tanzu es una plataforma de Kubernetes de VMware, especialista en virtualización. El producto fue el resultado de la adquisición de la empresa Pivotal por parte de VMware a finales de 2019. VMware Tanzu permite montar clústeres de Kubernetes en la infraestructura vSphere de VMware. La “Tanzu Mission Control” integrada es una interfaz centralizada para la gestión de clústeres de Kubernetes distribuidos. Además de las funciones dirigidas al desarrollo de las aplicaciones en contenedores y su funcionamiento, VMware Tanzu cuenta con funciones de supervisión y registro, así como de gestión de la red y del almacenamiento.
¿Cuáles son las ventajas y desventajas de VMware Tanzu?
Las ventajas de VMware Tanzu residen principalmente en sus herramientas integradas. Por un lado, se encuentra el “VMware Tanzu Application Catalog”, que contiene un catálogo de componentes y aplicaciones de código abierto que se actualiza continuamente. Además, con “Harbor”, los contenedores tienen su propio registro. Esto garantiza la seguridad de varios contenedores en construcción por medio de controles de acceso basados en roles. Las imágenes de los contenedores almacenadas en Harbor se examinan en busca de brechas de seguridad y vulnerabilidades que, una vez solventadas, se certifican como seguras. El propósito principal de VMware Tanzu es el despliegue de la infraestructura de vSphere, mientras que el soporte para otras plataformas en la nube es menos sofisticado.
¿Para qué escenarios de despliegue es especialmente adecuado VMware Tanzu?
VMware Tanzu es especialmente adecuado para las empresas que ya están acostumbradas a utilizar la infraestructura de vSphere. Además de la versión de pago, existe una versión gratuita llamada “VMware Tanzu Community Edition”, que se puede descargar e instalar en ordenadores Linux, Windows y Mac.
Platform9 Managed Kubernetes
Antiguos ingenieros de VMware crearon la empresa Platform9. El propósito principal de la plataforma es ejecutar software de código abierto establecido, como Kubernetes, bajo un modelo de software como servicio (SaaS) para los clientes. De esta forma, es posible gestionar de forma centralizada los clústeres de Kubernetes distribuidos en diferentes entornos en la nube. Platform9 se encarga del mantenimiento de las instalaciones de Kubernetes, lo que reduce al cliente parte del esfuerzo operativo.
¿Cuáles son las ventajas y desventajas de Platform9 Managed Kubernetes?
La principal ventaja de la plataforma es el modelo de funcionamiento “fully managed” (totalmente gestionado) en el que los clientes no tienen que ocuparse de las actualizaciones del sistema operativo ni de Kubernetes. Entre sus puntos fuertes se encuentra la claridad de la estructura de precios, la amplia documentación y la versión de prueba gratuita. Aunque la interfaz web está un poco anticuada, cuenta con las funciones estándar que caben esperar: con el software “Prometheus”, se produce una comprobación continua de la condición de los clústeres y se recogen y evalúan los registros de forma centralizada. Las aplicaciones disponibles en los repositorios públicos de Helm pueden instalarse fácilmente.
¿Para qué escenarios de despliegue Platform9 Managed Kubernetes es especialmente adecuado?
Como nicho especial, Platform9 favorece a los proveedores de servicios de telecomunicaciones que combinan un gran número de dispositivos en el borde de la red en clústeres de Kubernetes. Además, la plataforma permite ejecutar aplicaciones “heredadas” en máquinas virtuales de forma paralela a las aplicaciones modernas en contenedores.
Giant Swarm
Giant Swarm es una plataforma de Kubernetes “fully managed” (totalmente gestionada). El software se encarga de la gestión del entorno de Kubernetes, independientemente de la infraestructura de la nube subyacente que se utilice. Para el cliente, esto sitúa en un primer plano las aplicaciones y servicios que se ejecutan en Kubernetes. Los clústeres de gestión y workers pueden funcionar en Amazon AWS, Microsoft Azure o “on-premises” en la propia infraestructura informática del cliente.
¿Cuáles son las ventajas y desventajas de Giant Swarm?
La plataforma gestiona y optimiza el ciclo de vida completo de las aplicaciones en contenedores y se puede desplegar de forma rápida. A diferencia de OpenShift, una instalación de Giant Swarm puede configurarse en un solo día. Además, al usar una distribución de Kubernetes sin modificar, es relativamente fácil mover elementos de la infraestructura entre diferentes entornos de nube. De este modo, se reduce el riesgo de depender de un solo proveedor (vendor lock-in). Un aspecto negativo de Giant Swarm es que no dispone de un modelo de precios estandarizado. En su lugar, el precio de venta se adapta a cada cliente individual.
¿Para qué escenarios de despliegue es especialmente adecuado Giant Swarm?
Giant Swarm es especialmente adecuado para controlar arquitecturas de microservicios distribuidos. Esto permite construir y escalar sistemas resistentes y ágiles. El software se encarga de la compleja administración de la infraestructura subyacente.
Portainer
A diferencia de las alternativas de OpenShift mencionadas anteriormente, Portainer persigue un concepto diferente. No es una plataforma totalmente gestionada ni una distribución de Kubernetes. En su lugar, utiliza una interfaz gráfica de usuario que unifica la gestión de los despliegues de Kubernetes existentes. Los equipos de DevOps tienen la oportunidad de gestionar, configurar y proteger de forma centralizada los entornos multiclúster. Además, facilita la implementación, administración y resolución de problemas de las aplicaciones en contenedores a los desarrolladores.
¿Cuáles son las ventajas y desventajas de Portainer?
La mayor ventaja de Portainer es la flexibilidad de su software. Además de Kubernetes, también se pueden utilizar Docker Swarm y Docker para la gestión de clústeres y contenedores. Portainer es un software de código abierto y tiene dos versiones, una gratuita y otra de pago con soporte para empresas. El software se puede instalar en entornos de nube, en dispositivos de borde o “on-premises” en tu propia infraestructura informática local. Dado que Portainer es relativamente nuevo, su documentación es poco detallada.
¿Para qué escenarios de despliegue está Portainer especialmente adecuado?
Portainer es especialmente adecuado para centralizar y unificar la gestión de las infraestructuras de clúster existentes. Si además de Kubernetes se utilizan sistemas basados en Docker o Docker-Swarm, estos también se pueden gestionar con relativa facilidad.