Mundo Tech
Octubre 2022

Migración a Google Cloud.



La adopción de nube pública ha sido un tema en incremento en estos últimos años; empresas de todo tipo y tamaño han tomado la decisión de migrar sus cargas de trabajo locales hacia la nube para aprovechar sus bondades (elasticidad, escalamientos, seguridad, ahorro de costos, etc).

Tomar esta decisión es un tema complejo que involucra muchos aspectos y es necesario contar con una planificación adecuada para que el proceso sea exitoso.

En este artículo te contaré acerca del proceso de migración recomendado por google para realizar una planificación adecuada en tu viaje a la nube.





El proceso de migración lo podemos asimilar como un viaje. Te encuentras en el punto A con tu infraestructura y aplicaciones y deseas llegar al punto B. Para ir desde A hasta B, puedes elegir diferentes rutas según tú realidad (tiempo y dinero). Google propone realizar el proceso migratorio en 4 fases las cuales son : Evaluación, Planificación, Implementación y Optimización.


Evaluación

Como primer paso del proceso de migración, es necesario entender y comprender las cargas de trabajo y la configuración que tienen los diversos entornos actuales. Cuando tenemos una gran cantidad de cargas de trabajo que debemos migrar a la nube es muy común encontrarnos con sistemas legados que poseen poca o nula documentación. Por ello es importante realizar un inventario de la infraestructura y las cargas de trabajo que vamos a migrar ( sistemas, bases de datos, agentes de mensajes, almacenes de datos y dispositivos de red).

El inventario de infraestructura debe contener la información de los servidores y especificaciones actuales. En algunas ocasiones este proceso puede realizarse de forma manual, mediante una planilla de spreadsheet por ejemplo. Cuando contamos con infraestructura virtualizada o en otras nubes podemos utilizar herramientas como Stratozone , que permite obtener el inventario de la infraestructura de forma automática utilizando un agente que se despliega en la infraestructura de origen.



Ejemplo de Inventario de Servidores


Además de la infraestructura, es de suma importancia identificar las cargas de trabajo que están operando en el escenario actual y conocer las dependencias y restricciones que posee cada una de ellas.

Ejemplo de Inventario de Apps


Teniendo esto en mente podemos realizar una matriz para organizar las cargas de trabajo en categorías, según su complejidad y riesgo de migrarlas a Google Cloud.



En este ejemplo de matriz , hay dos dimensiones de los criterios de evaluación. Es posible que tus cargas de trabajo requieran más dimensiones o consideraciones adicionales.

De esta forma podremos identificar las cargas de trabajo candidatas para migrarlas primero. Puedes elegir solo una o incluir muchas más en la lista de migración (Backlog). Las cargas de trabajo que se migran primero permiten que tus equipos ejecuten y prueben el entorno de la nube, enfocándose en la migración en lugar de en la complejidad de la misma. Comenzar con cargas de trabajo menos complejas disminuye el riesgo inicial, porque luego podrás aplicar los conocimientos nuevos de tu equipo a cargas más difíciles de migrar.

La fase de evaluación nos permite identificar dependencias y requisitos de las cargas de trabajo, realizar cálculos del costo total de propiedad y establecer una base inicial para definir los servicios de nube que utilizaremos.

Planificación

Se deberán sentar las bases operativas de la nube, con la finalidad de permitir un escalamiento flexible y seguro en la medida que incorporamos cargas de trabajo en el nuevo ambiente, para ello es necesario tener en mente que la operatividad cloud es un proceso evolutivo que requiere tiempo y madurez de los equipos de administración, por ello cuando se establezcan las reglas, administración y configuración del entorno se debe dejar espacio para cambios posteriores.

Para planificar tu migración, debes hacer lo siguiente:
• Establecer la administración de identidades de usuario y servicio.
• Diseñar la organización de recursos.
• Definir grupos y funciones para el acceso a recursos.
• Diseñar la topología de red y establecer la conectividad.
• Fijar una política clara sobre la gestión y transparencia de costos.

Implementación

Los procesos de migración son complejos, existen diversos factores a considerar a la hora de decidir cuál camino tomar para nuestras cargas de trabajo.

