Elige una estrategia de implementación de Compute Engine para tu carga de trabajo

Como arquitecto de nube o administrador de TI, cuando planeas ejecutar una aplicación en Compute Engine, debes diseñar una topología de instancia de procesamiento que puedas aprovisionar y operar de manera eficiente.

Compute Engine ofrece una variedad de opciones de implementación: por ejemplo, puedes implementar un grupo de instancias de procesamiento que administres como una sola entidad, o bien puedes administrar las instancias como recursos individuales. Cada enfoque tiene méritos y limitaciones distintos. ¿Cómo eliges una estrategia de implementación óptima?

  1. Comienza por evaluar los requisitos clave de tu aplicación.
  2. Revisa las opciones de implementación disponibles y sus méritos relativos.
  3. Selecciona una estrategia que cumpla con tus requisitos y haga un uso óptimo de las capacidades de Compute Engine.

Evalúa tu carga de trabajo

Usa las siguientes preguntas para analizar los requisitos clave de la carga de trabajo que deseas implementar. Tus respuestas te ayudarán a asignar las capacidades de cada opción de implementación (que se detallan en la siguiente sección) a los requisitos de la carga de trabajo. Para obtener una alternativa interactiva potenciada por IA a este flujo de decisiones, puedes enviar instrucciones a Gemini en la consola de Google Cloud con los objetivos de tu proyecto para obtener recomendaciones de implementación personalizadas. Para obtener más información, consulta Diseña la infraestructura de procesamiento con Compute Advisor.

  • Estado de la aplicación

    • ¿La aplicación es con estado?

      • Una aplicación con estado almacena ciertos datos, como el ID de cliente o de sesión, hasta que ya no sean necesarios. Por ejemplo, en una app de compras en línea, el servicio de carrito de compras puede almacenar detalles de los artículos que se agregan o se quitan a medida que el usuario continúa comprando y puede conservar el estado final del carrito cuando se inicia el proceso de confirmación de la compra.
      • Una aplicación sin estado no necesita almacenar ningún cliente, transacción o datos de sesión. Por ejemplo, un servidor web puede cerrar una sesión después de entregar el contenido que solicitó el cliente.

      Para obtener más información sobre las aplicaciones con y sin estado, consulta Diferencias entre las cargas de trabajo con estado y las cargas de trabajo sin estado.

    • ¿Se deben conservar los metadatos específicos de la instancia cuando se reinician las instancias de procesamiento o cuando Compute Engine vuelve a crear (repara automáticamente) las instancias?

  • Aprovisionamiento

    • ¿Las instancias de procesamiento deberían usar una combinación de tipos de máquinas o imágenes? Por ejemplo, ¿algunas instancias necesitan tipos de máquinas con optimización de memoria, mientras que otras usan tipos de máquinas de uso general?
    • ¿La infraestructura se debe escalar automáticamente para ajustarse a los cambios en la carga, de modo que mantengas un equilibrio óptimo entre el costo y el tiempo de respuesta?
    • ¿Todas las instancias de procesamiento pueden ejecutarse dentro de una sola zona, red de VPC y subred?
    • ¿La aplicación debe ejecutarse en la misma zona que otros recursos? Por ejemplo, ¿la aplicación requiere una conexión de baja latencia con una base de datos?
  • Operaciones

    • ¿Quieres administrar las instancias de procesamiento como un solo grupo? Por ejemplo, ¿te gustaría automatizar el lanzamiento de actualizaciones de aplicaciones en todas las instancias?
    • ¿Necesitas usar una herramienta personalizada o de terceros para administrar las instancias de procesamiento?
    • ¿Necesitas controlar el manejo de las instancias de procesamiento con errores? Por ejemplo, si una VM falla, ¿quieres que permanezca detenida mientras determinas la causa raíz de la falla?
    • ¿Necesitas controlar la secuencia o el programa de inicio, detención, suspensión y reanudación de tus instancias de procesamiento? Por ejemplo, para ahorrar costos, ¿planeas detener las instancias durante los fines de semana o durante ciertas horas del día?
  • Resiliencia

    • ¿La aplicación necesita protección contra fallas zonales? En otras palabras, si una zona no funciona, ¿te gustaría que la aplicación siga atendiendo solicitudes de instancias de procesamiento en otras zonas de la región?
    • Si una instancia de procesamiento se detiene o falla por algún motivo, o si la aplicación no responde a las solicitudes, ¿Compute Engine debería volver a crear la instancia automáticamente?
    • ¿La aplicación necesita direcciones IP internas o externas fijas para las instancias de procesamiento del host?

