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


Como arquitecto de la nube o administrador de TI, cuando planea ejecutar una aplicación en Compute Engine, necesita diseñar una topología de VM que pueda aprovisionar y operar de manera eficiente.

Compute Engine ofrece una variedad de opciones de implementación: por ejemplo, puede implementar un grupo de máquinas virtuales que administra como una sola entidad, o puede aprovisionar y administrar las máquinas virtuales como recursos individuales. Cada enfoque tiene distintos méritos y limitaciones. ¿Cómo se elige una estrategia de implementación óptima?

  1. Comience evaluando los requisitos clave de su aplicación.
  2. Revise las opciones de implementación disponibles y sus ventajas relativas.
  3. Seleccione una estrategia que cumpla con sus requisitos y haga un uso óptimo de las capacidades de Compute Engine.

Evalúa tu carga de trabajo

Utilice las siguientes preguntas para analizar los requisitos clave de la carga de trabajo que desea implementar. Sus respuestas lo ayudarán a asignar las capacidades de cada opción de implementación (enumeradas en la siguiente sección) a los requisitos de su carga de trabajo.

  • Estado de la aplicación

    • ¿La aplicación tiene estado?

      • Una aplicación con estado almacena ciertos datos, como el cliente o el ID de sesión, hasta que esos datos ya no sean necesarios. Por ejemplo, en una aplicación de compras en línea, el servicio de carrito de compras puede almacenar detalles de los artículos que se agregan o eliminan a medida que el usuario continúa comprando y conservar el estado final del carrito cuando el usuario inicia el proceso de pago.
      • Una aplicación sin estado no necesita almacenar ningún dato de cliente, transacción o sesión. Por ejemplo, un servidor web podría 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, consulte En qué se diferencian las cargas de trabajo con estado de las cargas de trabajo sin estado .

    • ¿Se deben conservar los metadatos específicos de la instancia cuando se reinician las máquinas virtuales o cuando Compute Engine recrea (repara automáticamente) las máquinas virtuales?

  • Aprovisionamiento

    • ¿Las máquinas virtuales deberían utilizar una combinación de tipos de máquinas o imágenes? Por ejemplo, ¿algunas máquinas virtuales necesitan tipos de máquinas con memoria optimizada mientras que otras utilizan tipos de máquinas de uso general?
    • ¿La infraestructura debería escalarse automáticamente en sintonía con los cambios en la carga, para mantener un equilibrio óptimo entre costo y tiempo de respuesta?
    • ¿Se pueden ejecutar todas las máquinas virtuales en una única zona, red de VPC y subred?
    • ¿Debería la aplicación ejecutarse en la misma zona que otros recursos determinados? Por ejemplo, ¿requiere la aplicación una conexión de baja latencia con una base de datos?
  • Operaciones

    • ¿Quiere administrar las máquinas virtuales como un solo grupo? Por ejemplo, ¿le gustaría automatizar la implementación de actualizaciones de aplicaciones en todas las máquinas virtuales?
    • ¿Necesita utilizar una herramienta personalizada o de terceros para administrar las máquinas virtuales?
    • ¿Necesita control sobre el manejo de máquinas virtuales fallidas? Por ejemplo, si una máquina virtual falla, ¿le gustaría que permanezca detenida mientras determina la causa raíz del error?
    • ¿Necesita controlar la secuencia o programación de inicio, parada, suspensión y reanudación de sus máquinas virtuales? Por ejemplo, para ahorrar costos, ¿planea detener las máquinas virtuales durante los fines de semana o durante determinadas horas del día?
  • Resiliencia

    • ¿La aplicación necesita protección contra fallas zonales? En otras palabras, si una zona está inactiva, ¿le gustaría que la aplicación continuara atendiendo solicitudes de máquinas virtuales en otras zonas de la región?
    • Si una VM se detiene o falla por algún motivo, o si la aplicación no responde a las solicitudes, ¿debería Compute Engine recrear la VM automáticamente?
    • ¿La aplicación necesita direcciones IP internas o externas fijas para las máquinas virtuales host?

Ahora que ha evaluado sus requisitos, conozca las opciones de implementación que ofrece Compute Engine.

Revise las opciones de implementación disponibles

Revise y comprenda las características y ventajas relativas de las opciones que puede considerar para implementar sus cargas de trabajo en Compute Engine.

VM independientes
Con esta opción, usted elige el tipo de máquina, la imagen, los discos y otros atributos individualmente para cada VM que aprovisione. Y usted administra las máquinas virtuales como recursos separados.
Grupo de instancias no administrado
Puedes aprovisionar máquinas virtuales independientes y agregarlas a un grupo de instancias. Luego puedes usar el grupo de instancias no administrado como backend de un balanceador de carga.
Grupo de instancias administrado (MIG)

Un MIG es un grupo de instancias idénticas o configuradas de manera similar que usted aprovisiona mediante una plantilla de instancia .

  • Puede hacer que un MIG tenga estado , de modo que se conserven discos o metadatos específicos.

  • Para un MIG sin estado , puede habilitar el escalado automático y configurar una política de escalado.

  • Al crear un MIG, puede optar por implementar las máquinas virtuales en una sola zona o distribuirlas en más de una zona en una región para lograr alta disponibilidad.

