Disponibilidad de 3 a 7 días aproximadamente
José Manuel Ortega Candel
Enero de 2026 Páginas: 488
Código 11898 IESBN/EAN: 9788426742032
CONTENIDO:
Domine DevOps y microservicios para construir el futuro del software
La creciente demanda de aplicaciones más rápidas, escalables y resilientes ha impulsado la adopción de nuevas metodologías y arquitecturas. En este contexto, DevOps y la arquitectura de microservicios han emergido como pilares fundamentales para construir y operar sistemas de software modernos y complejos.
Este libro se presenta como una guía integral para comprender cómo la filosofía DevOps y la arquitectura de microservicios se entrelazan para crear sistemas de software robustos, escalables y flexibles. A lo largo de sus páginas, aprenderá a:
-Comprender la filosofía DevOps: descubrirá los principios de colaboración, automatización y mejora continua que forman el núcleo de esta cultura.
-Dominar los microservicios: aprenderá a definir, diferenciar y descomponer monolitos en servicios pequeños y autónomos, entendiendo las ventajas y los desafíos de esta arquitectura.
-Aplicar patrones de diseño: explorará estrategias para la comunicación síncrona y asíncrona, la gestión de datos y la seguridad en entornos distribuidos.
-Implementar tecnologías clave: se sumergirá en el uso de herramientas fundamentales como contenedores (Docker y Kubernetes), la orquestación y las prácticas de CI/CD.
-Garantizar la calidad y el rendimiento: Entenderá las prácticas de automatización, monitorización y observabilidad para asegurar la salud y la disponibilidad de sus sistemas.
-Implementar prácticas de automatización: comprenderá las prácticas de automatización esenciales en un entorno DevOps, incluyendo la infraestructura como código, la gestión de la configuración y las pruebas automatizadas.
Dirigido a desarrolladores, arquitectos, líderes de equipo y profesionales de operaciones, este libro aborda los conceptos esenciales, patrones de diseño, las tecnologías y herramientas que sustentan el desarrollo de aplicaciones modernas.
Este libro es la hoja de ruta ideal para transformar los equipos de desarrollo en cualquier organización, al permitir construir sistemas más robustos, escalables y eficientes. Adquiera ahora los conocimientos que le distinguirán en la industria y le prepararán para liderar la próxima generación de proyectos de software.
INDICE EXTRACTADO:
.Introducción CAPÍTULO 1 Introducción a DevOps 1.1. Ciclo de vida DevOps 1.2. Arquitecturas DevOps 1.2.1. Principios de arquitectura de la infraestructura 1.3. SRE (Site Reliability Engineering) 1.3.1. SRE vs DevOps 1.4. Metodologías de desarrollo 1.4.1. Code First 1.4.2. API First 1.5. Otras metodologías DevOps 1.5.1. DevSecOps 1.5.2. DataOps 1.5.3. MLOps 1.5.4. AIOps 1.5.5. GitOps CAPÍTULO 2 Arquitecturas basadas en microservicios 2.1. Introducción 2.2. Arquitectura monolítica vs arquitectura de microservicios 2.3. Características de las arquitecturas orientadas a microservicios 2.3.1. Despliegue 2.3.2. Contenedores y orquestadores 2.3.3. Monitorización 2.3.4. Alta disponibilidad 2.3.5. Autoescalado 2.4. Componentes de una arquitectura de microservicios 2.5. Arquitecturas de microservicios 2.5.1. Metodología DDD (Domain-Driven Design) 2.5.2. Comunicación entre microservicios 2.5.3. Servicios basados en HTTP y REST 2.5.4. Comunicación asíncrona basada en mensajes 2.5.5. Registro de servicios 2.5.6. Utilizando un API Gateway 2.5.7. Utilizando GraphQL 2.5.8. Utilizando gRPC 2.5.9. API REST vs GraphQL vs gRPC 2.6. Implementar una arquitectura de microservicios 2.7. Casos de uso de microservicios CAPÍTULO 3 Patrones de diseño en microservicios 3.1. Introducción 3.2. Patrón Service Discovery 3.2.1. Client-side 3.2.2. Server-side 3.2.3. Soluciones para implementar Service Discovery 3.2.4. Service Discovery con Spring Cloud Eureka Server 3.3. Patrón DDD (Domain-Driven Design) 3.4. Command Query Responsibility Segregation (CQRS) 3.4.1. Eventos en CQRS 3.4.2. Casos de uso de CQRS 3.5. Event Sourcing para aplicaciones escalables 3.5.1. Casos de uso de Event Sourcing 3.6. Patrón Change Data Capture (CDC) 3.6.1. Kafka Streams 3.6.2. Debezium 3.7. Patrón Publish/Subscribe 3.7.1. Tópico compartido por n suscriptores 3.7.2. 1 tópico por cada suscriptor 3.7.3. n tópicos por cada suscriptor 3.7.4. n tópicos y m tópicos de forma compartida por cada suscriptor CAPÍTULO 4 Estrategias de despliegue en microservicios 4.1. Introducción 4.2. Despliegue de microservicios en producción 4.2.1. Despliegue blue-green 4.2.2. Despliegue canary 4.2.3. Despliegue en fases (rolling deployment) 4.3. Integración continua (CI) 4.4. Despliegue continuo (CD) 4.5. Entrega continua 4.5.1. Ventajas de la entrega continua 4.5.2. Fases del pipeline de entrega continua 4.5.3. Integración continua vs entrega continua 4.6. Herramientas CI/CD 4.7. Estrategias para organizar repositorios 4.7.1. Monorepo 4.7.2. Multirepo 4.7.3. Estrategia híbrida 4.8. Versionado de código 4.8.1. GitFlow 4.8.2. Trunk Based Development 4.8.3. Git Flow vs Trunk Based Development 4.9. Infraestructura como código (IaC) 4.9.1. Ventajas de la IaC 4.9.2. Buenas prácticas para securizar la infraestructura como código 4.9.3. Tipos de infraestructura como código 4.9.4. Herramientas para IaC 4.9.5. Ansible 4.9.6. Puppet 4.9.7. Chef 4.9.8. Terraform CAPÍTULO 5 Generadores de microservicios 5.1. Introducción 5.2. Yeoman 5.3. Jhipster 5.3.1. Componentes principales de Jhipster 5.3.2. Jhipster online 5.4. Atomist 5.5. Spring Initializer CAPÍTULO 6 Microservicios en Java 6.1. Introducción 6.2. Spring Boot 6.2.1. Creación de proyectos con Spring Boot Suite 6.2.2. Spring Boot Actuators 6.2.3. Spring Security 6.3. Micronaut 6.3.1. Creación de microservicios con Micronaut 6.3.2. Inyección de dependencias e inversión de control 6.3.3. Descubrimiento de servicios 6.3.4. Ejemplo de aplicación con Micronaut 6.4. Quarkus 6.4.1. Creación de recursos y endpoints en Quarkus 6.4.2. Inyección de dependencias en Quarkus 6.4.3. Creando nuestro proyecto base en Quarkus 6.4.4. Desplegando una aplicación Quarkus en Kubernetes 6.5. GraalVM 6.5.1. Imágenes nativas 6.5.2. GraalVM vs Micronaut 6.6. Helidon CAPÍTULO 7 Programación reactiva 7.1. Introducción 7.2. Manifiesto reactivo 7.3. Patrón Observer 7.4. Reactive eXtensions (RX) 7.5. Frameworks de programación reactiva 7.5.1. Ecosistema Java / JVM 7.5.2. RxJava 7.5.3. Eclipse Vert.x CAPÍTULO 8 Tecnologías basadas en contenedores y orquestadores 8.1. Introducción 8.2. Introducción a los contenedores 8.2.1. Casos de uso y ventajas de los contenedores 8.2.2. Contenedores vs máquinas virtuales 8.3. Docker 8.3.1. Gestión de secretos en Docker 8.3.2. Podman 8.4. Orquestadores 8.5. Kubernetes 8.5.1. Arquitectura de Kubernetes 8.5.2. Componentes de Kubernetes 8.5.3. Trabajar con Kubernetes 8.5.4. Micro8ks 8.5.5. Otras soluciones para trabajar con Kubernetes en local 8.5.6. Patrones de diseño en Kubernetes 8.6. Plataformas de contenedores 8.6.1. Portainer 8.6.2. OpenShift 8.6.3. Rancher 8.7. Comunicaciones y enrutado con Traefik 8.7.1. Despliegue de Traefik 8.7.2. Traefik middlewares CAPÍTULO 9 Service mesh 9.1. Introducción 9.2. Definición de service mesh 9.3. Arquitectura de un service mesh 9.3.1. Data plane 9.3.2. Control plane 9.3.3. Casos de uso de service mesh 9.3.4. Implementaciones de un service mesh 9.4. Istio 9.4.1. Ventajas de Istio 9.4.2. Arquitectura de Istio 9.4.3. Gestión del tráfico en Istio 9.4.4. Seguridad en Istio 9.5. Linkerd 9.5.1. Funcionamiento de Linkerd 9.5.2. Casos de uso de Linkerd 9.5.3. Linkerd vs Istio CAPÍTULO 10 Arquitecturas serverless 10.1. Introducción 10.2. Ventajas de las arquitecturas serverless 10.3. Manifiesto Twelve-Factor App 10.4. Estrategias de despliegue en aplicaciones serverless 10.5. AWS Lambda 10.5.1. AWS API Gateway 10.5.2. Funciones lambda 10.5.3. Casos de uso en AWS Lambda 10.6. Serverless DevOps 10.6.1. Herramientas y plataformas serverless DevOps CAPÍTULO 11 Arquitecturas orientadas a eventos 11.1. Introducción 11.2. Introducción a los brokers de mensajería 11.2.1. Sistema de mensajería punto a punto 11.2.2. Sistema de mensajería de publicación y suscripción 11.3. Protocolos de mensajería 11.3.1. Advanced Message Queuing Protocol (AMQP) 11.3.2. Message Queue Telemetry Transport (MQTT) 11.4. Apache Kafka 11.4.1. Componentes de Apache Kafka 11.4.2. Plataforma de Apache Kafka 11.4.3. Requisitos para utilizar Apache Kafka 11.4.4. Iniciando Apache Kafka con Docker 11.4.5. Implementar productor y consumidor en Python 11.4.6. Herramientas para monitorizar Apache Kafka 11.5. Apache Pulsar 11.5.1. Apache Pulsar con Python 11.5.2. Apache Pulsar vs Apache Kafka 11.6. RabbitMQ 11.6.1. Componentes de RabbitMQ 11.6.2. Arquitectura de RabbitMQ 11.6.3. Ventajas de RabbitMQ CAPÍTULO 12 Arquitecturas big data 12.1. Introducción 12.2. Apache Spark 12.2.1. Ecosistema de Apache Spark 12.2.2. Ventajas de Apache Spark 12.2.3. Arquitectura de Apache Spark 12.3. Procesamiento de datos en tiempo real 12.4. Apache Flink 12.4.1. Arquitectura de Apache Flink 12.4.2. Control de eventos en Apache Flink 12.4.3. Tipos de ventanas de procesamiento en Apache Flink CAPÍTULO 13 Observabilidad y monitorización de microservicios 13.1. Introducción 13.2. Observabilidad vs monitorización 13.3. Ventajas de la observabilidad 13.4. Métricas de rendimiento en aplicaciones 13.5. Herramientas DevOps para observabilidad 13.5.1. OpenTelemetry 13.6. Herramientas de monitorización
También le puede interesar