Introducción
- ¿Por qué Spring Boot & AWS?
- ¿Quién debería leer este libro?
- Prerrequisitos para los ejemplos prácticos
- ¿Qué esperar de este libro?
- Poniéndonos en contacto
- Recursos
- Acerca de los Autores
- Parte I: Desplegando con AWS
1. Familiarizándonos con AWS
- Preparándonos
- Inspeccionando la aplicación Todo de “Hello World”
- Publicando la Aplicación “Hello World” en Docker Hub
- Comenzando con los Recursos de AWS
- Inspeccionando las Plantillas de CloudFormation
- Inspeccionando los Scripts de Despliegue
- Inspeccionando la Consola AWS
2. Una visión general de los servicios de AWS
- AWS CloudFormation
- AWS Cloud Development Kit (CDK)
- Amazon CloudWatch
- Amazon Cognito
- Amazon DynamoDB
- Amazon Elastic Compute Cloud (EC2)
- Amazon Elastic Container Registry (ECR)
- Amazon Elastic Container Service (ECS)
- Amazon MQ
- Amazon Relational Database Service (RDS)
- Amazon Route 53
- Amazon Simple Email Service (SES)
- Amazon Simple Queue Service (SQS)
- Amazon Simple Storage Service (S3)
- Amazon Virtual Private Cloud (VPC)
- AWS Certificate Manager
- AWS Identity and Access Management (IAM)
- AWS Lambda
- AWS Secrets Manager
- AWS Systems Manager (SSM)
- Elastic Load Balancing (ELB)
3. Gestión de Permisos con IAM
- Usuarios, Grupos y Roles
- Usuarios Root vs. Usuarios Regulares
- Definición de Políticas
- Creando Claves de Acceso AWS para Cada Usuario
- Gestionando Recursos IAM de Forma Programática
- Mejores Prácticas para Gestionar Permisos con IAM
4. La Evolución de las Implementaciones Automatizadas
- Una anécdota sobre las implementaciones manuales
- Despliegues de autoservicio con la Consola AWS
- Despliegues automatizados con la AWS CLI
- Despliegues declarativos con CloudFormation
- Implementaciones Programables con CDK
5. Primeros Pasos con CDK
- Creando Nuestra Primera Aplicación CDK
- Desplegando una Aplicación Spring Boot con un Constructo de CDK
- ¿Por qué no detenernos aquí?
6. Diseñando un Proyecto de Despliegue con CDK
- La visión general
- Cómo trabajar con CDK
- La aplicación CDK para el repositorio Docker
- La App de Network CDK
- La Aplicación de Servicio CDK
- Experimentando con las Aplicaciones CDK
7. Construyendo un Pipeline de Despliegue Continuo
- Conceptos de Acciones de GitHub
- Inicializando un Nuevo Entorno
- Implementando una Red Compartida
- Desplegando un Entorno de Aplicación
- Creando un Flujo de Trabajo para Despliegue Continuo
- Soportando Despliegues de Alta Frecuencia con Amazon SQS y AWS Lambda
Addendum: Configurando HTTPS y un Dominio Personalizado con Route 53 y ELB
- Sistema de Nombres de Dominio (DNS)
- HTTPS y Seguridad de la Capa de Transporte (TLS)
- Registro o Transferencia de un Dominio
- Creando un Certificado SSL con CDK
- Creación de un Oyente HTTPS Usando la Aplicación de Red
- Asociando un Dominio Personalizado con el ELB
- Parte II: Spring Boot & AWS
8. La Aplicación de Ejemplo Todo
- Características
- Arquitectura de la Aplicación
- Modelo de Dominio
- Configuración Inicial de la Aplicación
9. Desarrollo Local
- Los desafíos del desarrollo local en la nube
- LocalStack - Nuestra nube AWS local
- Amazon RDS local y Amazon Cognito
- Reuniéndolo Todo
10. Construyendo Registro de Usuarios e Inicio de Sesión con Amazon Cognito
- ¿Qué es OAuth 2.0?
- Terminología de OAuth 2.0
- OpenID Connect 1.0 (OIDC)
- Alternativas a OAuth2 & OpenID Connect
- Uso de Amazon Cognito para la gestión de usuarios
- Usando Amazon Cognito como un Proveedor de Identidad con Spring Security
- Activando el Desarrollo Local
11. Conexión a una base de datos con Amazon RDS
- Introducción al Servicio de Base de Datos Relacional de AWS (RDS)
- Configurando los permisos de IAM
- Creando una aplicación de base de datos CDK
- Estrategias para la Inicialización de la Estructura de la Base de Datos
- Configurando la Base de Datos en la Aplicación Todo
- Usando la Base de Datos para Almacenar y Recuperar Todos
- Habilitando el Desarrollo Local
12. Compartiendo Tareas con Amazon SQS y Amazon SES
- Usando Amazon SQS para cargas de trabajo asíncronas
- Enviando correos electrónicos con Amazon SES
- Activando el Desarrollo Local
13. Notificaciones Push con Amazon MQ
- ¿Qué son las Notificaciones Push de todos modos?
- Notificaciones Push para Actualizaciones en Vivo
- Servicios AWS para Implementar Notificaciones Push
- Configuración de un corredor de mensajes con CDK
- Implementando Notificaciones Push en la Aplicación Todo
- Activando el Desarrollo Local
14. Rastreando las Acciones del Usuario con Amazon DynamoDB
- Caso de Uso: Rastreo de Acciones del Usuario
- Amazon RDS vs. Amazon DynamoDB
- Implementación del Rastreo de Usuarios en la Aplicación Todo
- Habilitando el Desarrollo Local
- Parte III: Preparación para la Producción con AWS
15. Registro Estructurado con Amazon CloudWatch
- Registro con AWS
- Terminología de Registro de CloudWatch
- Estado Actual: Registro de Texto No Estructurado
- Registro y Consulta de Datos Estructurados
16. Métricas con Amazon CloudWatch
- Introducción al Monitoreo de Métricas con Amazon CloudWatch
- Enviando Métricas desde Servicios AWS
- Enviando métricas desde nuestra aplicación Spring Boot
- Monitoreo de Métricas con Amazon CloudWatch
17. Alertando con Amazon CloudWatch
- Introducción a la alerta con Amazon CloudWatch
- Creando Alarmas con AWS CDK
- Trabajando y Viviendo con Alarmas e Incidentes
18. Monitoreo Sintético con Amazon CloudWatch
- Introducción a CloudWatch Synthetics
- Grabación de un Script Canario para la Aplicación Todo
- Manteniéndolo Sencillo
- Automatizando el Despliegue del Script Canario con CDK
- Alerta sobre la Falla del Canary
- Reflexiones Finales
Domina la Nube
- Recursos Adicionales
- Apéndice
- Usuario Técnico de GitHub Actions IAM
- Guía de Despliegue
