OpenShift vs Kubernetes

Qué es OpenShift

OpenShift es una plataforma de gestión de contenedores basada en Kubernetes para el desarrollo y la implementación de aplicaciones empresariales de la empresa Red Hat.

OpenShift proporciona una plataforma cloud donde los desarrolladores pueden implantar de forma sencilla sus aplicaciones, mejorando la productividad, reduciendo los tiempos de publicación de aplicaciones y permitiendo gestionar el ciclo de vida de las aplicaciones de la manera más efectiva.

Para ello, usa operaciones automatizadas para la gestión del código y la publicación del mismo, orientando el desarrollo a las ventajas del Cloud y dotando a los desarrolladores de herramientas de DevOps.

Jorge Andrada Prieto
Jorge Andrada PrietoArquitecto/Técnico Cloud - DevOps

Qué es Kubernetes

Kubernetes (K8s) es una plataforma de código abierto para la orquestación de contenedores, desarrollado por Google y donado a la Cloud Native Computing Foundation (CNCF).

A diferencia de Docker, K8s agrupa contenedores en unidades lógicas llamadas PODs.

Entre sus funcionalidades provee mecanismos para automatizar la implementación, el escalado y la administración de aplicaciones basadas en contenedores.

OpenShift vs Kubernetes

OpenShift utiliza Kubernetes internamente, pero introduce muchas mejoras. OpenShift es una distribución certificada de Kubernetes.

  • Más seguridad forzando el uso de imágenes con non-root-containers, usando random UUIDs para su ejecución. Esta capa de seguridad extra implica que las imágenes que no contemplen esta característica, no son compatibles y requieren modificación.
  • Compilación de imágenes: Kubernetes usa imágenes ya compiladas, pero OpenShift incluye la autocompilación de imágenes basadas en código, ya sea mediante Dockerfile o source-to-image.
  • Template: OpenShift usa la herramienta “Template” para el empaquetado de componentes de aplicación, Kubernetes usa “Helm”, que también puede usarse en OpenShift pero su uso no está soportado por Red Hat. Para más información visite el blog de OpenShift: https://blog.openshift.com/getting-started-helm-openshift/

OpenShift: Versiones disponibles

Hay diferentes planes y versiones de OpenShift:

  • OpenShift Online: Cloud público de Red Hat, existen dos planes: principiante que es gratuito y profesional de pago. El gratuito sólo permite un proyecto, el de pago incluye soporte básico y hasta 10 proyectos.
  • OpenShift Dedicated: Cloud privado de Red Hat. Clúster privado que es mantenido y soportado por Red Hat
  • OpenShift Container Platform: Clúster privado on premise o cloud privado a elección del consumidor.
  • Azure Red Hat OpenShift: Ofrece alta disponibilidad, máster completamente administrados, sin necesidad de parches ni máquinas virtuales que manejar. Todo sobre la infraestructura de Azure. Permite escalado de nodos, integración con Azure Active Directory y despliegue en minutos desde el portal de Azure.
  • OKD (Origin): es la distribución de la comunidad, la podemos descargar y desplegar un clúster de OpenShift en nuestros servidores.

Características principales de OpenShift

Las características principales que definen el ecosistema de OpenShift son:

  • RHEL: sistema operativo Linux de nivel empresarial.
  • OpenShift Container Registry (OCR): repositorio de imágenes privado.
  • Escalabilidad: Las aplicaciones pueden expandirse a miles de instancias en cientos de nodos en cuestión de segundos y con facilidad.
  • Portabilidad: Las imágenes de contenedores creadas OCI garantiza la portabilidad entre el equipo de trabajo del desarrollador y los entornos de producción.
  • Almacenamiento persistente.
  • Estándares del open source: OCI y Kubernetes con certificación de la Cloud Native Computing Foundation (CNCF).
  • CI/CD: permite que los desarrolladores disminuyan las tareas manuales de implementación y distribuyan software de mejor calidad para la integración continua y las pruebas automatizadas.
  • Source-to-image (S2I): herramientas y un flujo de trabajo para crear imágenes listas para ejecutarse introduciendo código fuente a un contenedor y dejando que este lo prepare para la ejecución.
  • Automatización: escalado automático y gestión del estado de las aplicaciones.
  • OpenSource.
  • Multilenguaje: permite el uso de diferentes lenguajes de programación, bases de datos, etc.

Conclusiones

Openshift es una distribución de Kubernetes con una capa empresarial, dotándolo de funcionalidades adicionales, además del propio soporte oficial de Red Hat.

Esta capa facilita la adopción del ecosistema DevOps, dotando al desarrollador de herramientas y ofreciéndole una fácil administración, monitorización y gestión de accesos. Todo ello desde una interfaz web amigable y sin necesidad de herramientas externas.

La decisión de decantarse por OpenShift recae principalmente en el soporte, en el sistema operativo en el caso de on-premise (OpenShift sólo compatible con RHEL), también hay que tener en cuenta la implantación de herramientas de DevOps en la empresa y el cambio que significaría la adopción de las proporcionadas por esta plataforma. La parte económica en el licenciamiento de OpenShift y la tranquilidad que nos brinda su soporte en caso de dudas o fallo en algún sistema.

Imágenes de contenedores soportados en OpenShift

Algunas de las imágenes soportadas por OpenShift son: Apache, PHP, Perl, Java, Jenkins, Tomcat, MySQL, Redis, MongoDB, Node.js, Python, Ruby o PostgreSQL.

Este catálogo está en continuo crecimiento y podemos obtener el listado completo de tecnologías y lenguajes compatibles en este enlace.

OpenShift Container Platform 4

Este año se ha lanzado la versión 4 de OpenShift, que incluye grandes cambios como CRI-O, en vez de Docker como runtime para los contenedores; Kubernetes 1.13, nuevo instalador (IPI y UPI) que permite la gestión de todos los componentes de la infraestructura, posibilidad de actualizar a nuevas versiones desde el interfaz web o consola y la evolución a RHEL CoreOS como host inmutable para la ejecución de contenedores.

Si quieres conocer más sobre esta u otras plataformas de gestión cloud para tu negocio, no dudes en ponerte en contacto con nosotros.

2019-12-02T12:11:18+02:0021 noviembre, 2019|