Descripción
En un mundo donde la velocidad y la calidad del software son esenciales, la implementación de Integración Continua (CI) y Despliegue Continuo (CD) se ha convertido en un estándar imprescindible. Este libro ofrece una guía completa para arquitectos, desarrolladores y equipos técnicos que buscan optimizar sus procesos de desarrollo y despliegue, con un enfoque práctico en tecnologías .NET y Azure.
A lo largo de sus capítulos, se exploran desde los conceptos fundamentales de CI/CD hasta la implementación avanzada de arquitecturas modernas. Aprenderás a utilizar herramientas clave como Docker y Kubernetes, diseñar arquitecturas basadas en microservicios, gestionar despliegues en la nube con Azure Kubernetes Service (AKS) y automatizar procesos con GitHub Actions y Azure DevOps.
Con ejemplos prácticos, estrategias arquitectónicas y mejores prácticas, este libro es el recurso ideal tanto para quienes buscan modernizar aplicaciones monolíticas como para aquellos que desean implementar soluciones escalables desde cero. Si quieres transformar la forma en que desarrollas y despliegas software, esta obra te proporcionará el conocimiento y las herramientas necesarias para lograrlo con éxito.
ARTÍCULO WEB
Índice
Contenido
1 Introducción
1.1 Acerca del libro
1.2 Acerca de los autores
1.3 Motivación
1.4 Arquitectura IT
1.4.1 Roles de arquitectos IT
1.5 Proyecto de arquitectura
1.5.1 Cómo comienza un proyecto
1.5.2 El rol del arquitecto de soluciones
1.5.3 El rol del arquitecto software
1.5.4 El rol de DevOps
1.5.5 Implementación de arquitecturas limpias
1.6 Arquitectura en CI/CD
1.6.1 Origen de CI/CD y la transición desde monolitos hacia microservicios
1.6.2 Patrones de diseño en arquitectura para CI/CD
1.6.3 Proyectos ‘tipo’ con colaboración de arquitectura en CI/CD
1.7 Resumen del capítulo
2 CI/CD
2.1 Introducción CI/CD
2.2 Principios fundamentales de CI/CD
2.3 Ciclo completo DevOps y CI/CD
2.4 Integración continua (CI)
2.4.1 Ventajas de la integración continua
2.4.2 Ejemplo flujo de integración continua
2.4.3 Herramientas para CI
2.5 Despliegue continuo (CD)
2.5.1 Ventajas del despliegue continuo (CD)
2.5.2 Ejemplo flujo de despliegue continuo
2.5.3 Herramientas para CD
2.5.4 Estrategias de despliegue
2.6 Contenedor e imagen
2.7 Docker
2.7.1 El uso de Docker en CI/CD sobre Azure
2.7.2 Arquitectura de Docker
2.7.3 Imagen en Docker y cómo se construye
2.7.4 Proceso subida imagen al registro
2.7.5 Docker Desktop
2.7.6 Comandos esenciales con Docker
2.7.7 Docker Compose: Orquestación local
2.7.8 Otros comandos de Docker
2.7.9 Bonus: Casos de uso relevantes en Azure
2.8 Container Registry
2.8.1 Funciones del Container Registry
2.8.2 El papel de los Container Registries en CI/CD
2.8.3 Alternativas de Container Registries
2.9 Kubernetes
2.9.1 Conceptos básicos
2.9.2 Arquitectura de Kubernetes
2.9.3 Instalación de Kubernetes
2.9.4 Primeros pasos con Kubernetes
2.9.5 Declarativa vs. imperativa
2.9.6 Comandos esenciales con Kubernetes
2.9.7 Configuración y despliegue con YAML en Kubernetes
2.9.8 Tipo de servicios en Kubernetes
2.9.9 Dashboard de Kubernetes
2.9.10 Bonus: Instalación en Azure Kubernetes Service (AKS)
2.10 Bonus: Herramientas y tecnologías en Azure DevOps
2.11 Resumen del capítulo
3 Implementación de la arquitectura
3.1 Crear solución de la arquitectura
3.2 Crear proyecto front-end
3.2.1 Prerrequisitos de herramientas
3.2.2 Personalizando proyecto front-end
3.2.3 Gestión de estados en componentes – Pinia
3.2.4 Módulo de registro de actividad. WorkRegistration
3.2.5 Módulo de histórico de actividad. WorkRegistrationTable
3.2.6 Router
3.2.7 Variables de entorno
3.3 Crear solución Backend
3.3.1 Prerrequisitos de herramientas
3.3.2 Librería – Minimal API
3.4 Arquitectura transversal – comunicación
3.5 Arquitectura vertical – microservicio Registry
3.5.1 Configuración perfil ejecución
3.5.2 Configuración Minimal API
3.5.3 Configurar microservicio para usar Docker Compose
3.5.4 Configurar contenedor PostgreSQL
3.5.5 Configurar contenedor RabbitMQ
3.5.6 Implementación dominio
3.5.7 Implementación acceso a Datos
3.5.8 Implementación Features
3.5.8.1 Feature CreateUserWorkTimeRecord
3.5.8.2 Feature GetUserWorkTimeRecord
3.5.9 Verificar microservicio
3.6 Arquitectura vertical – microservicio auditoría
3.6.1 Configuración perfil ejecución
3.6.2 Configuración Minimal API
3.6.3 Configurar microservicio para usar Docker Compose
3.6.4 Configurar contenedor MongoDB
3.6.5 Implementación dominio
3.6.6 Implementación acceso a datos
3.6.7 Implementación Features
3.6.7.1 Feature CreateUserRecordHistory
3.6.7.2 Feature GetUserRecordsHistory
3.6.8 Verificar microservicio
3.7 Adaptar proyecto front-end
3.8 Resumen del capítulo
4 Despliegue CI/CD Docker Hub – Azure Container Apps
4.1 Configuración monorepo GitHub
4.2 Creación cuenta de Azure y consideraciones
4.3 Configuración Docker Hub
4.4 Despliegue manual a Azure Container Apps
4.4.1 Despliegue PostgreSQL
4.4.2 Despliegue MongoDB
4.4.3 Despliegue RabbitMQ
4.4.4 Despliegue Registry API
4.4.5 Despliegue Auditory API
4.4.6 Despliegue interfaz usuario worktime-app
4.5 Despliegue automático CI/CD a Azure Container Apps
4.6 Resumen del capítulo
5 Despliegue a Kubernetes local con Docker Hub
5.1 Configurar Kubernetes local en Docker Hub
5.2 Crear namespace
5.3 Despliegue PostgreSQL a Kubernetes local
5.4 Despliegue MongoDB a Kubernetes local
5.5 Despliegue RabbitMQ a Kubernetes local
5.6 Despliegue Registry API a Kubernetes local
5.7 Despliegue Auditory API a Kubernetes local
5.8 Despliegue UI Vue a Kubernetes local
5.9 Resumen del capítulo
6 Despliegue CI/CD AKS con Azure Container Registry
6.1 Instalación CLI de Azure
6.2 Creación grupo recursos
6.3 Creación ACR
6.4 Preparación de imágenes y publicación en ACR
6.5 Crear clúster AKS
6.6 Crear recursos en el clúster AKS
6.7 Verificar Pods
6.8 Resumen del capítulo
7 Azure DevOps
7.1 Qué es Azure DevOps
7.2 Azure Pipelines
7.3 Creación del repositorio en GitHub
7.4 Registrar AzureDevops
7.5 Configurar conexión de servicios
7.6 Crear agente de ejecución pipeline
7.7 Creación de los recursos ACR, AKS e IP
7.8 Crear pipeline
7.9 Verificar despliegue
7.9.1 Bonus extra: Troubleshooting en CI/CD
7.10 Resumen del capítulo
8 Reflexiones finales
Valoraciones
No hay valoraciones aún.