OpenShift vs OpenStack

OpenShift vs OpenStack
Tanto OpenShift como OpenStack son tecnologías relacionadas con la nube que son de código abierto y mantenidas por Red Hat Inc. OpenStack es lo que convierte a los servidores en la nube, se puede usar para automatizar la asignación de recursos para que los clientes puedan aprovisionar recursos virtuales como VPS, almacenamiento de bloqueas, almacenamiento de objetos, entre otras cosas.

OpenShift, por otro lado, es una tecnología que ofrece plataforma como servicio. Es algo que podría ejecutarse en la cima de servicios en la nube como AWS, Google Compute Engine, etc. y ofrecer a los desarrolladores una manera fácil de implementar sus aplicaciones y probarlas sin tener que jugar con los servidores (virtuales o físicos). Técnicamente, también puede ejecutar OpenShift además de un servicio en la nube que se mantiene utilizando OpenStack. Pero están en su núcleo de tecnologías independientes que se pueden usar por separado entre sí.

Ahora que sabemos las diferencias básicas, profundicemos y veamos cuáles son algunos de los paralelos y diferencias entre ellas.

Sobre contenedores

OpenStack generalmente utiliza hipervisores como KVM, XEN o VMware para girar máquinas virtuales. Si decide ejecutar contenedores en esas máquinas es su elección por completo. Pero los hipervisores son lo que normalmente acompañan con OpenStack.

Nota: OpenStack también ofrece soporte de contenedores, debe usarse más de menos como VPS y es opcional.

OpenShift, por otro lado, es un modelo centrado en el contenedor que aprovecha los conceptos centrales de Kubernetes y los empaqueta de una manera ordenada que permite a las organizaciones desarrollar e implementar aplicaciones en la nube. Puede funcionar con metal desnudo o puede funcionar en máquinas virtuales, pero siempre usa contenedores encima de ellos. La tecnología de contenedorización que usan es casi exclusivamente Docker.

Sistema distribuido

Nuevamente, OpenStack no es exclusivamente un sistema distribuido. Puede tomar el control sobre un centro de datos completo, pero eso no es tan global como un clúster de Kubernetes. Necesitaría muchas capas adicionales de software para convertir varias instalaciones remotas de OpenStack en un solo sistema distribuido. Puede ofrecer tecnologías de almacenamiento distribuidas como Glusterfs y Ceph que puede usar para construir su pila de almacenamiento distribuido, pero no confía en ellas específicamente.

OpenShift, por otro lado, es inherentemente un sistema distribuido (que tiene sentido ya que incorpora kubernetes en él) y, dado que es un sistema distribuido, necesariamente tiene uno o más nodos maestros que controlan algunos nodos de trabajadores. Red Hat proporciona una capa decente para que las redes faciliten la comunicación entre estos nodos y hay un buen apoyo para usando almacenamiento distribuido como glusterfs y ceph

IaaS y PaaS

OpenStack puede ayudarlo a ofrecer infraestructura como servicio (IaaS). Administra servidores y ofrece servicios que generalmente atribuye a los proveedores de VPS en la nube como DigitalOcean, AWS, Microsoft Azure y Google Compute Engine. Su organización puede decidir comprar sus propios servidores y establecer un centro de datos privado para la privacidad o las preocupaciones económicas. En lugar de desarrollar su propia utilidad de gestión para ejecutar estos servidores, puede implementar OpenStack en ellos y convertirlo en la de su organización nube privada.

Por otro lado, OpenShift ofrece plataforma como servicio. Si está familiarizado con Google App Engine, donde los desarrolladores se preocupan solo por el desarrollo y las pruebas de su aplicación. Toda la configuración del servidor no importa. Google lo hace posible porque contenganizan las aplicaciones que se ejecutan en la nube.

De la misma manera que OpenShift puede contener las aplicaciones que su organización está desarrollando. Su equipo de DevOps puede configurar una tubería completa de CD/CI, hacer pruebas A/B de fantasía, un seguimiento de problemas y optimizar el flujo entre varias etapas de desarrollo, pruebas e implementación utilizando OpenShift.

Puede crear nuevos proyectos, seleccionar el lenguaje que pretende usar (Python, Node.JS, GO, C#, Java) Agregar usuarios con varios privilegios y OpenShift se asegurará de que se cumplan todas las dependencias, todas las bibliotecas y marcos estén disponibles y todos los permisos se respeten.

OpenShift, OpenStack y Hybrid Cloud

No es necesario ejecutar OpenShift sobre OpenStack, pero pueden ir de la mano si lo desea. De la misma manera que asignaría a VPS en varios centros de datos utilizando su proveedor de servicios en la nube, instale OpenShift en ellos y luego comenzar a trabajar en sus aplicaciones, puede hacer lo mismo en OpenStack.

De hecho, puede segregar aplicaciones para que se ejecute entre un servicio público en la nube (como AWS) y su nube privada (construida con OpenStack). OpenShift se asegurará de que las partes de su aplicación que desee mantener en privado (por ejemplo datos del usuario) permanezca en su nube privada. Esto se logra fácilmente especificando OpenStack para ejecutar vainas relacionadas con el almacén de datos en los nodos privados. La otra carga restante puede ser manejada por la nube pública.

Conclusión

Ambos proyectos son excelentes iniciativas de Red Hat Inc. Y se aseguran de que Microsoft, Google y Amazon deban buscar competidores en lugar de tener un reinado gratuito en el mercado de la nube.