Diseña una app de varios niveles con Gemini para la asistencia de Google Cloud

En este instructivo, se muestra cómo usar Gemini para Google Cloud, un colaborador impulsado por IA en Google Cloud para diseñar un sitio web de varios niveles una aplicación con servicios completamente administrados cuando sea posible.

Objetivos

  • Explora los diversos servicios de Google que puedes usar para entregar tráfico a través de la por la Internet pública.
  • Explora varios servicios de Google que puedes usar para almacenar datos en caché de forma más rápida y la recuperación de datos.
  • Explora varios servicios de Google que puedes usar para conservar datos con estado.
  • Diseñar la interoperabilidad de los diversos servicios de Google

Productos de Google Cloud usados

  • Cloud Run. Cloud Run es una plataforma de procesamiento administrada que te permite ejecutar contenedores directamente sobre el backend de Google Cloud. Puedes implementar código escrito en cualquier lenguaje de programación en Cloud Run si puedes compilar una imagen de contenedor a partir de él.
  • Cloud Memorystore. Cloud Memorystore es un servicio de base de datos de almacén de datos en memoria para Redis y Memcached. Compila la aplicación que brindan acceso a los datos en menos de milisegundos.
  • Cloud SQL. Cloud SQL es un servicio que entrega soluciones relacionales y relacionales en la nube. Ofrece MySQL, PostgreSQL y SQL Motores de base de datos de servidores.

Antes de comenzar

  1. Asegúrate de que Gemini esté configurado para tu cuenta de usuario y proyecto de Google Cloud.

Explora la entrega web en Google Cloud

En el siguiente ejemplo, considera que eres un arquitecto y quieres usar Gemini ayudará a tomar decisiones en el camino ideal para toda la organización desarrolladores que buscan compilar rápidamente una app web en Google Cloud. Tu objetivo es usar la asistencia de Gemini para comprender las opciones que tienes a tu disposición, sus características y su interoperabilidad.

En la consola de Google Cloud, puedes chatear con Gemini para obtener ayuda. Con el panel de Gemini, ingresas instrucciones, que son preguntas o sentencias que describan la ayuda que necesitas, y Gemini devuelve de respuestas ante incidentes.

