OpenShift y OpenStack se utilizan para construir pla­ta­fo­r­mas de nube altamente di­s­po­ni­bles y es­ca­la­bles. Co­m­bi­na­dos, estos sistemas cubren multitud de ne­ce­si­da­des, desde el apro­vi­sio­na­mie­n­to de hardware vi­r­tua­li­za­do hasta el de­sa­rro­llo y fu­n­cio­na­mie­n­to de apli­ca­cio­nes en co­n­te­ne­do­res. Resulta es­pe­cia­l­me­n­te in­te­re­sa­n­te su uso para la apli­ca­ción de es­tra­te­gias de nube híbrida y, por tanto, OpenShift y OpenStack son muy populares entre grandes or­ga­ni­za­cio­nes que operan a nivel mundial.

OpenShift vs. OpenStack: vista general

Hi­s­tó­ri­ca­me­n­te, OpenStack surgió algo antes que OpenShift. El de­sa­rro­llo de ambos proyectos es también re­pre­se­n­ta­ti­vo de la tra­n­si­ción de las máquinas virtuales a los co­n­te­ne­do­res de apli­ca­cio­nes. Esta vi­r­tua­li­za­ción basada en co­n­te­ne­do­res se ha impuesto como la te­c­no­lo­gía de vi­r­tua­li­za­ción dominante en la última década.

¿Cuáles son las si­mi­li­tu­des y di­fe­re­n­cias entre OpenShift y OpenStack?

En primer lugar, OpenShift y OpenStack son proyectos de código abierto que se crearon alrededor de 2010 y 2011. Ambos se utilizan para crear sistemas altamente di­s­po­ni­bles y es­ca­la­bles en entornos de nube híbrida. Por esta razón, son im­ple­me­n­ta­dos por grandes or­ga­ni­za­cio­nes a nivel mundial y pueden funcionar en una amplia gama de in­frae­s­tru­c­tu­ras in­fo­r­má­ti­cas su­b­ya­ce­n­tes.

Tanto OpenShift como OpenStack pueden en­te­n­de­r­se como una especie de “sistema operativo de la nube”. Sin embargo, deben tenerse en cuenta las di­fe­re­n­cias entre los dos. OpenShift se utiliza para el de­sa­rro­llo y la ex­plo­ta­ción de apli­ca­cio­nes en co­n­te­ne­do­res. Los usuarios pueden apro­vi­sio­nar, manejar y su­pe­r­vi­sar las apli­ca­cio­nes y los servicios por ellos mismos, cuyo objetivo se centra en el de­sa­rro­llo op­ti­mi­za­do y en flujos de trabajo DevOps.

OpenStack comienza en una capa de ab­s­tra­c­ción más profunda. La pla­ta­fo­r­ma utiliza la base de hardware di­s­tri­bui­do para construir una in­frae­s­tru­c­tu­ra de nube vi­r­tua­li­za­da. Se apro­vi­sio­nan máquinas virtuales con núcleos de CPU y RAM, así como redes virtuales y al­ma­ce­na­mie­n­to masivo di­s­tri­bui­do. Siguiendo el modelo de au­to­se­r­vi­cio, los usuarios solicitan au­to­má­ti­ca­me­n­te los recursos. Veamos las di­fe­re­n­cias pri­n­ci­pa­les entre OpenShift y OpenStack:

Sistema OpenShift OpenStack
Fa­bri­ca­n­te Red Hat OpenInfra Fou­n­da­tion
Tipo de vi­r­tua­li­za­ción Vi­r­tua­li­za­ción basada en co­n­te­ne­do­res Máquinas virtuales o hardware vi­r­tua­li­za­do
Te­c­no­lo­gía de vi­r­tua­li­za­ción K8s Hi­pe­r­vi­so­res como KVM, XEN, ESXi
Nivel de control Di­s­tri­bui­do Ce­n­tra­li­za­do
Modelo de servicio Platform-as-a-Service (PaaS) In­fra­s­tru­c­tu­re-as-a-Service (IaaS)
Uso de recursos en la nube Utiliza los recursos de la nube para construir la capa de apli­ca­ción Pro­po­r­cio­na recursos en la nube basados en hardware vi­r­tua­li­za­do