Existen los siguientes tipos principales de migraciones que podemos elegir para nuestras cargas de trabajo: Lift-and-shift , Improve-and-move y remove-and-replace .

• Lift-and-shift

En una migración con cero o pocas modificaciones y refactorizaciones. Las modificaciones que apliques a las cargas de trabajo que se migrarán son los cambios mínimos que debes realizar, a fin de que funcionen en el entorno de destino. Este enfoque de migración permite realizar migraciones rápidas, pero no permite aprovechar las características nativas de la nube.

Si deseas realizar una migración lift-and-shift puedes utilizar Migrate to Virtual Machines (Migrate for Compute Engine) un servicio de Google Cloud que permite replicar rápidamente VM a Google Cloud, desde un entorno local o de otras nubes como AWS o Azure.





• Improve-and-move

Este tipo de migración requiere mejorar o modernizar las cargas de trabajo con la finalidad de aprovechar las capacidades nativas de la nube (mejorar en función del rendimiento, el costo o la experiencia del usuario).

Por otro lado, este estilo de migración lleva más tiempo que las migraciones del tipo lift-and-shift, ya que se debe refactorizar para que las cargas de trabajo se desplieguen en el entorno cloud. Es necesario evaluar el tiempo y esfuerzo adicional para realizar este proceso.

La refactorización de las aplicaciones requieren el dominio de diferentes habilidades y prácticas , como la contenerización de aplicaciones, orientación a servicios de negocio, pipelines de Integración y entrega continua (CI/CD), la comprensión y desacoplamiento de aplicaciones, entre otras.


Pipeline de Integración y Entrega Continua (CI/CD) en Google Cloud


• Remove-and-replace

Este enfoque se refiere a retirar una carga de trabajo y volver a diseñarla y reescribirla por completo como una aplicación nativa de la nube.

Si la actual carga de trabajo es muy costosa de migrar con uno de los enfoques mencionados anteriormente, o por alguna restricción de licenciamiento o cumplimiento no se admite en Google Cloud, puedes hacer una migración de este tipo.

Remove-and.replace permite aprovechar al máximo las funciones de Google Cloud, como escalabilidad horizontal, servicios altamente administrados y alta disponibilidad, además, es una buena oportunidad para quitar la deuda técnica de la versión heredada existente.

Sin embargo, pueden llevar más tiempo que los tipos de migraciones, mencionados anteriormente. Independiente del camino que elijas para migrar tus cargas de trabajo hay que tener en mente, cuánta automatización y flexibilidad necesitas.
• Migraciones completamente manuales.
• Herramientas de administración de configuración.
• Automatización de la implementación.
• Infraestructura como código.


Optimización

Después de migrar tus cargas de trabajo y darle rodaje a tu equipo con la operatividad en Google Cloud, puedes comenzar a optimizar tu entorno:
• Mantener capacitado continuamente a tu equipo de desarrollo y operaciones.
• Mejorar la Observabilidad de los sistemas que estén en producción para garantizar que todo en tu entorno funcione como se espera, mejorando prácticas y procesos.
• Automatizar todo, ya que disminuye el riesgo, permite reducir costos y ahorrar tiempo. Los equipos también se vuelven más eficientes, porque no tienen que esforzarse en tareas repetitivas.
• Codificar todo , mediante la implementación de procesos de infraestructura como código y política como código, puedes hacer que tu entorno sea completamente auditable y repetible.
• Contar con un enfoque de desarrollo basado en pruebas.
• Usar los servicios administrados en lugar de los autoadministrados.
• Optimizar el rendimiento y la escalabilidad , puedes reforzar los recursos existentes, agregar más cuando los necesites y quitar recursos innecesarios de forma escalable.
• Reducir costos , analizar tus informes de facturación con el fin de estudiar tendencias de gastos y determinar qué productos de Google Cloud usas con más frecuencia.

La fase de optimización hay que pensarla como una fase continua que permite mejorar y asegurar las implementaciones en la nube, en la medida que se van incorporando nuevas capacidades en la organización.


¿Tienes más dudas respecto a la migración a Google Cloud? No te preocupes, en Zenta Group contamos con expertos que pueden guiarte y llevarte a un viaje exitoso, con altos beneficios para tu negocio.

Publicado por:

Juan Maldonado
Chief Technology Officer