Construir aplicaciones sin servidor con Google Cloud Run

Book description

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Aprende a crear una aplicación sin servidor del mundo real en la nube que sea fiable, segura, mantenible y escalable. Si tienes experiencia construyendo aplicaciones web en infraestructura tradicional, esta guía práctica te muestra cómo empezar con Cloud Run, un producto sin servidor basado en contenedores en Google Cloud.

A lo largo de este libro, aprenderás a desplegar varias aplicaciones de ejemplo que ponen de relieve diferentes partes de la pila sin servidor en Google Cloud. Combinando ejemplos prácticos con fundamentos, este libro resultará atractivo tanto para desarrolladores que se encuentran al principio de su viaje de aprendizaje como para profesionales experimentados.

  • Crea una aplicación sin servidor con Google Cloud Run
  • Aprende enfoques para construir contenedores con (y sin) Docker
  • Explora la base de datos relacional gestionada de Google Cloud Cloud SQL
  • Utiliza sesiones HTTP para que la experiencia de cada usuario sea única
  • Explora la gestión de identidades y accesos (IAM) en Cloud Run
  • Aprovisiona recursos de Google Cloud utilizando Terraform
  • Aprende a gestionar la programación de tareas en segundo plano en Cloud Run
  • Traslada tu servicio de Cloud Run a Knative Serving con poco esfuerzo