¿Cómo se utilizan OpenShift y OpenStack?

Con OpenStack, una or­ga­ni­za­ción construye su propio entorno de nube siguiendo el modelo IaaS (In­fra­s­tru­c­tu­re-as-a-Service). Como resultado, se crea una nube interna que ya resulta familiar gracias a AWS y las al­te­r­na­ti­vas a AWS. El hardware di­s­tri­bui­do geo­grá­fi­ca­me­n­te se apro­vi­sio­na como recursos en la nube y se pone a di­s­po­si­ción del sistema a través de varias in­te­r­fa­ces.

OpenShift, por su parte, se encarga de la gestión ce­n­tra­li­za­da del de­sa­rro­llo y el fu­n­cio­na­mie­n­to de las apli­ca­cio­nes. Su software se basa en Ku­be­r­ne­tes (K8s) y controla los clusters K8s a través de los límites de la nube. Siguiendo el modelo PaaS (Platform-as-a-Service), las funciones del sistema pueden ge­s­tio­nar­se a través de una interfaz web.

A pesar de que sus nombres suenan similares, OpenShift y OpenStack no son sistemas re­la­cio­na­dos. De hecho, pueden uti­li­zar­se de forma in­de­pe­n­die­n­te. Sin embargo, también es posible utilizar ambos en co­m­bi­na­ción. Como parte de una es­tra­te­gia de nube híbrida, OpenStack puede uti­li­zar­se para construir una nube privada. OpenShift, en cambio, utiliza los recursos que contiene el entorno para pro­po­r­cio­nar y gestionar apli­ca­cio­nes y servicios. También existe la po­si­bi­li­dad de desplegar co­m­po­ne­n­tes de OpenStack en clusters K8s u OpenShift.

A co­n­ti­nua­ción, ana­li­za­mos en detalle las ventajas y de­s­ve­n­ta­jas de ambas te­c­no­lo­gías. Además, te mostramos es­ce­na­rios de apli­ca­ción in­te­re­sa­n­tes y co­n­clui­mos con una co­m­pa­ra­ción entre sistemas.

OpenStack: la pla­ta­fo­r­ma de nube abierta

OpenStack es una pla­ta­fo­r­ma abierta para construir entornos de nube es­ca­la­bles. El software es una capa de ab­s­tra­c­ción sobre la in­frae­s­tru­c­tu­ra de hardware de­s­ce­n­tra­li­za­da y su función principal consiste en apro­vi­sio­nar y asignar ca­pa­ci­da­des de co­mpu­tación, red y al­ma­ce­na­mie­n­to masivo. Siguiendo el modelo de In­fra­s­tru­c­tu­re-as-a-Service (IaaS), los propios usuarios solicitan los recursos que necesitan. Además de las API obli­ga­to­rias, existe una interfaz web para la ad­mi­ni­s­tra­ción del sistema.

OpenStack no solo incluye el apro­vi­sio­na­mie­n­to de recursos, sino también otras funciones. Entre ellas se en­cue­n­tran la gestión de la identidad de los usuarios, la gestión de las entradas DNS y un servicio de imagen para gestionar las imágenes de las máquinas virtuales. En la práctica, las funciones in­di­vi­dua­les se en­ca­p­su­lan como co­m­po­ne­n­tes in­di­vi­dua­les. Hay más de tres docenas de co­m­po­ne­n­tes en la versión actual de OpenStack. Por lo general, no se utilizan todos en un proyecto. A co­n­ti­nua­ción, te ofrecemos un breve resumen de los co­m­po­ne­n­tes más im­po­r­ta­n­tes:

