Stairway to Azure. MCAF, el framework de adopción de la nube de Microsoft

Parafraseando a la mítica banda, ha llegado el momento de comprar una escalera hacia el cielo, en nuestro caso la nube de Microsoft. Son muchas las empresas embarcadas en un proceso de transformación digital, siendo la nube uno de los pilares de dicha transformación, por lo que más pronto que tarde tendremos que enfrentarnos a algún tipo de migración en el marco del proceso de transformación de nuestra empresa.

La migración a la nube hará que muchas aplicaciones ganen en agilidad, flexibilidad, resiliencia... pero el proceso de migrar cientos o miles de cargas de trabajo puede ser cuanto menos complicado. Un escenario habitual cuenta con años y años de aplicaciones heredadas que necesitarán ser remodeladas y adaptadas. Dependiendo del tamaño del negocio, el proceso de migración puede llevar por tanto desde unos pocos meses a varios años.

Introducción a MCAF

MCAF son las iniciales de Microsoft Cloud Adoption Framework for Azure la propuesta de Microsoft que puede ayudarnos en esta complicada tarea. En palabras de Scott Bockheim, el actual director de Pattern and Practice de Microsoft, MCAF(o también CAF en contextos Azure) incluye buenas práctica, guías y un conjunto de evaluaciones y herramientas que facilitan la adopción de la nube.

El sitio de MCAF está configurado en base a una tabla de contenidos que reflejan las distintas etapas propuestas por Microsoft en el proceso de adopción:

  • Strategy
  • Plan
  • Ready
  • Adopt
  • Govern
  • Manage

El framework está dividido en las 6 secciones anteriores.

Las 3 etapas principales, Plan, Ready y Adopt, están precedidas por una fase de estrategia de negocio y apoyadas por una fase de operaciones que transcurre en paralelo durante todo el proceso de adopción de la nube (cloud journey).

Microsoft Cloud Adoption Framework for Azure

Strategy: Comienza con la sección de estrategia. ¿Qué significa ser una compañía Digital? ¿Cuáles son las motivaciones para empezar este proceso de adopción a la nube?

Plan: Sigue la fase de planificación. ¿Cuál es el grado de madurez digital actual de la compañía? ¿Cómo de preparado está el equipo actual para hacer frente a los cambios? ¿Cómo de motivadas están las diferentes áreas respecto a los cambios que serán necesario adoptar?

Ready: A continuación viene la sección de preparación. Se inicia la construcción del entorno base en Azure que será ampliado con nuevas capacidades y servicios iteración tras iteración.

Govern: En paralelo es de vital importancia tener en consideración las cuestiones relativas al Gobierno. ¿Cuáles son las dimensiones clave de un modelo de gobierno? ¿Qué controles hay que establecer?

Manage: Una vez tengamos el entorno desplegado y bajo el modelo de gobierno deseado, es necesario decidir cómo se va a gestionar. ¿Qué herramientas vamos a utilizar? ¿Cuál va a ser el modelo operacional? ¿Cómo encaja la nube con el modelo de servicios IT actual?

Adopt: La última pieza en el puzzle es la adopción. Para iniciar la fase de adopción, deberá comenzar el proceso de migración de las cargas de trabajo on-premise. En el futuro, nuevas experiencias digitales podrán añadirse al portfolio de partida apoyándose en estrategias de innovación.

De esta pequeña introducción se desprende en primer lugar que MCAF no es un framework puramente técnico. Sí bien incluye tareas muy técnicas como pueden ser la preparación de la landing zone o la migración de las diferentes cargas de trabajo o workloads, el framework también engloba otras áreas típicamente asociadas con la gestión del proyecto e incluso definición de estrategias de negocio a nivel global. Es improbable pues que una sola persona se convierta en un experto en todos los aspectos del framework. Dado que un proceso de transformación afecta a personas, procesos y tecnología, es necesario afrontar el proceso con una visión de 360 grados, no sólo técnica. Esto hace del framework una herramienta muy interesante no sólo para el personal técnico, si no, más si cabe, para el resto de participantes en un proyecto de migración a nivel de gestión y toma de decisiones.

