martes, 27 de septiembre de 2022

Conociendo Azure DevOps con Zaal, Demillani y Malik

'Azure DevOps explained' es, exactamente, lo que su título promete: una explicación de cómo aplicar DevOps usando las herramientas y los servicios que para ello proporciona Microsoft Azure. Con esa idea, tras una breve pero correcta introducción, de alguna forma recorre el ciclo de vida del software en filosofía DevOps, explicando las ideas y, sobre todo, cómo se plasman y usan en Azure.

Con esta línea argumental, el libro se estructura en once capítulos agrupados en cuatro secciones, como sigue:
  • 'SECTION 1: DEVOPS PRINCIPLES AND AZURE DEVOPS PROJECT MANAGEMENT': Pone las bases antes de abordar ei ciclo de vida propiamente dicho. Abarca dos capítulos:

    • 'Chapter 1 - Azure DevOps Overview': Un capítulo introductorio que explica lo que es DevOps y sus principios, para seguir con alguna idea también básica de su enfoque en Azure, comentando conceptos en realidad generales del mundo DevOps como el ciclo 'Plan, Develop, Deliver, Operate', 'Continous Integration, Continuous Delivery (CD/CI)', 'Infrastructure as Code' y algún detalle más propio de Azure como la forma de hacer control de versiones. Finalmente, presenta brevemente los servicios Azure implicados: Azure Boards, Azure Repos, Azure Pipelines, Azure Test Plans y Azure Artifacts.

    • 'Chapter 2 - Managing Projects with Azure DevOps Boards': Explica los primeros pasos para la gestión de proyectos con Azure Boards: los 'templates' con foco en Scrum, cómo crear una organización y cómo crear el proyecto, sus actividades e items. También muestra el tratamiento del 'product backlog', de los 'sprints' y las 'queries'.


  • 'SECTION 2: SOURCE CODE AND BUILDS': Se ocupa de la parte más orientada a la construcción: el código fuente, las 'pipelines' y las pruebas unitarias, para lo que emplea los siguientes cuatro capítulos:

    • 'Chapter 3 - Source Control Management with Azure DevOps': Habla del control de configuración y del código fuente. Tras explicar en qué consiste y cómo funciona el control de código fuente y algunas estrategias de 'branching', aborda luego su manejo en Azure DevOps, el uso de Azure Repos, el importado de un repositorio desde GitHub, el trabajo con 'commits', 'pushes', 'branches' y 'pull requests'. Acaba con el etiquetado ('tagging' de releases).

    • 'Chapter 4 - Understanding Azure DevOps Pipelines': Aborda lo que quizá sea uno de los conceptos fundamentales: las 'pipelines'. Primero explica los conceptos básicos de la integración y despliegue continuos (CI/CD), para y luego detalla el funcionamiento de las 'pipelines' de Azure. En esa tarea habla de los agentes, del lenguaje YAML, de la creación de una pipeline con un repositorio GitHub y del uso de contenedores en las 'pipelines' de Azure.

    • 'Chapter 5 - Running Quality Tests in a Build Pipeline': Pasa ahora a las pruebas. Como en otros capítulos, introduce primero los conceptos de forma general, en este caso, las pruebas unitarias y los beneficios de la automatización de pruebas para luego ya verlo reflejado en Azure.

    • 'Chapter 6 - Hosting Your Own Azure Pipeline Agent': Explica la construcción de 'pipelines' usando en lugar de agentes alojados por Microsoft, agentes alojados por el cliente incluyendo el caso de contenedores.


  • 'SECTION 3: ARTIFACTS AND DEPLOYMENTS': Se centra sobre todo en el despliegue, pero teniendo en cuenta también el uso de recursos externos. En esta labor, empeña los dos siguientes capítulos:

    • 'Chapter 7 - Using Artifacts with Azure DevOps': Habla del uso de artefactos, que se refieren a componentes que son reutilizables, que eventualmente proceden de una fuente externa y que son recogidos en 'packages'. Aborda luego Azure Artifacts y así Habla del concepto de 'feed' de artefactos, (una forma de agrupar paquetes y sus permisos) y cuenta cómo crearlo, como introducirlo en una 'pipeline', cómo publicarlo y cómo consumirlo.

    • 'Chapter 8 - Deploying Applications with Azure DevOps': Se ocupa del despliegue de aplicaciones usando 'pipelines' de Azure, explicando, entre otras cosas, cómo configurar el despliegue continuo o cómo introducir puertas y permisos para controlar las 'releases'.


  • 'SECTION 4: ADVANCED FEATURES OF AZURE DEVOPS': Una sección un poco complementaria, revisa algunas situaciones particulares (integración con GitHub y pruebas manuales) y remata con ejemplos de la vida real:

    • 'Chapter 9 - Integrating Azure DevOps with GitHub': Explica la integración con GitHub abordando esa integración tanto en Azure Pipelines como Azure Boards.

    • 'Chapter 10 - Using Test Plans with Azure DevOps': Explica Azure Test Plans y cómo gestionar con él pruebas manuales, pruebas exploratorias o pruebas de aceptación de usuario.

    • 'Chapter 11 - Real-World CI/CD Scenarios with Azure DevOps': Muestra algunos ejemplos de proyectos de la vida real que incluye un caso con aplicaciones .Net y otro con contenedores.
'Azure DevOps explained' es un libro, creo, completo, correcto, directo y efectivo que, sin adornos, explica lo que hay que explicar en una obra de esta naturaleza: los conceptos relevantes de DevOps y cómo se implementan en Azure. La parte del uso de Azure es detallada y con abundantes capturas de pantallas lo que permite su traslación bastante directa a la práctica.

Un libro útil, en definitiva.

Ficha técnica:

AUTORES: Sjoukje Zaal, Stefano Demillani y Amit Malik
EDITORIAL: Packt
AÑO: 2020 
ISBN: 978-1800563513
PAGINAS: 438


No hay comentarios:

Publicar un comentario