Ahora que ya evaluaste los requisitos, obtén información sobre las opciones de implementación que ofrece Compute Engine.

Revisa las opciones de implementación disponibles

Revisa y comprende las características y las ventajas relativas de las opciones que puedes considerar para implementar tus cargas de trabajo en Compute Engine.

Instancias de procesamiento independientes
Con esta opción, eliges el tipo de máquina, la imagen, los discos y otros atributos de forma individual para cada instancia de procesamiento que aprovisiones. Las instancias se administran como recursos independientes.
Clústeres de instancias de procesamiento
Con esta opción, creas un grupo de instancias de procesamiento que se encuentran físicamente cerca unas de otras para proporcionar conectividad de red de baja latencia y alto ancho de banda para cargas de trabajo de computación de alto rendimiento (HPC) y de inteligencia artificial (IA).
Grupo de instancias no administrado
Puedes aprovisionar instancias de procesamiento independientes y agregarlas a un grupo de instancias. Luego, puedes usar el grupo de instancias no administrado como backend para un balanceador de cargas.
Grupo de instancias administrado (MIG)

Un MIG es un grupo de instancias idénticas o configuradas de forma similar que aprovisionas mediante una plantilla de instancias.

  • Puedes hacer un MIG con estado para que se preserven los discos o metadatos específicos.

  • En el caso de un MIG sin estado, puedes habilitar el ajuste de escala automático y configurar una política de escalamiento.

  • Mientras creas un MIG, puedes elegir implementar las instancias de procesamiento dentro de una sola zona o distribuirlas en más de una zona en una región para una alta disponibilidad.

En la siguiente tabla, se resumen las características clave de cada opción de implementación.

Función Instancias de procesamiento independientes Grupo de instancias no administrado MIG con estado MIG sin estado
Aprovisionamiento basado en plantillas de un grupo de instancias de procesamiento
Combinación de imágenes y tipos de máquinas
Direcciones IP internas o externas fijas
Reparación automática de instancias de procesamiento con errores
Control sobre las operaciones de inicio-detención y suspensión-reanudación de la instancia de procesamiento
Configura un grupo de instancias de procesamiento como un backend de balanceador de cargas
Conservación de discos y metadatos para cargas de trabajo con estado
Actualización controlada de instancias de procesamiento específicas
Actualización progresiva automática de todas las instancias de procesamiento
Escalamiento horizontal automático (y predictivo)

En los siguientes diagramas, se muestran ejemplos de implementaciones en paralelo para ayudarte a comprender las diferencias clave.

Instancias de procesamiento independientes MIG con estado MIG sin estado
En este ejemplo, se muestran tres instancias de procesamiento creadas de forma individual. En este ejemplo, se muestra un MIG que contiene tres instancias de procesamiento configuradas de manera similar, aprovisionadas con una plantilla de instancias.

En este ejemplo, se muestra un MIG que contiene tres instancias de procesamiento idénticas, aprovisionadas con una plantilla de instancias.

Tres instancias de procesamiento independientes
Un MIG con estado
                          con tres instancias de procesamiento creadas con una plantilla de instancias