Co­m­po­ne­n­te de OpenStack Fu­n­cio­na­li­dad De­s­cri­p­ción
Nova Servicio in­fo­r­má­ti­co Apro­vi­sio­na núcleos de CPU y memoria vi­r­tua­li­za­dos.
Swift Memoria de objetos Almacena objetos tipo S3 basándose en al­ma­ce­na­mie­n­to masivo vi­r­tua­li­za­do y re­du­n­da­n­te.
Glance Servicio de imagen Gestiona las imágenes VM para el fu­n­cio­na­mie­n­to de la pla­ta­fo­r­ma.
Horizon Panel de control de la web Los usuarios se conectan a través del panel de control y gestionan los co­m­po­ne­n­tes in­di­vi­dua­les del sistema desde allí.
Keystone Servicio de identidad Pro­po­r­cio­na au­te­n­ti­ca­ción y au­to­ri­za­ción de usuarios en todo el sistema, basándose en la API.
Cinder Memoria en bloque Ofrece un al­ma­ce­na­mie­n­to masivo de alta di­s­po­ni­bi­li­dad y tolerante a fallos, que funciona como un disco duro escalable en la nube.
Neutron Gestión de red Gestiona la in­frae­s­tru­c­tu­ra de red virtual (VNI) del sistema.
Ironic Apro­vi­sio­na­mie­n­to de “bare metal” Gestiona la in­frae­s­tru­c­tu­ra “bare metal”. Cubre el ciclo de vida completo de las máquinas de “bare metal”, incluido la ad­qui­si­ción, el apro­vi­sio­na­mie­n­to, el ma­n­te­ni­mie­n­to y el de­s­ma­n­te­la­do.
Trove Servicio de base de datos Apro­vi­sio­na y gestiona bases de datos en la nube es­ca­la­bles y fiables.
Magnum Or­que­s­ta­ción de co­n­te­ne­do­res Implanta motores de co­n­te­ne­do­res como K8s y sus al­te­r­na­ti­vas basados en máquinas virtuales o en in­frae­s­tru­c­tu­ra “bare metal”.

¿Cuáles son las ventajas de OpenStack?

En primer lugar, OpenStack ofrece a las or­ga­ni­za­cio­nes la opo­r­tu­ni­dad de construir su propia in­frae­s­tru­c­tu­ra de nube basada en la te­c­no­lo­gía existente. Esto supone un gran ahorro, ya que no es necesario empezar de cero. Además, OpenStack consta de co­m­po­ne­n­tes in­di­vi­dua­les que se co­n­fi­gu­ran según los re­qui­si­tos. Es un software de código abierto que está a di­s­po­si­ción de todo el mundo. Por último, el de­sa­rro­llo y la do­cu­me­n­ta­ción de la pla­ta­fo­r­ma lo llevan a cabo la comunidad OpenStack.

¿Cuáles son las de­s­ve­n­ta­jas de OpenStack?

Debido a la co­m­ple­ji­dad del software, la in­s­ta­la­ción de OpenStack puede ser co­m­pli­ca­da. Por un lado, el paquete principal incluye un gran número de co­m­po­ne­n­tes in­di­vi­dua­les que deben co­n­fi­gu­rar­se por separado y, por el otro, la do­cu­me­n­ta­ción aportada por la comunidad también va a veces por detrás de las co­n­di­cio­nes reales. Por ello, para co­n­tra­rre­s­tar ambas de­s­ve­n­ta­jas, hay que recurrir a es­pe­cia­li­s­tas o trabajar con servicios te­c­no­ló­gi­cos. Sin embargo, esto conlleva costes adi­cio­na­les. Dado que OpenStack se utiliza casi ex­clu­si­va­me­n­te para proyectos de mayor en­ve­r­ga­du­ra, en la mayoría de los casos deberías contar con el pre­su­pue­s­to co­rre­s­po­n­die­n­te.

¿Para qué fines es más adecuado OpenStack?

OpenStack es el sistema ideal para construir tu propia in­frae­s­tru­c­tu­ra de nube en un hardware de co­mpu­tación de­s­ce­n­tra­li­za­do. El software es pa­r­ti­cu­la­r­me­n­te útil en el área de las máquinas virtuales (VM). En co­m­bi­na­ción con OpenShift o so­lu­cio­nes de gestión co­m­pa­ra­bles de K8s, las apli­ca­cio­nes basadas en VM y en co­n­te­ne­do­res pueden funcionar en paralelo. La fu­n­cio­na­li­dad para la vi­r­tua­li­za­ción de co­n­te­ne­do­res se ofrece ya de forma nativa con el co­m­po­ne­n­te “Magnum”.