La siguiente tabla resume las características clave de cada opción de implementación.

Capacidad VM independientes Grupo de instancias no administrado MIG con estado MIG sin estado
Aprovisionamiento basado en plantillas de un grupo de máquinas virtuales
Mezcla de tipos de máquinas e imágenes.
Direcciones IP fijas internas o externas
Reparación automática de máquinas virtuales fallidas
Control sobre las operaciones de inicio, parada y suspensión-reanudación de VM
Configurar un grupo de máquinas virtuales como backend del equilibrador de carga
Preservación de disco y metadatos, para cargas de trabajo con estado
Actualización controlada de VM específicas
Actualización continua automática de todas las máquinas virtuales.
Escalado horizontal automático (y predictivo)

Los siguientes diagramas muestran implementaciones de ejemplo en paralelo para ayudarle a comprender las diferencias clave.

VM independientes MIG con estado MIG sin estado
Este ejemplo muestra tres máquinas virtuales creadas individualmente. Este ejemplo muestra un MIG que contiene tres máquinas virtuales configuradas de manera similar, aprovisionadas mediante una plantilla de instancia.

Este ejemplo muestra un MIG que contiene tres máquinas virtuales idénticas, aprovisionadas mediante una plantilla de instancia.

Tres máquinas virtuales independientes
Un MIG con estado                           con tres máquinas virtuales creadas mediante una plantilla de instancia
Un MIG sin estado con tres máquinas virtuales creadas mediante el uso de un                           plantilla de instancia
  • Cada VM en este ejemplo utiliza un tipo de máquina, una imagen, discos y otros atributos distintos.
  • Las máquinas virtuales se agregaron individualmente a un grupo de instancias no administrado.
  • Las máquinas virtuales de este ejemplo utilizan un tipo de máquina y una imagen definidos en una plantilla de instancia.
  • Una política con estado garantiza que los discos de arranque conectados a todas las máquinas virtuales tengan estado.
  • Las configuraciones por instancia agregan los discos de datos con estado necesarios.
  • En este ejemplo, las VM heredan el tipo de máquina y la imagen de una plantilla de instancia.
  • Los discos se vuelven a crear cuando se actualiza o se vuelve a crear la máquina virtual.
  • El MIG crea y elimina máquinas virtuales automáticamente según una configuración de escalado automático.

Ahora evaluó su carga de trabajo, revisó las opciones de implementación que ofrece Compute Engine y está listo para elegir un enfoque de implementación.

Seleccione una estrategia de implementación

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

Utilice el siguiente flujo de toma de decisiones. Si prefiere una guía visual, consulte el árbol de decisiones más adelante en este documento.

  1. Elija entre VM independientes y grupos de instancias.

    Requisitos Estrategia de implementación recomendada
    Al menos uno de los siguientes requisitos es esencial para su carga de trabajo.
    • La aplicación debe ejecutarse en máquinas virtuales que utilicen una combinación de tipos de máquinas o imágenes.
    • La aplicación necesita direcciones IP internas o externas fijas para las máquinas virtuales host.
    • Necesita control sobre el manejo de máquinas virtuales fallidas.
    • Necesita controlar las operaciones de inicio, parada o suspensión y reanudación de sus máquinas virtuales.
    • Debe utilizar un script personalizado o una herramienta de terceros para aprovisionar y eliminar máquinas virtuales.

    Elija máquinas virtuales independientes.

    Si todas las VM independientes se pueden ejecutar en una sola zona, red de VPC y subred, considere agregar las VM a un grupo de instancias no administrado. Luego puedes usar el grupo de instancias no administrado como backend de un balanceador de carga.

    Omita el resto de este flujo de toma de decisiones.

    Ninguno de los requisitos anteriores es esencial para su caso de uso.

    Utilice un MIG para configurar una topología de Compute Engine que sea fácil de administrar, altamente disponible y escalable.

    Continúe con el siguiente paso.

  2. Elija entre un MIG con estado y sin estado.

    Requisitos Tipo de MIG recomendado
    La aplicación requiere conservación del disco y de los metadatos; es decir, la aplicación tiene estado.

    Elija un MIG con estado y configure los discos que Compute Engine debe preservar durante eventos disruptivos como recreación, reparación automática y actualizaciones de VM.

    Continúe con el siguiente paso.

    La aplicación no tiene estado.

    Elija un MIG sin estado y aproveche la capacidad de escalado automático. Durante operaciones disruptivas, Compute Engine recrea los discos según la plantilla de instancia.

    Continúe con el siguiente paso.

  3. Elija entre un MIG zonal y regional.

    Requisitos Tipo de MIG recomendado
    La aplicación debe ejecutarse en una sola zona o la protección contra fallas zonales no es esencial. Elija un MIG zonal.
    La aplicación debe continuar ejecutándose incluso cuando ocurre una falla zonal. Elija un MIG regional.

Árbol de decisión

El siguiente diagrama lo guía a través de los factores a considerar al decidir su estrategia de implementación de Compute Engine:

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

¿Qué sigue?