Empiezas pidiéndole a Gemini que te ayude a tomar una decisión con respecto al nivel de procesamiento. dónde se ejecutará tu entrega web. Sigue estos pasos:

  1. En la barra de herramientas de la consola de Google Cloud, haz clic en Abrir Gemini.

  2. En el panel de Gemini, ingresa la siguiente instrucción según tus requisitos y preferencias y, luego, haz clic en Enviar:

    I am designing a multi-tier web app in Google Cloud. First, I would
    like help on deciding what to use for the compute tier. What are my
    options for running an app to serve traffic over the public internet?
    I would like to prioritize fully-managed services.
    

    La respuesta de Gemini debería ser similar a la siguiente:

    Existen varias opciones para ejecutar una aplicación que entregue tráfico a través del por la Internet pública en Google Cloud. Puedes usar Cloud Run, App Engine o Compute Engine.
    Cloud Run es un servicio administrada sin servidores que permite ejecutar contenedores sin estado se pueden invocar con solicitudes HTTP. App Engine es una plataforma completamente administrada que proporciona un entorno de programación para desarrollar y ejecutar aplicaciones aplicaciones. Compute Engine es un servicio de máquina virtual (VM) que permite a crear y administrar máquinas virtuales.
    Para decidir cuál es la mejor opción por ti, debes considerar los siguientes factores:
    El tamaño y la complejidad de su aplicación
    La cantidad de tráfico que espera recibir
    El nivel de control que necesitas sobre la app
    El costo
    Si tienes una aplicación pequeña y sencilla en la que esperas recibir una pequeña cantidad de tráfico entonces Cloud Run es una buena opción. Si tienes un contenedor de almacenamiento compleja que esperas recibir una gran cantidad de tráfico y, luego, App Engine o Compute Engine pueden ser una mejor opción. Si necesitas mucho de control de tu app, Compute Engine es una buena opción. Si con un presupuesto bajo, Cloud Run es una buena opción.

  3. Dado que estás diseñando la ruta más rápida para ejecutar aplicaciones web más pequeñas en tu organización, la descripción de Gemini de Cloud Run parece que se adapten mejor a tus necesidades. Pero primero debes confirmar algunos de los características de la plataforma. Escribe el siguiente mensaje y, luego, haz clic en Enviar:

    Okay, I think I will move forward with Cloud Run. What metric does
    Cloud Run use to perform autoscaling?
    

    La respuesta de Gemini debería ser similar a la siguiente:

    Cloud Run usa la cantidad de solicitudes o eventos entrantes para realizar el ajuste de escala automático. Cuando una revisión no recibe tráfico, de forma predeterminada, se escala a cero instancias. Encuentra más información para tu esta pregunta: Acerca del ajuste de escala automático de instancias.

  4. Con el ajuste de escala automático de Cloud Run basado en solicitudes entrantes, para entender cómo ingresa el tráfico a las aplicaciones que aloja. Ingresa el siguiente mensaje:

    How is a Cloud Run application exposed to users over the internet?
    

    La respuesta de Gemini debería ser similar a la siguiente:

    Cloud Run acepta tráfico de entrada de las siguientes fuentes: fuentes:
    Internet pública: las solicitudes se enrutan directamente desde la a los servicios de Cloud Run con la opción de enrutar a través de un balanceador de cargas HTTP(S) externo.
    APIs de Google y servicios: las solicitudes de los servicios y las APIs de Google se enrutan a tu Servicios de Cloud Run sin necesidad de una carga de HTTP(S) externa del balanceador de cargas.
    Redes de VPC: las solicitudes de las redes de VPC se enrutan a tu Servicios de Cloud Run a través de un conector de VPC.
    Puedes controlar cómo se expone tu servicio de Cloud Run a los usuarios con el configuración de entrada.

  5. Si bien un balanceador de cargas externo y público es adecuado para esta clase aplicaciones, querrás que Gemini te ayude a comprender si la plataforma puede exponer esta aplicación solo a los usuarios autenticados con los permisos. Escribe la siguiente instrucción:

    Is there an easy mechanism in Cloud Run that allows only
    authenticated users to access an application?
    

    La respuesta de Gemini debería ser similar a la siguiente:

    Sí, existe un mecanismo para garantizar que solo los usuarios autenticados puedan acceder a una aplicación de Cloud Run. Puedes hacerlo especificando el opción no-allow-unauthenticated cuando se implementa un servicio. Esto provocará tu servicio rechace las solicitudes no autenticadas con un estado . Obtén más información sobre tu pregunta aquí: Permitir el acceso público (sin autenticar).

  6. Por último, para configurar esto para los desarrolladores de tu organización, es no tener que escribir ninguna configuración relacionada con la infraestructura, como como Dockerfiles.

    We have standardized on using Django as a web framework. Can I deploy
    a Python app to Cloud Run directly from source code? Or do we need to
    implement a way to containerize this ourselves?
    

    La respuesta de Gemini debería ser similar a la siguiente:

    Sí, puedes implementar una app de Python en Cloud Run directamente desde código fuente. Puedes usar el paquete de compilación de Cloud Run para Python para compilar y, luego, implementar la aplicación de Python. Obtén más información sobre tu pregunta aquí: Implementa desde el código fuente.

Explora el almacenamiento en caché en Google Cloud

