
GitHub en palabras sencillas es una plataforma web en donde varios programadores pueden guardar y desarrollar un proyecto de programación en forma remota, manteniendo una raíz común en forma colaborativa, evitando que cada programador sea una isla y varios programadores puedan interactuar sobre el mismo código, manteniendo un registro de los cambios del código y de las interacciones de los programadores.
Sin lugar a duda la herramienta de control de cambios de programación más conocida del mercado.
Originalmente “Git” fue diseñado por Linus Torvalds (el mismo creador de Linux) en el 2005, como un proyecto de código abierto y completamente gratuito, posteriormente una empresa utilizó la tecnología de Git y le incorporó una plataforma web con el nombre de GitHub en el 2008, potencializando las características iniciales de Git. El 2018 se cerró la compra de GitHub por parte de Microsoft por 7.500 millones de dólares.
La idea de Microsoft era incorporarla poco a poco a su ecosistema de programación, que incluso en la actualidad tiene integración nativa con su IA de Copilot.
Cuando aparece Red Hat OpenShift Dev Spaces muchos inmediatamente lo comparan con GitHub indicando que es lo mismo, pero en vez de ser de Microsoft es de RedHat, pero realmente son dos cosas diferentes, tanto en capacidades como en temas de funcionalidades.
GitHub esencialmente es un sistema de controles de versiones distribuidos y una plataforma para alojar y gestionar código fuente. Un programador cuando se integra a un proyecto literalmente “clona el repositorio donde esta el código” en su computador o portátil y luego los cambios que realiza los envía o sincroniza de vuelta con el repositorio central, donde el Jefe de Proyecto lo revisa y lo va a integrando a la raíz o tronco central del proyecto.
En cambio, Red Hat OpenShift Dev Spaces, proporciona a los programadores espacios de trabajo totalmente integrados y preconfigurados que son ejecutados en un clúster de OpenShift. Esto significa que en vez de tener un entorno local de desarrollo como el que ocupa GitHub por cada programador con todos los problemas de dependencias, bibliotecas, etc. que se analizaron el artículo de Docker y Kubernetes anterior. (El Ecosistema DevOps: Docker, Kubernetes y OpenShift Explicados)
Red Hat OpenShift Dev Spaces proporciona un entorno listo y dinámico sin una serie de problemas que las empresas y programadores experimentan cuando ocupan GitHub, aparte hay que considerar que con Red Hat OpenShift Dev Spaces no se descarga nada en la maquina local del programador para trabajar, porque todos los programadores interactúan directamente sobre un navegador web, lo que se denomina (Development Environment as a Service o DEaaS).
¿Por Qué Adoptar Red Hat OpenShift Dev Spaces?
Cuando empezó el trabajo colaborativo era indispensable mantener un control de versiones que sin lugar a duda GitHub ayudo a resolver este problema, en la actualidad los equipos de desarrollo no solo experimentan ese problema, sino varios más que a continuación vamos a indicar:
1. Elimina la Frase del Programador “No se cual es el problema, porque en mi maquina funciona”
Lo más típico de escuchar en los equipos de desarrollo y que se pierde mucho tiempo en depurar son los errores que se producen por el manejo de diferentes librerías, versiones y bibliotecas entre el espacio de trabajo del programador y el entorno de producción, que, si bien con Dockers y Kubernetes en muchos casos se pueden solucionar, existen otros casos más de lo que se imaginan que no representan una solución, sino un problema a mediano y largo plazo.
Red Hat OpenShift Dev Spaces resuelve esto de raíz, debido a que asegura que cada programador accede a un entorno de trabajo idéntico y replicable, es decir trabaja sobre el mismo escenario del entorno de producción en OpenShift, lo que ayuda a tener un entorno de trabajo unificado, evitando que incluso versiones de producción dependan del entorno inicial del desarrollador que en el tiempo incluso no se pueden mantener.
2. Seguridad Centralizada y Robusta
En un equipo de trabajo tradicional que ocupa GitHub el código fuente se encuentra disperso entre todas las computadoras o portátiles de los programadores, que se constituye en un riesgo de seguridad (aunque los programadores tengan partes parciales del total del código fuente), por lo tanto, el concepto de código propietario corre el riesgo de filtrarse fácilmente entre terceros y peor si aquello esta en repositorios web que terceros pueden acceder sin ningún control.
Con Red Hat OpenShift Dev Spaces se mantiene siempre el código centralizado y 100% seguro dentro de un clúster de OpenShift, porque nunca el código ha sido descargado en los computadores de los programadores y solo el acceso se realiza mediante un navegador web, incorporando características de seguridad mediante RBAC (control de acceso basado en roles) y los contextos de seguridad de los contenedores de OpenShift, permitiendo tener a las empresas el 100% de control y seguridad en el desarrollo de sus aplicaciones de producción.
3. Agilidad en el Onboarding de los Programadores
Cuando un programador se incorpora a un proyecto de desarrollo en GitHub, el jefe de proyecto tiene que parametrizar una serie de opciones en la plataforma, lo que constituye muchas veces en algo engorroso y que consume mucho tiempo, para que al final muchas veces solo termine diciéndole “Clona el Repositorio”, como un mantra, dejando a la suerte al programador a partir de esta etapa.
En cambio, en Red Hat OpenShift Dev Spaces, todo este proceso se reduce a minutos, porque se genera un enlace para que el programador acceda a un espacio de trabajo completamente funcional y listo para empezar a trabajar, sin la necesidad que el programador tenga que instalar editores, bibliotecas, dependencias y una serie de modificaciones en su configuración local para que el código clonado pueda empezar a funcionar y recién pueda empezar a trabajar.
Es muy común incluso que, debido a actualizaciones o alteraciones del equipo local del desarrollador, el mismo desarrollo no funcione y el programador pierda mucho tiempo en resolver este tema de incompatibilidades por actualizaciones o parches, para luego replicar su trabajo en el repositorio de GitHub, en cambio en Red Hat OpenShift Dev Spaces, esto nunca sucede.
Porque el programador solo necesita una dirección web o enlace y un navegador web para realizar su trabajo, olvidándose de tener una configuración específica para trabajar sobre cierto código y esto se complica más cuando el programador tiene que trabajar con varios desarrollos que tienen distintas bibliotecas, dependencias o versiones del software base, esto es una verdadera pesadilla para el programador, que literalmente trata de no tocar nada de su computador o portátil para evitar problemas.
4. Colaboración en Tiempo Real en Conjunto
GitHub se basa en una colaboración asincrónica, es decir el programador codifica, luego lo sube a una rama del árbol de programación y el jefe del proyecto o un administrador tiene que depurar ese código para integrarlo al tronco principal de desarrollo.
Un desarrollo puede tener decenas o cientos de ramas dependiendo del tamaño o la complejidad del proyecto y lo que hace que muchas veces, si al administrador o jefe del proyecto se le pasa un error, al integrarlo al tronco o rama principal del proyecto en el área de producción, el software o aplicativo presentará fallas que muchas veces son complejas de solucionar y no se solucionan simplemente con un “Ctrl + Z”.
En cambio, con Red Hat OpenShift Dev Spaces pueden compartir sus espacios de trabajo, permitiendo a los demás compañeros revisar el código de ejecución, y teniendo una colaboración totalmente sincrónica, pueden depurar problemas en conjunto con otros programadores y resolver todas las dudas o problemas de manera más eficiente, como si estuvieran todos realmente en el mismo lugar físico de trabajo, fomentando realmente la interacción.
Esto ayuda a probar cambios en un entorno 100% seguro y de las mismas características del que se encuentra en producción, ahorrando un tiempo impresionante y evitando que un programador ocupe una lógica de trabajo que no se ajuste a las demás lógicas de los otros programadores.
De nada sirve que un programador este trabajando todo un día completo en una rutina, para que luego cuando la cargue a alguna de las ramas del desarrollo, el jefe de proyecto le realice observaciones que produzcan que tenga que codificarse nuevamente todo el código por algún detalle omitido, Red Hat OpenShift Dev Spaces mejora la unificación y calidad del código desde el inicio del proyecto en un entorno realmente 100% colaborativo y altamente productivo.
Es innegable que GitHub es una herramienta que todo programador debe conocer y manejar para el control de código fuente, pero Red Hat OpenShift Dev Spaces no es solo un paso hacia adelante del trabajo de programación colaborativa, sino que presenta una serie de ventajas de consistencia, seguridad, calidad y agilidad sorprendente, para que los equipos de desarrollo se enfoquen en lo que realmente importa, escribir código de alta calidad de la forma más rápida y confiable para el desarrollo de las aplicaciones y no estén enfocados en depurar y unificar códigos de distintas fuentes que eso a la larga siempre se transforma en una pesadilla, que nadie quiere experimentar.
Para más detalles técnicos o si necesitas explorar nuevas alternativas, contáctanos.