En segundo lugar señalar que no hay un único punto de entrada al framework. Dado que este cubre todo el proceso de adopción de la nube de extremo a extremo, dependerá del grado de madurez de adopción en el que nos encontremos. De este modo si estamos en el punto inicial será conveniente empezar por la fase de estrategia. Otro escenario con un grado de madurez mayor sería aquel en el que ya hay establecida una estrategia que guía el proceso, existe un portfolio pormenorizado de cargas de trabajo, se han realizado las evaluaciones pertinentes, etc. En este caso podríamos saltar directamente a la fase de adopción. Un último ejemplo sería un escenario en el que ya ha comenzado la migración de workloads, en cuyo caso podríamos empezar por las etapas de gobierno y gestión. En definitiva, el framework es modular, lo que permite a los usuarios utilizar cada uno de los seis módulos de la manera que considere. El uso de uno de los módulos no obliga a usar el resto.

Por último, reseñar que el framework es válido tanto en un contexto de migración puro, entendido como el proceso de mover los activos digitales existentes a una plataforma cloud, como en un contexto de modernización e innovación, en el que el proceso estará guiado por otros motivos como la transformación de productos y servicios o la mejora de la experiencia de usuario.

Herramientas y Aceleradores

Dado el elevado número de herramientas, no se pretende en este blog realizar un listado exhaustivo. Por otro lado, el framework se actualiza frecuentemente, por lo que aconsejo revisar su sitio web a menudo.
Simplemente a modo de ejemplo vamos a comentar muy brevemente algunas de las herramientas asociadas a alguna de las etapas propuestas.

Cloud Journey Tracker (Strategy)

Se trata de una herramienta que nos puede ayudar a identificar que partes del framework son más relevantes para nuestra situación en particular. Mediante un pequeño cuestionario daremos a la herramienta la información necesaria para generar una guía específica dependiendo del grado de madurez detectado en cada fase. Es un buen punto de partida para empezar, pero también puede utilizarse en un punto intermedio, ya que la guía será diferente en función del punto en el que nos encontremos, por lo que nos servirá para comprobar nuestro avance.

Cloud Journey Tracker

Backlog Generator (Plan)

Como su nombre indica, esta herramienta, una vez indicado tu repo de Azure Devops, genera las entradas del backlog oportunas para ayudarte a iniciar el proceso de adopción siguiendo las etapas propuestas por el framework. Una vez generada la plantilla, podemos modificarla y adaptarla a nuestras necesidades.

Blacklog Generator

Framework Blueprints (Ready)

La provisión de los entornos está asociada a la fase Ready. Hay diferentes maneras de realizar dicha provisión, bien sea manualmente o de forma automática. Para acelerar el proceso y tener disponible la primera carga de trabajo lo antes posible podremos usar alguna de las plantillas disponibles.

Framework Blueprints

Azure migrate (Adopt - Migrate)

Ofrece una guía de migración y un centro de recursos integrado con otros servicios y herramientas suministradas tanto por Azure como por terceros.

  • Servidores: Evaluación y migración de servidores locales a máquinas virtuales de Azure.

Servidores azure

  • Bases de datos: Evaluación y migración de bases de datos locales a Azure SQL Database o a una instancia administrada de SQL.
  • Aplicaciones web: Evaluación y migración de web locales a Azure App Service mediante Azure App Service Migration Assistant.
  • Escritorios virtuales: Evaluación de infraestructuras de escritorio virtual (VDI) locales y migración a Windows Virtual Desktop en Azure.
  • Data: Migración de grandes cantidades de datos a Azure mediante los productos de Azure Data Box.

Benchmark de Gobierno (Govern)

De acuerdo a la experiencia de Microsoft, la etapa de Gobierno,Govern, es una en la que los clientes suelen atascarse o quedarse bloqueados: ¿cómo adaptar el modelo de gobierno on-premise a la nueva forma de trabajar en la nube? MCAF dispone de un benchmark que, tras proporcionar una serie de información a través de unos formularios, indica en qué punto estas y cuál es el estado objetivo, proporcionando un plan para alcanzar el objetivo propuesto, remarcando áreas del framework que te ayudarán a avanzar en este sentido.

Benchmark

Escenarios de Migración

De las herramientas comentadas, sin duda Azure Migrate es una de las más potentes. No es casualidad. La fase de adopción es la fase donde la tecnología entra en juego de forma más significativa y una de las piezas más maduras del framework a mi entender. Dado el perfil técnico de los lectores del blog, echemos un pequeño vistazo más de cerca a esta fase Adopt.

