Migra a Google Cloud: Prácticas recomendadas para validar un plan de migración

Last reviewed 2023-11-29 UTC

En este documento, se describen las prácticas recomendadas para validar el plan de migración de tus cargas de trabajo a Google Cloud. En este documento, no se enumeran todas las prácticas recomendadas posibles para validar un plan de migración y no se garantiza el éxito. Por el contrario, te ayuda a fomentar las conversaciones sobre posibles cambios y mejoras en tu plan de migración.

Este documento es útil si planificas una migración desde un entorno local, un entorno de hosting privado u otro proveedor de servicios en la nube a Google Cloud. Este documento también es útil si estás evaluando la posibilidad de migrar y deseas explorar sería.

Este documento es parte de la siguiente serie de varias partes sobre la migración a Google Cloud:

Evaluación

Realizar una evaluación completa de las cargas de trabajo y los entornos ayuda a garantizar que desarrolles una comprensión profunda de las cargas de trabajo y los entornos. Desarrollar esta comprensión te ayuda a minimizar los riesgos de tener problemas durante tu migración a Google Cloud y después de ella.

Realiza una evaluación completa

Antes de continuar con los pasos que siguen a la fase de evaluación, completa la evaluación de tus cargas de trabajo y entornos. Para realizar una evaluación completa, considera los siguientes elementos, que a menudo se ignoran:

  • Inventario: Asegúrate de que el inventario de las cargas de trabajo que se migrarán esté actualizado y que hayas completado la evaluación. Por ejemplo, considera qué tan recientes y confiables son los datos de origen para tu evaluación y qué brechas pueden existir en los datos.
  • Tiempos de inactividad: Evalúa qué cargas de trabajo pueden permitirse un tiempo de inactividad y la cantidad máxima de tiempo de inactividad que pueden tener. La migración de cargas de trabajo mientras experimentas tiempos de inactividad nulos o casi nulos es más difícil que migrar cargas de trabajo que pueden permitirse tiempos de inactividad. A fin de completar una migración sin tiempo de inactividad, debes diseñar e implementar la redundancia para cada carga de trabajo que se migre. También debes coordinar estas instancias redundantes.

    Cuando evalúes cuánto tiempo de inactividad puede tolerar una carga de trabajo, evalúa si el beneficio comercial de una migración sin tiempo de inactividad es mayor que la complejidad que agrega a la migración. Cuando sea posible, evita crear un requisito de tiempo de inactividad nulo para una carga de trabajo.

  • Agrupamiento en clústeres y redundancia: Evalúa qué cargas de trabajo admiten la agrupación en clústeres y la redundancia. Si una carga de trabajo admite el agrupamiento en clústeres y la redundancia, puedes implementar varias instancias de esa carga de trabajo, incluso en diferentes entornos, como el entorno de origen y el entorno de destino. Las implementaciones redundantes y agrupadas en clústeres podrían simplificar la migración porque esas cargas de trabajo se coordinan entre sí con una intervención limitada.

  • Actualizaciones de configuración: Evalúa cómo actualizas la configuración de tus cargas de trabajo. Por ejemplo, considera cómo entregar actualizaciones a la configuración de cada carga de trabajo que desees migrar. Esta consideración es fundamental para el éxito de la migración, ya que es posible que debas actualizar la configuración de las cargas de trabajo mientras las migras al entorno de destino.

  • Genera varios informes de evaluación: Durante la fase de evaluación, puede ser útil generar más de un informe de evaluación para considerar diferentes situaciones. Por ejemplo, puedes generar informes que tengan en cuenta diferentes perfiles de carga para tus cargas de trabajo, como los momentos de mayor y menor demanda.

Evalúa los modos de falla que admiten tus cargas de trabajo

