OpenWebinars

Cloud Computing

Qué es OpenShift

¿Quieres saber qué es OpenShift? Te contamos todo lo que necesitas saber de esta potente plataforma de desarrollo, desde sus características hasta las ventajas que aporta su uso.

José Domingo Muñoz

José Domingo Muñoz

Experto en desarrollo

Lectura 1 minutos

Publicado el 3 de junio de 2019

Compartir

    Tabla de contenidos

Qué es OpenShift

OpenShift es la plataforma de desarrollo, con características de Cloud Computing de la capa PaaS (Plataforma como Servicio), que ofrece la empresa Red Hat.

Antes de ver las características de OpenShift, vamos a recordar qué es el Cloud Computing y en concreto qué es la capa de Plataforma como Servicio.

OpenShift lo que nos ofrece es una infraestructura, una plataforma, donde los desarrolladores de aplicaciones web, trabajando en distintos lenguajes de programación, pueden, de una manera muy sencilla, implantar sus aplicaciones, todo con características de Cloud Computing, como por ejemplo:

  • La elasticidad: OpenShift permite al desarrollador tener su aplicación, y si esa aplicación web tiene mucha demanda, muchas peticiones, de forma sencilla puede escalar la aplicación para que tenga distintos contenedores para servir la aplicación.
  • El pago por uso: OpenShift es un producto de Red Hat que podemos contratar, pero el pago va a ser en función de los recursos que necesitemos. Si nuestra aplicación tiene muchas peticiones y necesitamos escalarla, durante el tiempo que esté utilizando más recursos pagaremos más, y en el momento en que creamos oportuno reducir los recursos que estamos utilizando, en ese momento empezaremos a pagar menos.
  • OpenShift trabaja en un clúster de servidores: por eso decimos que la aplicación va a estar alojada en la nube. Ese conjunto de servidores pueden estar realmente en un servicio externo en la nube o lo podemos tener instalado en nuestros servidores de nuestro centro de datos.
  • El desarrollador no necesita conocer en profundidad las tecnologías que utiliza OpenShift: es una de las características más importantes de OpenShift, ya que así el desarrollador se puede centrar en el desarrollo de su aplicación y no conocer a fondo las tecnologías que utiliza la plataforma. OpenShift internamente utiliza Docker como gestor de contenedores, y Kubernetes para controlar la ejecución de esos contenedores en los distintos nodos del clúster. El desarrollador no necesita conocer esas tecnologías, sino que de una manera muy sencilla va a poder poner, con características de Cloud Computing, su aplicación en el clúster.
  • Permite desplegar aplicaciones en diferentes entornos: con OpenShift podemos tener diferentes entornos. Se puede tener un clúster para desarrollo, donde el desarrollador pruebe su aplicación. Incluso, dentro del flujo de integración continua, podemos hacer que el este flujo acabe trabajando con OpenShift para generar la aplicación implantada.
  • Existen varias formas de trabajar con OpenShift: con OpenShift se puede trabajar de varias formas, ya sea desde una aplicación web o desde un cliente de línea de comandos que facilita la automatización de tareas, pero OpenShift lo que realmente nos ofrece es una API RESTful a la que podemos atacar, y que además podemos realizar distintas aplicaciones propias que, trabajando con la API de OpenShift, trabaje con el clúster.
Especialízate en Cloud Computing
Domina las tecnologías cloud más demandadas. Accede a cursos, talleres y laboratorios prácticos de AWS, Microsoft Azure, Docker, Google Cloud y más.
Comenzar gratis ahora

Mejoras que introduce OpenShift a Kubernetes

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

Una de las mejoras que introduce es la posibilidad de crear, de forma automática, las imágenes que finalmente se van a utilizar para crear los contenedores.

Una de las formas que tiene para crear estas imágenes es souce2image, es decir, la creación de imágenes automáticamente a partir del código de nuestra aplicación.

Por lo tanto, un desarrollador que utilizar OpenShift, normalmente lo que hace es:

  • Centrarse en el desarrollo de su aplicación.
  • El proyecto lo guarda en un repositorio, por ejemplo, de GitHub.
  • A la hora de desplegar la aplicación, OpenShift leerá el código fuente del repositorio, e inyectará el código fuente en una imagen base Docker, para crear una nueva imagen de forma automática. Esa nueva imagen será la que utilice internamente para desplegar la aplicación.

Soluciones disponibles

Para utilizar OpenShift tenemos distintas posibilidades o versiones:

  • OKD (Origin): podemos utilizar la versión OKD (Origin), que es la distribución de la comunidad de software libre, que podemos descargar y montar nuestro clúster de OpenShift en s nuestros servidores.
  • OpenShift Online: Red Hat nos ofrece un clúster para que trabajar directamente con el mismo, para ello tenemos que usar esta versión, que se ejecuta en el cloud público. Para utilizarla hay que darse de alta en Red Hat y tenemos dos planes para elegir, uno gratuito (Free), que tiene una serie de limitaciones y simplemente sirve para experimentar con OpenShift, y otro profesional (Pro), que nos ofrece todas las funcionalidades para trabajar y para poner nuestras aplicaciones en producción.
  • OpenShift Dedicated: esta es la versión que debemos usar si necesitamos un clúster de OpenShift para nuestra empresa o para nuestro uso privado. En este caso es Red Hat quién construye el mismo.
  • OpenShift Container Platform: es la versión que se utiliza es caso de necesitar que Red Hat nos proporcione asesoramiento para construir un clúster en nuestras instalaciones.

Tecnologías soportadas

Algunas de las tecnologías soportadas por OpenShift son: 3scale APIcast, Java, Jenkins, MongoDB, Node.js, Python, Ruby o PostgreSQL.

Para ver el listado completo de tecnologías que soporta OpenShift, tanto los diferentes lenguajes de programación soportados para desplegar aplicaciones, las bases de datos que se pueden utilizar o los diferentes frameworks o plantillas soportados, podemos hacerlo accediendo a:

https://www.openshift.com/products/features#supported-container-images

El número de lenguaje de programación que utiliza OpenShift es muy elevado, por lo que resulta una solución muy práctica y muy acertada para que los desarrolladores, sin necesidad de saber la dinámica de trabajo de contenedores de Docker y Kubernetes, tengan la posibilidad de, a partir de código fuente, tener en un clúster de OpenShift su aplicación, además con todas las características y todas las funcionalidades que proporciona Kubernetes para la gestión de contenedores.

Construye sistemas y aplicaciones en la nube
Lleva la formación de tu equipo al siguiente nivel con cursos, talleres y laboratorios prácticos de AWS, Microsoft Azure, Docker, Google Cloud y más.
Solicitar más información

Compartir este post

También te puede interesar

Cómo empezar a usar OpenShift
Blog

Cómo empezar a usar OpenShift

Si quieres empezar a utilizar OpenShift, te indicamos las diferentes posibilidades que existen y te mostramos paso a paso cómo comenzar de...

José Domingo Muñoz