OpenShift: la potente pla­ta­fo­r­ma de apli­ca­cio­nes y de­sa­rro­llo

OpenShift se utiliza para construir entornos di­s­tri­bui­dos y es­ca­la­bles de apli­ca­ción y de­sa­rro­llo según el modelo Platform-as-a-Service (PaaS). Este software pro­po­r­cio­na un entorno de ejecución completo en el que se de­s­plie­gan, ejecutan, gestionan y orquestan los co­n­te­ne­do­res. Las he­rra­mie­n­tas in­te­gra­das si­m­pli­fi­can los modernos flujos de trabajo de de­sa­rro­llo e im­pla­n­ta­ción.

OpenShift utiliza una di­s­tri­bu­ción especial de Ku­be­r­ne­tes (K8s) como su­b­e­s­tru­c­tu­ra. Esta puede de­s­ple­gar­se a través de los límites de la nube y la in­frae­s­tru­c­tu­ra, logrando una ex­pe­rie­n­cia de usuario co­n­si­s­te­n­te. La fu­n­cio­na­li­dad principal del K8 se co­m­ple­me­n­ta con funciones de seguridad y su­pe­r­vi­sión y se basa en la gestión ce­n­tra­li­za­da de políticas. Esto garantiza un alto nivel de calidad en todo el entorno de software de una or­ga­ni­za­ción. Para la im­ple­me­n­ta­ción se utilizan pri­n­ci­pa­l­me­n­te ope­ra­do­res de OpenShift:

Co­m­po­ne­n­tes de OpenShift Ex­pli­ca­ción
OpenShift API Server El servidor API de OpenShift comprueba y configura los recursos de OpenShift, como proyectos, rutas y pla­n­ti­llas.
OpenShift Co­n­tro­ller Manager El OpenShift Co­n­tro­ller Manager mo­ni­to­ri­za etcd en busca de cambios en los objetos de OpenShift, como proyectos, rutas y objetos de co­n­tro­la­do­res de pla­n­ti­llas. Además, utiliza la API para conseguir el estado deseado.
OpenShift OAuth API Server El OpenShift OAuth API Server comprueba y configura los datos para la au­te­n­ti­ca­ción en la pla­ta­fo­r­ma de co­n­te­ne­do­res OpenShift. Esto incluye usuarios, grupos y tokens OAuth.
OpenShift OAuth Server Los usuarios solicitan un token al servidor OAuth de OpenShift para au­te­n­ti­car­se en la API.

¿Cuáles son las ventajas de OpenShift?

OpenShift domina la co­m­ple­ji­dad operativa asociada a la ad­mi­ni­s­tra­ción de clústeres K8s au­to­ge­s­tio­na­dos. Se pueden gestionar de forma ce­n­tra­li­za­da varios clústeres K8s a través de los límites de las in­frae­s­tru­c­tu­ras de nube pública y privada. Siguiendo el enfoque PaaS, los de­sa­rro­lla­do­res pueden solicitar au­to­má­ti­ca­me­n­te recursos para sus proyectos a través de una interfaz web. Las he­rra­mie­n­tas y flujos de trabajo in­te­gra­dos para in­te­gra­ción continua y co­n­ti­nuous delivery (CI/CD) completan el abanico de funciones, por lo que permite reducir drá­s­ti­ca­me­n­te los tiempos de entrega.

En general, OpenShift es práctico debido a sus medidas de seguridad in­te­gra­das. Con “Quay”, por ejemplo, se dispone de un registro de co­n­te­ne­do­res es­pe­cia­l­me­n­te protegido. La au­to­ri­za­ción y la au­te­n­ti­ca­ción de extremo a extremo limitan el acceso de los usuarios a las distintas áreas del sistema. Asimismo, la po­si­bi­li­dad de alojar clústeres in­di­vi­dua­les en di­fe­re­n­tes regiones geo­grá­fi­cas permite un mejor cu­m­pli­mie­n­to en términos de pro­te­c­ción de datos.