Un MIG sin estado con tres instancias de procesamiento creadas con una
                          plantilla de instancias
  • Cada instancia de procesamiento de este ejemplo usa un tipo de máquina, una imagen, discos y otros atributos distintos.
  • Las instancias de procesamiento se agregaron de forma individual a un grupo de instancias no administrado.
  • Las instancias de procesamiento de este ejemplo usan un tipo de máquina y una imagen definidos en una plantilla de instancias.
  • Una política con estado garantiza que los discos de arranque conectados a todas las instancias de procesamiento tengan estado.
  • Las configuraciones por instancia agregan los discos de datos con estado necesarios.
  • En este ejemplo, las instancias de procesamiento heredan el tipo de máquina y la imagen de una plantilla de instancias.
  • Los discos se vuelven a crear cuando se actualiza o se vuelve a crear la instancia de procesamiento.
  • El MIG crea y borra las instancias de procesamiento de forma automática en función de una configuración del ajuste de escala automático.

Ahora ya evaluaste la carga de trabajo, revisaste las opciones de implementación que ofrece Compute Engine y estás listo para elegir un enfoque de implementación.

Selecciona una estrategia de implementación

Las recomendaciones que se analizan aquí se basan en una asignación de características específicas de cargas de trabajo a las capacidades de cada opción de implementación de Compute Engine.

Usa el siguiente flujo de toma de decisiones. Si prefieres una guía visual, consulta el árbol de decisión que aparece más adelante en este documento.

  1. Elige entre instancias de procesamiento independientes, clústeres de instancias de procesamiento y grupos de instancias.

    Requisitos Estrategia de implementación recomendada
    La aplicación es una carga de trabajo de computación de alto rendimiento (HPC) o inteligencia artificial (IA) que requiere conectividad de red de baja latencia y alto ancho de banda entre las instancias de procesamiento.

    Elige clústeres de instancias de procesamiento.

    Omite el resto del flujo de toma de decisiones.

    Al menos uno de los siguientes requisitos es esencial para tu carga de trabajo.
    • La aplicación debe ejecutarse en instancias de procesamiento que usen una combinación de tipos de máquinas o imágenes.
    • La aplicación necesita direcciones IP internas o externas fijas para las instancias de procesamiento del host.
    • Necesitas controlar el manejo de las instancias de procesamiento con errores.
    • Necesitas controlar las operaciones de inicio y detención o suspensión y reanudación de tus instancias de procesamiento.
    • Debes usar una secuencia de comandos personalizada o una herramienta de terceros para aprovisionar y quitar instancias de procesamiento.

    Elegir instancias de procesamiento independientes

    Si todas las instancias de procesamiento independientes pueden ejecutarse en una sola zona, red de VPC y subred, considera agregar las instancias de procesamiento a un grupo de instancias no administrado. Luego, puedes usar el grupo de instancias no administrado como backend para un balanceador de cargas.

    Omite el resto del flujo de toma de decisiones.

    Ninguno de estos requisitos es esencial para tu caso de uso.

    Usa un MIG para configurar una topología de Compute Engine que tenga alta disponibilidad y sea escalable.

    Continúa con el paso siguiente.

  2. Elige entre un MIG con estado y uno sin estado.

    Requisitos Tipo de MIG recomendado
    La aplicación requiere que se conserven el disco y los metadatos. es decir, la aplicación es con estado.

    Elige un MIG con estado y configura los discos que Compute Engine debe conservar durante eventos disruptivos, como la recreación, la reparación automática y las actualizaciones de instancias de procesamiento.

    Continúa con el paso siguiente.

    La aplicación no es con estado.

    Elige un MIG sin estado y aprovecha la capacidad de ajuste de escala automático. Durante las operaciones perjudiciales, Compute Engine vuelve a crear los discos según la plantilla de instancias.

    Continúa con el paso siguiente

  3. Elige entre un MIG zonal y regional.

    Requisitos Tipo de MIG recomendado
    La aplicación se debe ejecutar en una zona única, o la protección contra fallas zonales no es esencial. Elige un MIG zonal.
    La aplicación debe seguir ejecutándose incluso cuando ocurre una falla zonal. Elige un MIG regional.

Árbol de decisión

En el siguiente diagrama, se te guiará a través de los factores que debes considerar cuando decidas tu estrategia de implementación de Compute Engine:

Árbol de decisión para elegir una estrategia de implementación de Compute Engine

¿Qué sigue?