En todos los proyectos de migración, independientemente del framework utilizado, existen tareas comunes como pueden ser la preparación de la landing zone o la evaluación de los workloads para fijar la estrategia de migración.

En el punto en que nos encontramos, la landing zone habrá sido creada en la fase inmediatamente anterior (Ready), por lo que estamos en disposición de migrar las cargas de trabajo.

 

migración

Las estrategias de migración están basadas en uno de los 5 patrones conocidos como las 5 Rs. Introducidos por Gartner hace ya una década, se han convertido en un estándar en términos de posibles patrones de migración: Rehost, Refactor, Rearchitect, Rebuild and Replace.

MCAF introduce las 5 Rs en la fase de planificación como parte fundamental del proceso de racionalización: "evaluar los recursos para determinar la mejor manera de migrar o modernizar cada activo en la nube". La propuesta consiste en etiquetar cada una de las cargas de trabajo descubiertas a medida que se crea el portfolio detallado de aplicaciones. Sin embargo, Microsoft es consciente de que una racionalización precisa, o dicho de otro modo, decidir cuál es la R correcta que aplica a nuestra carga de trabajo, requiere un conocimiento profundo de la carga de trabajo y sus relaciones, incluyendo aplicaciones, VMs y datos.

Dado que en función de la complejidad del workload puede ser un proceso largo y costoso, Microsoft propone un proceso de racionalización incremental.

Migrate

  • Assess workloads: Será pues en esta fase de adopción en la que se evalúe cada carga de trabajo en detalle, comprobando si las asunciones de la fase de planificación eran correctas, estudiando las dependencias entre workloads y escogiendo definitivamente la estrategia de migración.
  • Deploy workloads: Una vez finalizada la evaluación, la funcionalidad de las cargas de trabajo serán replicadas (o mejoradas) en la nube en base al patrón seleccionado, siendo Lift and Shift o Rehost el de menor coste en tiempo y recursos. Sin embargo, si la estrategia es dar el salto a PaaS, posiblemente sea necesario Refactor o algún otro patrón de mayor coste en tiempo, a cambio de aprovechar algunas de las capacidades de los servicios totamente administrados de la nube
  • Release workloads: Una vez que la funcionalidad se replica en la nube, las cargas de trabajo se pueden probar y optimizar en su caso. Una vez finalizado el proceso, la carga de trabajo estará lista para ser entregada al equipo de soporte oportuno, dependiendo del modelo operacional.

Como herramientas en esta fase, a parte de la herramienta Azure Migrate ya comentada, tenemos a nuestra disposición varias guías de migración detalladas de cargas de trabajo, una extensa guía de buenas prácticas y una muy interesante sección de escenarios de migración, incluyendo árboles de decisiones basados en las diferentes opciones que Azure nos ofrece según la tecnología a migrar y ejemplos de migración de cargas de trabajo incluyendo VMs Windows y Linux, aplicaciones a medida (Java, PHP, .NET), bases de datos y mucho más.

Conclusión

Microsoft entra en la lista de proveedores cloud que ofrecen un framework de adopción a la nube, ya que tanto Google como Amazon cuentan cada uno con el suyo desde hace ya algún tiempo. En esta entrada del blog hemos realizado un primer recorrido por MACF, el framework de Microsoft, revisando las fases propuestas, comentando algunas de las herramientas que ofrece el framework y por último echando un vistazo más de cerca a la fase de Adopción en la que tienen lugar la migración de las distintas cargas de trabajo.

Un pequeño vistazo al sitio del framework, https://aka.ms/adopt, nos da una idea de la cantidad de información disponible. El número de aspectos que trata es muy amplio desde la estrategia hasta la implementación pormenorizada de distintas cargas de trabajo. Mi recomendación es familiarizarse con las distintas secciones e ir profundizando en cada una de ellas a medida que recorremos el camino de adopción de la nube en nuestros proyectos.

Si en algún momento del camino necesitas asistencia, Microsoft por su lado dispone de 2 programas de soporte disponibles para las empresas que cumplan los requisitos (básicamente un gasto mensual en servicios de Azure):

  • FastTrack for Azure en la que podrás contar con los consejos de expertos en cualquiera de las 6 fases.
  • Azure Migration Program más centrado en la migración de cargas de trabajo.