¿Cuáles son las de­s­ve­n­ta­jas de OpenShift?

OpenShift solo es eje­cu­ta­ble en sistemas ope­ra­ti­vos es­pe­cia­les de Red Hat, como “Red Hat En­te­r­pri­se Linux CoreOS” (RHCOS) y “Red Hat En­te­r­pri­se Linux” (RHEL). Además, la in­s­ta­la­ción requiere mucho tiempo. Por ejemplo, la co­n­fi­gu­ra­ción de los proyectos más grandes puede llevar varias semanas. Debido a las pre­cau­cio­nes de seguridad más estrictas, se utilizan imágenes de co­n­te­ne­do­res es­pe­cia­l­me­n­te pro­te­gi­das del registro de co­n­te­ne­do­res “Quay” de Red Hat.

¿Para qué fines es más adecuado OpenShift?

Sobre la base de OpenShift, se im­ple­me­n­tan so­lu­cio­nes propias de PaaS (Platform-as-a-Service), SaaS (Software-as-a-Service) y CaaS (Co­n­tai­ne­rs-as-a-Service ), lo que es cla­ra­me­n­te útil para grandes or­ga­ni­za­cio­nes. Sin embargo, para de­sa­rro­lla­do­res in­di­vi­dua­les, OpenShift puede resultar demasiado grande y difícil de manejar.

OpenShift vs. OpenStack: co­m­pa­ra­ción

