Cambiando el paradigma en el desarrollo de software

Cambiando el paradigma en el desarrollo de software

Existen nuevas tendencias en lo que hace al desarrollo de software. Nuevas términos como DevOps, Continuous Delivery, Continuous Deployment o Continuous Integration entre otros son cada vez mas habituales en las empresas.

Este grafico representa bien la diferente entre Continuous Delivery y Continuous Deployment:

Cabe destacar que el Continuous Delivery es la evolución de Continuos Integration.

La base de la integración continua es obtener las fuentes desde los versionadores como Git/CVS, compilarlo y realizar las pruebas que hagan falta, todo de forma automatizada con herramientas como Jenkins, para luego ser compilado con (por ejemplo) Maven.
En el Continuous Delivery no necesariamente hay que hacer pasajes a producción, los pasajes a producción se deciden de forma planificada con los sectores de negocio, pero cuando se decida hacer el pasaje a producción el mismo debe realizarse en poco tiempo. Y vale la aclaración: “Continuous Delivery no es Continuous Deployment”. De manera que podemos resumir Continuos Delivery como una forma de construir software de forma separada a la operación pero dejando el código del software siempre listo para ser puesto en producción.

Algo importante al hablar de Entrega Continua es que la visión general al hablar de cambios de paradigma es netamente técnica, y en realidad para poder cambiar una organización debe considerarse un fuerte apoyo ejecutivo y debe ir acompañado de cambios culturales que afectan tanto a los sectores tecnicos como a los de negocios.

Continuous Delivery ayuda a hacer las empresas más eficientes, ayuda a fomentar una cultura de equipo profesional y de alto rendimiento.

Residuos de la empresa tradicional

Procesos lentos, propensos a errores y ejecutados manuales. Le es familiar? Cuando usted libera un gran número de cambios y arreglos de una sola vez, el go-live esta predestinado a ser estresante y a menudo seguido de días (o semanas) de tareas de emergencia post-liberación.
Como cambiar esto?
Es necesario examinar el flujo del desarrollo del software. Entender cada paso en el proceso que es costoso, que es una perdida de tiempo o que en muchos casos es propenso a errores. Una vez relevado cada paso, es necesario eliminar, automatizar y acelerar cada punto hasta que se pueda poner en marcha un proceso rápido, rentable y fiable. Esta transición es basada en las prácticas y principios de la Entrega Continua.

Como puede ayudarlo SGIT?

En una organización tradicional, el conjunto de ambientes disponibles es fija: Desarrollo, prueba, UAT, QA y producción.
Los servidores son mantenidos por sectores de operaciones, y los cambios de configuración se aplican manualmente a través de un proceso de solicitud de cambio formal. Adicionalmente ante una nueva solicitud de equipamiento para una nueva máquina puede tomar semanas o incluso meses, ya que los equipamientos necesitan ser instalados en el centro de datos, con todos los costos burocráticos que eso implica.Con la entrega continua, no existe el concepto de un conjunto fijo de entornos (se crean y se destruyen al vuelo, según sea necesario).SGIT tiene experiencia implementando Entornos on Demand para el rápido aprovisionamiento de un nuevo ambiente basado en plantillas que puede ser generado automáticamente a través de una consola o portal de autoservicio. Las nuevas máquinas virtuales están listas para su uso en cuestión de minutos, y se pueden destruir automáticamente cuando ya no sean necesarias para optimizar la maximización de la eficiencia de recursos y la relación costo/beneficio.El middleware en cada máquina se instala automáticamente y configurado, y diversos conjuntos de datos están disponibles para bases de datos, incluyendo snapshots enmascarados de la base de datos de producción. Esto permite a los equipos reproducir de forma rápida y fiable entornos de producción para probar nuevas funciones o llevar a cabo las pruebas.Toda esta plataforma es considerada “Plataforma de Acceso Cero” ya que a diferencia de la infraestructura de TI tradicional que se maneja manualmente a través del sector de Operaciones, en este caso la infraestructura de TI se gestiona mediante una clara política de “no intervención”. Ni a los desarrolladores ni a los administradores se les concede el acceso de inicio de sesión a las máquinas, excepto en emergencias de producción.

Esto fue una breve reseña de nuevas tendencias en referencia al desarrollo de software. Para mas información pueden contactarnos.

A veces cuando se innova, se cometen errores. Es mejor admitirlo rápidamente y continuar con otras innovaciones.

— Steve Jobs

Guardar

Guardar

Un comentario en “Cambiando el paradigma en el desarrollo de software

Deja un comentario