Conocer el comportamiento de tus cargas de trabajo en circunstancias excepcionales te ayuda a garantizar que no las expongas a condiciones de las que no se pueden recuperar. Como parte de la evaluación, recopila información sobre los modos de falla y sus efectos que tus cargas de trabajo admiten y de los que pueden recuperarse de forma automática, y qué modos de falla necesitan tu intervención. Por ejemplo, puedes comenzar por considerar preguntas sobre posibles modos de falla, como los siguientes:

  • ¿Qué sucede si una carga de trabajo pierde conectividad a la red?
  • ¿Una carga de trabajo puede reanudar su trabajo desde donde se detuvo después de detenerse?
  • ¿Qué sucede si el rendimiento de una carga de trabajo o sus dependencias no es adecuado?
  • ¿Qué sucede si hay dos cargas de trabajo que tienen el mismo identificador en la arquitectura?
  • ¿Qué sucede si no se ejecuta una tarea programada?
  • ¿Qué sucede si dos cargas de trabajo procesan la misma solicitud?

Otra fuente de modos de falla no compatibles podría ser el plan de migración en sí. Determina si tu plan de migración incluye pasos que dependen del éxito de una condición en particular y si incluye contingencias si no se cumple la condición. Un plan que incluya estos tipos de condiciones puede indicar que el plan en sí puede fallar o que los componentes individuales pueden fallar durante la migración.

Después de evaluar esos modos de falla y sus efectos, valida los resultados en un entorno que no sea fundamental mediante la simulación de fallas y la inserción de fallas que emulan esos modos de fallas. Por ejemplo, si una carga de trabajo está diseñada para recuperarse de forma automática después de una pérdida de conectividad de red, valida la recuperación automática mediante la interrupción forzada de la conectividad y su restablecimiento.

Evalúa las canalizaciones de procesamiento de datos

Tu evaluación de la carga de trabajo debería poder responder las siguientes preguntas:

  • ¿Los recursos tienen el tamaño correcto para la migración?
  • ¿Cuánto tiempo se requiere para migrar los datos que necesitan tus cargas de trabajo?
  • ¿El entorno de destino puede admitir todo el volumen de datos?
  • ¿Cómo se comportan tus cargas de trabajo cuando tienen que adaptarse a los aumentos repentinos de la demanda o a la cantidad de datos que producen en un período determinado?
  • Si hay aumentos repentinos en la demanda o aumentos en la cantidad de datos que producen las cargas de trabajo, ¿hay algún efecto adverso, como un aumento de la latencia o demoras en las respuestas?
  • Después de que se inician tus cargas de trabajo, ¿necesitan tiempo para alcanzar los niveles esperados de rendimiento?

Los resultados de esta evaluación suelen ser modelos de la demanda que satisfacen tus cargas de trabajo y los datos que producen las cargas de trabajo en un período determinado. Cuando recopiles datos para producir esos modelos, considera que esos datos pueden variar de forma significativa entre períodos de tráfico máximo y otros de menor demanda. Para obtener más información sobre qué supervisar y cómo hacerlo, consulta Objetivos de nivel de servicio en el libro Ingeniería de confiabilidad de sitios.

Asegúrate de que puedes actualizar e implementar cada carga de trabajo que se migrará

Durante la migración, es posible que debas actualizar algunas de las cargas de trabajo que migras. Por ejemplo, es posible que debas implementar una corrección para un problema o revertir un cambio reciente que causa un problema. Para cada carga de trabajo que migres, asegúrate de que puedas aplicar e implementar cambios. Por ejemplo, si migras una carga de trabajo para la que tienes el código fuente, asegúrate de que puedas acceder a ese código fuente y de que puedas compilar, empaquetar e implementar el código fuente según sea necesario.

Tu migración puede incluir cargas de trabajo en las que no puedes aplicar e implementar cambios (como software propio). En ese caso, refactoriza el plan de migración para considerar el esfuerzo adicional de mitigar los problemas que pueden ocurrir después de migrar esas cargas de trabajo.

Evalúa la infraestructura de red

Una infraestructura de red funcional es fundamental para la migración. Puedes usar la infraestructura de red como parte de tus herramientas de migración. Por ejemplo, puedes usar balanceadores de cargas y servidores DNS para dirigir el tráfico según tu plan de migración.

Para evitar problemas durante la migración, es importante evaluar la infraestructura de la red y saber en qué medida puede admitir la migración. Por ejemplo, puedes comenzar por considerar preguntas sobre la infraestructura de balanceo de cargas, como las siguientes:

  • ¿Qué sucede cuando vuelves a configurar los balanceadores de cargas?
  • ¿Cuánto tiempo tarda en aplicarse la configuración actualizada?
  • Cuando se migra sin tiempo de inactividad, ¿qué sucede si se produce un aumento repentino de tráfico antes de que se aplique la configuración actualizada?