Propiedad OpenShift OpenStack
Fuente de su­mi­ni­s­tro del software Además de las versiones em­pre­sa­ria­les ofrecidas por Red Hat, OKD es una edición co­mu­ni­ta­ria de libre acceso. El de­sa­rro­llo de OpenStack está sujeto a la comunidad, liderada por la Fundación OpenInfra. Además de la versión oficial de libre acceso, las pri­n­ci­pa­les casas de in­fo­r­má­ti­ca ofrecen di­s­tri­bu­cio­nes de pago.
Modelo de de­s­plie­gue Las im­pla­n­ta­cio­nes de nubes múltiples e híbridas son posibles, pero pueden ser complejas. Es re­co­me­n­da­ble utilizar me­ca­ni­s­mos de de­s­plie­gue es­ta­n­da­ri­za­dos. OpenStack suele funcionar in-situ en la propia in­frae­s­tru­c­tu­ra in­fo­r­má­ti­ca de la empresa. Dado que las im­pla­n­ta­cio­nes son complejas, existen di­s­tri­bu­cio­nes pe­r­so­na­li­za­das de grandes pro­vee­do­res, que incluyen asi­s­te­n­cia pe­r­so­na­li­za­da. También hay varios enfoques basados en la nube y so­lu­cio­nes ge­s­tio­na­das.
Pla­ta­fo­r­mas en la nube co­m­pa­ti­bles Como solución au­to­ge­s­tio­na­da, OpenShift puede funcionar en prá­c­ti­ca­me­n­te cualquier in­frae­s­tru­c­tu­ra. Como solución ge­s­tio­na­da, el software se ejecuta en las pla­ta­fo­r­mas en la nube AWS, Azure, Google Cloud e IBM Cloud. OpenStack se ejecuta en casi todas las pla­ta­fo­r­mas de nube en máquinas virtuales, así como en máquinas “bare metal” a través de un hi­pe­r­vi­sor. Además, los co­m­po­ne­n­tes pueden in­s­ta­lar­se en entornos de co­n­te­ne­do­res de los pri­n­ci­pa­les pro­vee­do­res.
In­s­ta­la­ción Requiere un entorno de clúster o nube para su in­s­ta­la­ción. Los co­n­tro­la­do­res de OpenStack se instalan in-situ o en la in­frae­s­tru­c­tu­ra pro­po­r­cio­na­da por un proveedor.
La­n­za­mie­n­tos Hay hasta tres la­n­za­mie­n­tos al año. No­r­ma­l­me­n­te hay dos la­n­za­mie­n­tos al año.
Gestión de ac­tua­li­za­cio­nes Las ac­tua­li­za­cio­nes se si­m­pli­fi­can mediante el “Operador de versiones del clúster”. Las ac­tua­li­za­cio­nes son complejas y conllevan el riesgo de dañar el sistema. Las ac­tua­li­za­cio­nes de los distintos co­m­po­ne­n­tes deben rea­li­zar­se en un orden de­te­r­mi­na­do.
Gestión de la imagen El registro de co­n­te­ne­do­res propio “Quay” de Red Hat contiene imágenes de co­n­te­ne­do­res libres de vu­l­ne­ra­bi­li­da­des. El co­m­po­ne­n­te “Glance” gestiona las imágenes VM uti­li­za­das en el apro­vi­sio­na­mie­n­to del sistema.
Uso de pla­n­ti­llas Además de las pla­n­ti­llas propias de OpenShift, se utilizan potentes ope­ra­do­res para es­ta­n­da­ri­zar el de­s­plie­gue y el fu­n­cio­na­mie­n­to de las apli­ca­cio­nes. El de­s­plie­gue de OpenStack es más fácil y re­pro­du­ci­ble gracias a he­rra­mie­n­tas del sector como Chef, Puppet y Ansible. También hay he­rra­mie­n­tas basadas en helm y charms para el de­s­plie­gue en co­n­te­ne­do­res.
Gestión de la red OpenShift admite redes definidas por software (SDN), incluidas las redes su­pe­r­pue­s­tas mediante Open vSwitch (OVS). El co­m­po­ne­n­te “Neutron” de OpenStack pro­po­r­cio­na SDN según el modelo “Ne­t­wo­r­ki­ng-as-a-Service” (NaaS).
Interfaz web La so­fi­s­ti­ca­da y cómoda interfaz web de OpenShift se considera como una de las mejores del sector. Con el panel de control “Horizon”, una interfaz web probada para la gestión de OpenStack está di­s­po­ni­ble de fábrica.
Ca­na­li­za­ción CI/CD integrada Mientras que las versiones más antiguas seguían uti­li­za­n­do el estándar “Jenkins”, el más reciente “Tekton” se utiliza ahora como estándar. Dado que el enfoque de OpenStack se centra pri­n­ci­pa­l­me­n­te en el apro­vi­sio­na­mie­n­to de recursos vi­r­tua­li­za­dos, no se integra por defecto ninguna solución dedicada de CI/CD.
Curva de apre­n­di­za­je OpenShift se considera más fácil de manejar que los K8 pelados. Si se utiliza una solución ge­s­tio­na­da, el software puede uti­li­zar­se con relativa facilidad. Debido a la co­m­ple­ji­dad de OpenStack, la curva de apre­n­di­za­je se considera bastante pro­nu­n­cia­da. El gran número de co­m­po­ne­n­tes in­di­vi­dua­les puede suponer una nueva curva de apre­n­di­za­je cuando se disponga de fu­n­cio­na­li­da­des adi­cio­na­les.
Elementos de seguridad Las amplias funciones de seguridad son una de las ventajas más de­s­ta­ca­das de utilizar OpenShift. El co­m­po­ne­n­te “Keystone” pro­po­r­cio­na funciones básicas de au­te­n­ti­ca­ción y au­to­ri­za­ción de usuarios.
Uso em­pre­sa­rial El software es utilizado por más de dos mil or­ga­ni­za­cio­nes en todo el mundo. Además, muchas grandes empresas de in­fo­r­má­ti­ca ofrecen so­lu­cio­nes es­pe­cia­les de OpenShift. Las pri­n­ci­pa­les empresas de in­fo­r­má­ti­ca ofrecen di­s­tri­bu­cio­nes es­pe­cí­fi­cas y co­m­pa­ti­bi­li­dad para OpenStack. Entre ellas se en­cue­n­tran Red Hat, VMware, IBM, SUSE, Canonical, OVH, Rackspace, Mirantis y Dell.
Ir al menú principal