La evolución del desarrollo de software ha sido notable, avanzando desde las primitivas tarjetas perforadas hasta el modelo avanzado de nube que tenemos hoy. Este artículo explora la historia del desarrollo de software, su viaje hacia la computación en la nube y los componentes relevantes que componen este proceso.
Historia del Desarrollo: evolución hacia el Modelo Cloud
El desarrollo de software se ha transformado significativamente desde los días de las primitivas tarjetas perforadas hasta la actual era digital. Las tarjetas perforadas alguna vez fueron el estándar, pero su capacidad limitada y su falta de seguridad las hicieron obsoletas. La aparición de Internet proporcionó una plataforma para la digitalización, seguida de la introducción del control de versiones, que mejoró la entrega al cliente. La implementación de Integración Continua e Implementación Continua (CI/CD) simplificó el proceso al eliminar errores humanos y aumentar la productividad. Con la introducción de GIT, la gestión del control de versiones se volvió más eficiente, convirtiéndose en un punto central para los desarrolladores. Hoy en día contamos con diversas herramientas para garantizar la calidad, la seguridad y la optimización del tiempo de desarrollo.
Componentes de un Desarrollo Cloud
El desarrollo cloud se sustenta en tres componentes principales: SCM, ALM y Monitorización & Trazabilidad.
- SCM (Source Code Management): el uso de la gestión de código fuente (SCM) es crucial en el desarrollo de software, ya que ayuda a gestionar el historial de versiones del código y promueve la colaboración entre los desarrolladores. Al implementar una estrategia de ramificación, los desarrolladores pueden disfrutar de importantes ventajas en el proceso de desarrollo.
- ALM (Application Lifecycle Management): proporciona a los desarrolladores las herramientas necesarias para llevar el código desde el desarrollo hasta la ejecución y ponerlo a disposición del público. Esto incluye generación de artefactos, control de calidad y seguridad, plataformas de infraestructura, control de acceso y consumo, y un ejecutor como Jenkins para orquestar estos procesos. ALM garantiza una transición perfecta del desarrollo a la producción.
- Monitorización & Trazabilidad: son componentes críticos que nos permiten evaluar si nuestra aplicación satisface las necesidades del cliente. Al monitorear el uso y la actividad del usuario, podemos recopilar información sobre cómo se utiliza la aplicación. La trazabilidad nos permite recopilar datos sobre la aplicación, eventos y errores en un momento específico, y realizar las mejoras necesarias.
Ciclo de vida del producto
El proceso de desarrollo en el entorno de computación en la nube sigue un ciclo de vida bien definido, que implica la carga de código en el repositorio GIT, su seguimiento y evaluación por parte de usuarios autorizados.
Perspectivas de un Código Nuevo
Tener un proceso definido al desarrollar código nuevo es crucial. Este proceso debe consistir en cargar el código en un repositorio GIT, realizar análisis de calidad, compilar el código para crear el binario, ejecutarlo, garantizar la trazabilidad, publicarlo en el API Manager y monitorear el uso para cumplir con los objetivos del cliente.
El desarrollo de la nube ha revolucionado la forma en que concebimos, desarrollamos y entregamos software. Con una rica historia de avances tecnológicos y una variedad de componentes esenciales, el desarrollo de la nube se ha convertido en un motor clave de innovación y progreso en el mundo digital.