Después de considerar las preguntas sobre la infraestructura del balanceo de cargas, considera preguntas sobre la infraestructura de DNS, como las siguientes:

  • ¿Qué registros DNS debes actualizar para que apunten al entorno de destino y cuándo debes actualizarlos?
  • ¿Qué clientes usan esos registros DNS?
  • ¿Cómo se configura el tiempo de actividad (TTL) para que se actualicen los registros DNS?
  • ¿Puedes establecer el TTL del registro DNS al mínimo durante la migración?
  • ¿Tus clientes de DNS respetan el TTL de los registros DNS que se actualizan? Por ejemplo, ¿tus aplicaciones tienen almacenamiento en caché de DNS del cliente que ignora el TTL que configuraste para la migración?

Planificación de la migración

Planificar la migración de forma detallada te ayudará a evitar problemas durante la migración y después de ella. La planificación también te ayuda a evitar el esfuerzo de realizar tareas inesperadas.

Desarrolla una estrategia de reversión para cada paso del plan de migración

Durante la migración, cualquier paso del plan de migración que ejecutes puede generar problemas inesperados. A fin de asegurarte de que puedas recuperarte de esos problemas, prepara una estrategia de reversión para cada paso del plan de migración. Para evitar perder tiempo durante una interrupción, haz lo siguiente:

  • Revisa y prueba cada estrategia de reversión de forma periódica para asegurarte de que tus estrategias de reversión funcionen.
  • Establece un tiempo de ejecución máximo permitido para cada paso de migración. Una vez que vence el tiempo de ejecución permitido, los equipos comienzan a revertir el paso de migración.

Incluso si tienes estrategias de reversión listas para cada paso del plan de migración, algunos de esos pasos podrían ser perjudiciales. Un paso que puede ser perjudicial puede causar algún tipo de pérdida, como una pérdida de datos, incluso si lo reviertes. Evalúa qué pasos del plan de migración pueden ser perjudiciales.

Si automatizaste cualquier paso del plan de migración, asegúrate de tener un procedimiento planificado con anterioridad para cada paso automatizado si hay una falla en la automatización. Al igual que con las estrategias de reversión, revisa y prueba de forma periódica cada procedimiento planificado con anterioridad.

Si configuras canales de comunicación como parte de la migración, para asegúrate de que no estés bloqueado en el entorno, aprovisiona canales de copia de seguridad que puedas usar a fin de recuperarte de una falla. Por ejemplo, si configuras la interconexión de socio, durante la migración también puedes configurar un acceso alternativo a través de la Internet pública en caso de que experimentes algún problema durante el aprovisionamiento y la configuración.

Planifica implementaciones y lanzamientos graduales

Para reducir el alcance de los problemas que pueden ocurrir durante la migración, evita los cambios a gran escala y diseña tu plan de migración para implementar cambios de forma gradual. Por ejemplo, planifica cambios de configuración e implementaciones graduales.

Si planificas lanzamientos graduales, para reducir el riesgo de problemas inesperados causados por la aplicación de los cambios, minimiza la cantidad y el tamaño de esos cambios. Después de identificar y resolver los problemas en tu primer lanzamiento pequeño, puedes realizar los lanzamientos posteriores para aplicar cambios similares a mayor escala.

Alerta a los equipos de operaciones y desarrollo

A fin de reducir el impacto de los problemas que pueden ocurrir durante una migración, alerta a los equipos responsables de cualquier carga de trabajo que se migre. También alerta a los equipos responsables de la infraestructura de los entornos de origen y de destino.

Si tus equipos trabajan en diferentes zonas horarias, asegúrate de que se cumplan estas condiciones:

  • Tus equipos cubren de forma correcta esas zonas horarias y abarcan varios turnos consecutivos, ya que es posible que no puedan resolver problemas durante un solo turno.
  • Tus equipos están preparados para recopilar información detallada sobre los problemas que podrían enfrentar. Esta colección permite que los ingenieros del siguiente turno comprendan todo lo que hizo el turno anterior y por qué.
  • En tus equipos hay personas específicas que son responsables de cada turno.

