Open Source @ UNA

Repositorio Open Source de documentación en nuevas tecnologías


Project maintained by tfg2021-escinf-una Hosted on GitHub Pages — Theme by mattgraham

Regresar

DevOps

De acuerdo con Microsoft Azure (2021), DevOps es “una combinación de los términos ingleses development (desarrollo) y operations (operaciones), designa la unión de personas, procesos y tecnología para ofrecer valor a los clientes de forma constante” (parr.1). Esto quiere decir que la metodología DevOps consiste en una unión entre las fases de desarrollo y operación del producto, facilitando la comunicación entre los equipos y con los clientes.

Al utilizar esta metodología, los equipos de desarrollo son capaces de mejorar su rendimiento, lo que les permite ser más eficientes y tener mayor éxito con los clientes. Además, el hecho de involucrar ambas partes, desarrollo y operaciones permite que, en caso de una solicitud de nuevas funcionalidades, los sistemas se puedan adaptar rápidamente, ofreciendo ventajas sobre los competidores. De igual forma, al estar en un desarrollo continuo, la estabilidad, robustez y confiabilidad del sistema son métricas con índices elevados.

Microsoft Azure (2021) define cuatro etapas en el ciclo de vida de las aplicaciones DevOps. La primera fase es la planeación, donde se definen las características y la funcionalidad requerida. La segunda etapa consiste en el desarrollo de dicha funcionalidad. Posteriormente, se encuentra la tercera etapa, denominada Entregar, y tal y como indica su nombre, consiste en la entrega de la funcionalidad que fue desarrollada. Finalmente, se encuentra la etapa de funcionamiento, donde se supervisan las aplicaciones y se solucionan problemas. Es importante mencionar que este es un proceso iterativo, con una cantidad de repeticiones variable según la necesidad que se presente.

Para los desarrolladores que están inmersos dentro de la metodología DevOps, es importante contar con una serie de principios. Microsoft Azure (2021), destaca cuatro áreas fundamentalmente: Colaboración, visibilidad y alineamiento, que implica la comunicación que se debe tener en el equipo, cambios en el ámbito y responsabilidad, que se relaciona con los roles que realizan cada uno de los miembros, ciclos de lanzamiento de versiones más cortos, que implica una mayor comunicación con el cliente para recibir retroalimentación constante, y aprendizaje continuo, área en la que se enfoca la presente investigación.

Con respecto a las Prácticas que se utilizan en DevOps, Microsoft (2021) define una lista de tareas que se deben implementar cuando se utiliza esta metodología:

Finalmente, es importante mencionar que la metodología DevOps está basada en la computación en la nube, ya que permite tener una mayor flexibilidad para implementar todas las fases del ciclo de vida del aplicativo. Algunas herramientas que son útiles y que se encuentran listadas como servicios de la nube son las tecnologías de contenerización (Docker y Kubernetes) y la programación de aplicativos sin servidor (serverless).