Ahora, debes continuar y elegir un servicio para el siguiente nivel: el almacenamiento en caché. R necesidad común de esta capa por parte de los líderes de tu equipo para pedirle a Gemini que te ayude a comprender las ofertas de Google Cloud en esta área. Piensa en lo siguiente: pasos para pedirle ayuda a Gemini:

  1. En la barra de herramientas de la consola de Google Cloud, haz clic en Abrir Gemini.

  2. Escribe la siguiente instrucción y haz clic en Enviar:

    Okay! Thank you. Now let's move on to the caching tier. How can I
    introduce a caching layer to my web app? I would like to prioritize
    fully-managed services.
    

    La respuesta de Gemini debería ser similar a la siguiente:

    Existen varias formas de agregar una capa de almacenamiento en caché a tu app web. Uno es usar un servicio completamente administrado como Cloud Memorystore. Cloud Memorystore es un servicio de almacén de datos en memoria completamente administrado para Redis. Proporciona un almacenamiento en caché confiable, escalable y de alto rendimiento que puede ayudarte a mejorar el rendimiento de tu app web. Tú pueden usar Cloud Memorystore para almacenar en caché contenido estático, como imágenes y archivos JavaScript. Obtén más información sobre tu pregunta aquí: Presentamos Memorystore: un servicio de almacén de datos en la memoria completamente administrado para Redis.

  3. Antes de continuar con el uso de Cloud Memorystore para Redis, debes hacer lo siguiente: garantizar que la comunicación entre Cloud Run y Cloud Memorystore es privado. Escribe la siguiente instrucción:

    If I were to use Cloud Memorystore, how do I ensure the communication
    between Cloud Run and Cloud Memorystore is private?
    

    La respuesta de Gemini debería ser similar a la siguiente:

    Garantizar la comunicación entre Cloud Run y Cloud Memorystore es privado, debes crear un Conector de Acceso a VPC sin servidores. Esto permitirá la conectividad entre Cloud Run y la VPC en la que se almacena la instancia. Obtén más información sobre tu pregunta aquí: Usa Memorystore para Redis a fin de almacenar en caché tus aplicaciones de Django.

Explorar bases de datos relacionales en Google Cloud

Por último, debes instalar un almacén de base de datos relacional. Tú indicas Gemini para Google Cloud te ayudará a explorar las opciones disponibles:

  1. Escribe la siguiente instrucción:

    And for the relational database tier, where do you recommend I
    persist data? Please keep in mind that I would like to continue to
    prioritize fully-managed services.
    

    Gemini debería dar una respuesta similar a la siguiente:

    Hay algunas opciones para conservar datos en un servicio completamente administrado. Una opción es usar Cloud SQL. Cloud SQL es un servicio de base de datos base de datos relacional que proporciona un servicio simple, confiable y seguro plataforma para ejecutar cargas de trabajo de SQL Server, MySQL y PostgreSQL en en Google Cloud. Se diseñó para ayudarte a comenzar a usar el entorno sin servidores con rapidez. con Database Migration Service. Cloud SQL para SQL Server automáticamente se asegura de que tus bases de datos de SQL Server sean confiables, seguras y y escalables, de modo que tu empresa continúe funcionando sin interrupciones. Buscar más información para tu pregunta aquí: Descripción general de Cloud SQL

Cómo implementar una arquitectura de muestra

Por último, debes instalar un almacén de base de datos relacional. Tú indicas Gemini para Google Cloud te ayudará a explorar las opciones disponibles:

Okay, we have landed on using Cloud Run, Cloud Memorystore, and Cloud
SQL together. Is there a solution I can use that is available from
Google that uses these three technologies for a web application?

Gemini debería dar una respuesta similar a la siguiente:

Por supuesto, esta es una solución que usa Cloud Run, Memorystore y Cloud SQL en conjunto para una aplicación web:
Solución de inicio: App web de tres niveles
Esta solución es una aplicación web de tres niveles que usa Cloud Run, Cloud Memorystore para Redis y Cloud SQL para PostgreSQL La aplicación usa Cloud Memorystore para almacenar y Cloud SQL para almacenar datos persistentes.

Para probar la nueva arquitectura, decides que quieres seguir las instrucciones en la página web proporcionada y, luego, implementa esta solución de muestra para que puedas probar e inspeccionar su arquitectura de la ruta dorada.

Limpia

Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que se usaron En este instructivo, puedes borrar el proyecto de Google Cloud que creaste para este instructivo. Como alternativa, puedes borrar los recursos individuales.

  1. En la consola de Google Cloud, ve a la página Administrar recursos.

    Ir a Administrar recursos

  2. En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
  3. En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.

¿Qué sigue?