Quita recursos de prueba de concepto del entorno de producción de destino

Como parte de la evaluación, es posible que hayas usado el entorno de destino para alojar experimentos y pruebas de concepto. Antes de la migración, quita cualquier recurso que hayas creado durante esos experimentos y pruebas de concepto del área de producción del entorno de destino.

Puedes mantener los recursos en un área de no producción del entorno de destino mientras la migración está en curso, ya que pueden ayudarte a recopilar información sobre cualquier problema que pueda surgir durante la migración. Por ejemplo, para diagnosticar problemas que afectan las cargas de trabajo de producción después de la migración, puedes comparar los registros de configuración y de datos de la carga de trabajo de producción con los registros de configuración y datos de las pruebas de concepto y los experimentos.

Después de completar la migración y validar que el entorno de destino funcione como se espera, puedes borrar los recursos en el área de no producción del entorno de destino.

Define criterios para retirar de forma segura el entorno de origen

A fin de evitar el costo de ejecutar dos entornos de forma indefinida, define las condiciones que se deben cumplir para que retires de forma segura el entorno de origen, como las siguientes:

  • Todas las cargas de trabajo, incluidas sus copias de seguridad y los mecanismos de recuperación ante desastres y alta disponibilidad, se migraron de forma correcta al entorno de destino.
  • Los datos migrados en el entorno de destino son coherentes, accesibles y utilizables.
  • La precisión y la integridad de los datos migrados cumplen con el estándar definido.
  • Los recursos que permanecen en el entorno de origen no son dependencias de las cargas de trabajo que están fuera del alcance de la migración.
  • El rendimiento de las cargas de trabajo en el entorno de destino cumple con los objetivos de ANS.
  • Los sistemas de supervisión informan que no hay tráfico de red al entorno de origen que deba dirigirse al entorno de destino.
  • Después de que las cargas de trabajo se ejecuten sin problemas en el entorno de destino durante un período que definas, estarás seguro de que ya no necesitas la capacidad de recurrir al entorno de origen.

Operations

Para administrar de manera eficiente el entorno de origen y el entorno de destino durante la migración, también debes diseñar tus procesos operativos.

Supervisa tus entornos

Para ver cómo se comportan tus entornos de origen y destino y ayudarte a diagnosticar problemas a medida que ocurren, configura lo siguiente:

  • Un sistema de supervisión para recopilar métricas que sean útiles para tu situación.
  • Un sistema de registro para observar el flujo de operaciones que realizan las cargas de trabajo y otros componentes de los entornos.
  • Un sistema de alertas que te advierte antes de que se produzca un evento problemático.

Google Cloud Observability admite la supervisión, el registro y las alertas integrados para tu entorno de Google Cloud.

Debido a que una carga de trabajo y sus dependencias abarcan varios entornos, es posible que debas considerar usar varias herramientas de supervisión y alerta para diferentes entornos. Considera el momento en el que se migrarán las políticas de supervisión y alertas que admiten las cargas de trabajo. Por ejemplo, si tu entorno de origen está configurado para alertar cuando un servidor en particular está inactivo, la alerta se activa cuando desactivas ese servidor de forma intencional. Se espera que se active la alerta, pero no es útil. Como parte de la migración, debes ajustar de forma continua las alertas para el entorno de origen y volver a configurarlas para el entorno de destino.

Administra la migración

Para administrar la migración, debes revisar el rendimiento de la migración a fin de recopilar información que puedas usar en retrospectiva después de que se complete la migración. Después de recopilar información, úsala para analizar el rendimiento de la migración y preparar datos sobre posibles mejoras en tus entornos.

Por ejemplo, para comenzar a planificar la administración de la migración, ten en cuenta las siguientes preguntas:

  • ¿Cuánto tiempo tardó cada paso del plan de migración?
  • ¿Hubo algún paso del plan de migración que tardó más tiempo en completarse de lo esperado?
  • ¿Faltaron pasos o verificaciones?
  • ¿Hubo algún evento adverso durante la migración?

¿Qué sigue?