Table of contents

  1. Prólogo
  2. Prefacio
    1. Por qué escribí este libro
    2. A quién va dirigido este libro
    3. ¿Por qué utilizar el lenguaje Go?
    4. Navegar por este libro
    5. Convenciones utilizadas en este libro
    6. Utilizar ejemplos de código
    7. Aprendizaje en línea O'Reilly
    8. Cómo contactar con nosotros
    9. Agradecimientos
  3. 1. Introducción
    1. Aplicaciones sin servidor
      1. Una experiencia sencilla para el desarrollador
      2. Autoescalable desde el principio
      3. Un modelo de costes diferente
      4. Sin servidor no son funciones como servicio
    2. Nube de Google
    3. Sin servidor en Google Cloud
    4. Carrera en las nubes
      1. Servicio
      2. Imagen del contenedor
      3. Escalabilidad y Autocuración
      4. Servicio HTTPS
      5. Soporte de microservicios
      6. Gestión de Identidad, Autenticación y Acceso
      7. Monitoreo y registro
      8. Implementaciones transparentes
      9. Pago por uso
    5. Preocupaciones sobre el Sin Servidor
      1. Costes imprevisibles
      2. Hiperescalabilidad
      3. Cuando las cosas van realmente mal
      4. Separación de cálculo y almacenamiento
      5. Compatibilidad con el código abierto
    6. Resumen
  4. 2. Comprender la ejecución en la nube
    1. Primeros pasos con Google Cloud
      1. Costes
      2. Interactuar con Google Cloud
      3. Proyectos de Google Cloud
      4. Instalación y autenticación del SDK
      5. Instalar componentes beta
    2. Implementación de tu primer servicio
      1. Implementación del contenedor de muestra
      2. Región
      3. Estructura del punto final HTTPS
      4. Ver tu Servicio en la Consola Web
      5. Implementación de una nueva versión
      6. Revisión
    3. Comprender la ejecución en la nube
      1. Ciclo de vida del contenedor
      2. Ralentización de la CPU
      3. Programación de tareas y estrangulamiento
      4. Equilibrador de carga y autoescalador
      5. Límite de solicitudes simultáneas
      6. Autoescalador
      7. Ajuste de la configuración de la concurrencia
      8. Arranques en frío
      9. Recipientes desechables
      10. Sistema de archivos en memoria
      11. Listo para peticiones
      12. Puntos clave de Cloud Run
    4. Elegir un producto de computación sin servidor en Google Cloud
      1. Funciones en la nube: Código Pegamento
      2. App Engine: Plataforma como servicio
      3. Diferencias clave
      4. ¿Cómo será el futuro?
    5. Resumen
  5. 3. Contenedores de obra
    1. Contenedores: Una exploración práctica
      1. Ejecutar un intérprete de comandos interactivo
      2. Anular el comando por defecto
      3. Ejecutar un servidor
    2. Contenedores desde los primeros principios
      1. Dentro de una imagen contenedora
      2. El núcleo Linux
      3. Aislamiento de contenedores
      4. Iniciar un contenedor
      5. Construir un contenedor con Docker
      6. Instrucciones Dockerfile
      7. Instalación de utillaje adicional
      8. Más pequeño es mejor cuando se implementa en producción
      9. Crear pequeños contenedores con Distroless
    3. Registro de Artefactos
      1. Construir y etiquetar la imagen del contenedor
      2. Autentificar y enviar la imagen del contenedor
    4. Construir un contenedor sin un archivo Dockerfile
      1. Contenedores Go con ko
      2. Contenedores Java con Jib
      3. Paquetes de construcción nativos de la nube
    5. Construir en la nube
      1. Creación remota de Docker
      2. Construcciones avanzadas
      3. Ejecutar programas arbitrarios
      4. Conexión con el control de versiones
    6. Cierre
    7. Resumen
  6. 4. Trabajar con una base de datos relacional
    1. Presentación de la aplicación de demostración
      1. Creación de la Instancia SQL en la Nube
      2. Comprender el proxy SQL en la nube
      3. Conectar y cargar el esquema
      4. Proteger al usuario por defecto
      5. Conectar Cloud Run a Cloud SQL
      6. Desactivar la Conexión Directa
      7. Implementación de la aplicación de demostración
      8. Cadena de conexión
      9. IP pública y privada
    2. Limitar la concurrencia
      1. Concurrencia de transacciones
      2. Contención de recursos
      3. Límites de escala y agrupación de conexiones
      4. Grupo de conexiones externas
      5. Un ejemplo real
    3. SQL en la nube en producción
      1. Monitoreo
      2. Aumento automático del almacenamiento
      3. Alta disponibilidad
      4. Cómo hacer que tu aplicación sea resistente a un breve tiempo de inactividad
    4. Cierre
    5. Resumen
  7. 5. Trabajar con sesiones HTTP
    1. Cómo funcionan las sesiones HTTP
    2. Almacenar sesiones en Memorystore: Una exploración práctica
      1. Crear una instancia Memorystore
      2. ¿Qué es un conector VPC?
      3. Crear un conector VPC
      4. Implementación de la aplicación de demostración
    3. Tiendas de sesión alternativas
    4. Sesión Afinidad
      1. Casos prácticos
      2. La afinidad de sesión no es para los datos de sesión
    5. Cierre
    6. Resumen
  8. 6. Identidad y autenticación del servicio
    1. Fundamentos de IAM en la nube
      1. Funciones
      2. Vinculación política
      3. Cuentas de servicio
      4. Crear y utilizar una nueva cuenta de servicio
    2. Envío de solicitudes autenticadas a Cloud Run
      1. Implementación de un servicio privado
      2. Utilizar un token de identificación para enviar solicitudes autenticadas
      3. ¿Cuándo es válido un token de identificación?
    3. Llamada programática a los servicios de ejecución de la nube privada
      1. Servidor Frontend Google
      2. Una historia sobre la latencia entre servicios
    4. Aplicación de demostración
      1. Base de datos SQL de sólo lectura integrada
      2. Correr localmente
      3. Editar, Compilar, Recargar
      4. Implementación en Cloud Run
      5. Actualizar la configuración del frontend
      6. Añadir cuentas de servicio personalizadas
      7. Añadir enlace de política IAM
    5. Resumen
  9. 7. Programación de tareas
    1. Tareas en la nube
    2. Aprendizaje Práctico: Una aplicación de demostración
      1. Construir las imágenes del contenedor
      2. Crear una cola de tareas en la nube
      3. Crear cuentas de servicio
      4. Implementación del Servicio de Trabajadores
      5. Implementación del Servicio de Aplicación de Tareas
      6. Conectar la cola de tareas
      7. Programar una tarea con la biblioteca del cliente Tareas en la nube
      8. Identificador automático
      9. Conectar al trabajador
      10. Prueba la aplicación
    3. Configuración de la cola
      1. Configuración de reintentos
      2. Limitación de velocidad
      3. Ver y actualizar la configuración de la cola
    4. Consideraciones
      1. Las Tareas en la Nube podrían entregar tu solicitud dos veces
      2. Desarrollo local
      3. Alternativas
    5. Resumen
  10. 8. Infraestructura como código mediante Terraform
    1. ¿Qué es la Infraestructura como Código?
    2. ¿Por qué Infraestructura como Código?
    3. Infraestructura sin servidor
      1. Cómo funciona
      2. Cuándo no utilizar la infraestructura como código
    4. Terraforma
      1. Instalar Terraform
      2. Empezar con un ejemplo mínimo
    5. El flujo de trabajo de Terraform
      1. Cambiar con Terraform: Añadir la política de acceso
      2. Expresar dependencias con referencias
    6. Recursos complementarios
    7. Resumen
  11. 9. Registro y seguimiento estructurados
    1. Inicio de sesión en Cloud Run
      1. Visualización de Registros en la Consola Web
      2. Ver registros en el terminal
      3. Encontrar troncos invisibles
      4. Los registros de texto sin formato te dejan con ganas de más
      5. Aplicación de demostración
    2. Registro estructurado
      1. Bibliotecas de clientes
      2. Registro estructurado en otros idiomas
      3. Cómo utilizar los niveles de registro
      4. Capturar el pánico
      5. Desarrollo local
    3. Contexto de la solicitud
    4. Contexto de rastreo
      1. ID de rastreo de reenvío
      2. Preparar todas las solicitudes entrantes con el ID de rastreo
      3. Pasar el contexto de la solicitud a las solicitudes salientes
      4. Ver el contexto de rastreo en el registro en la nube
      5. Recursos adicionales sobre el rastreo
    5. Métricas basadas en registros con el monitoreo en la nube
    6. Resumen
  12. 10. Cloud Run y Knative Serving
    1. ¿Qué es el Servicio Knative?
      1. Cloud Run no es un servicio Knative gestionado
      2. Knative Serving en Google Cloud
    2. Comprender Kubernetes
      1. Servidor API
      2. Recursos de Kubernetes
      3. Base de datos
      4. Controladores
      5. Añadir extensiones a Kubernetes
    3. Correr Knative Servir localmente
      1. Ejecutar un clúster local de Kubernetes
      2. Instalación de Minikube y kubectl
      3. Iniciar tu cluster local
      4. Instalar el Operador Knative
      5. Inicio del Túnel Minikube
      6. Instalar un equilibrador de carga HTTP
      7. Configurar DNS
      8. Implementación de un servicio
      9. Implementación del mismo servicio en Cloud Run
      10. Clientes API alternativos
    4. Cierre
    5. Debate
      1. Sirviendo a
      2. Pasar de Kubernetes a Cloud Run es más difícil
      3. Identidad y autenticación del servicio
      4. Servicios Gestionados Propios
    6. Resumen
  13. Índice

Product information

  • Title: Construir aplicaciones sin servidor con Google Cloud Run
  • Author(s): Wietse Venema
  • Release date: October 2024
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9798341603851