Hay cinco factores resultan esenciales para el éxito de la migración:
1. Gestionar el proyecto de migración como un proyecto empresarial estratégico
Un programa de migración a gran escala movilizará una cantidad significativa de los recursos de la organización y repercutirá en la capacidad de gestionar paralelamente nuevos proyectos o cambios funcionales solicitados por la empresa. Para garantizar la capacidad de movilización, el programa de migración debe ser un programa estratégico para la empresa en su conjunto, con objetivos alineados con los retos estratégicos de la empresa (por ejemplo, reducción del tiempo de comercialización, digitalización de los servicios al cliente, optimización de costes, capacidad de innovación, capacidad de abordar mercados en otras zonas geográficas, etc.).
Por consiguiente, debe llevarse al más alto nivel de la empresa (dirección general) para garantizar los recursos asignados al programa a lo largo del tiempo y la alineación de las distintas partes interesadas: dirección comercial, dirección informática, dirección de comunicación, dirección financiera, dirección de recursos humanos, dirección de innovación, etc. La estructura de gobernanza que debe establecerse es una estructura de gobernanza para un programa empresarial estratégico.
2. Considerar el factor humano como crítico para el éxito del programa
El éxito de un programa de migración está ligado a la capacidad de la empresa para movilizar recursos con un alto nivel de inversión durante un periodo razonablemente largo. Para ello es necesario :
- La puesta en común de los objetivos de esta transformación y de las perspectivas a nivel de cada equipo y/o de cada empleado.
- Un plan de progresión de competencias adaptado al posicionamiento objetivo del personal implicado y a su papel en el programa, que combine aprendizaje formal, social y experiencial.
- Intercambio de experiencias a todos los niveles a través de comunidades, actividades prácticas y jornadas lúdicas.
- Aplicación de un plan de retención de los recursos clave que incluya la previsión de la demanda del equipo (valor de las competencias en la nube en el mercado)
- Comunicación que implique a todas las partes interesadas – Celebración de los hitos como equipo
Se recomienda utilizar enfoques de inteligencia colectiva para facilitar la alineación continua, tener en cuenta las dificultades encontradas y aportar soluciones colectivas, responder a las preguntas sobre los objetivos, el método y los medios, y adaptar los planes de apoyo en función de las señales débiles que hayan surgido.
3. Disponer de bases estables en el momento adecuado
Para lograr la migración de las aplicaciones, es esencial que los siguientes cimientos estén listos para las primeras aplicaciones piloto durante la fase movilización:
- Una landing zone lo suficientemente industrializada para satisfacer las necesidades de las aplicaciones, en la que se conceda autonomía a las operaciones de las aplicaciones al tiempo que se controla el uso de los servicios de AWS: una estrategia de gestión de la nube clara e industrializada dentro de una organización estructurada que permita controlar el uso mediante políticas, una gestión de la red que permita ocultar la complejidad a las fábricas.
- Servicios de seguridad: cifrado, trazabilidad, protección de los accesos entrantes y salientes a Internet, capacidad de autorizar los flujos entre aplicaciones, gestión de roles para llevar a cabo las tareas necesarias para el despliegue y la administración de las aplicaciones, etc.
- Infraestructura compartida y servicios operativos: DNS, AD, transferencias de archivos, gestión de registros de sistemas y aplicaciones, observabilidad, copias de seguridad.
- Una cadena CI/CD sólida y segura que permita la implementación segura de los servicios de AWS y los componentes de las aplicaciones.
4. Automatizar a todos los niveles
Identificar el alcance de la migración es una de las primeras tareas de un proyecto de migración. El trabajo de análisis del portafolio y de las características de las aplicaciones (diferentes entornos, flujos, componentes, etc.) debe automatizarse al máximo para poder seguir el proyecto de principio a fin, hasta la fase de desmantelamiento de los componentes on-premise.
El despliegue de aplicaciones a escala requiere una zona de aterrizaje (creación de cuentas AWS, VPCs y subredes, flujos de red intra-AWS con el on-premise e Internet, endpoints para acceder a los servicios AWS, gestión DNS, gestión AMI, volumen EBS, compartición EFS, etc.) y servicios de seguridad (roles IAM, logging, túneles WAF, gestión de certificados, cifrado de datos) que puedan ser consumidos a escala para el despliegue de una aplicación. La creación de los recursos necesarios para desplegar una aplicación en la zona de aterrizaje debe delegarse a los equipos Devops que migran una aplicación, pero no debe depender de la disponibilidad de recursos CCOE.
La migración de aplicaciones a menudo implica la adopción de datos locales. El tiempo necesario para exportar, transferir y cargar datos a AWS suele ser inaceptable debido al tiempo de inactividad que conlleva. Proporcionar mecanismos para sincronizar datos entre on-premises y AWS, y hacerlos directamente activables por los equipos de DevOps, puede acelerar las migraciones y limitar el tiempo de inactividad del servicio.
Gestionar un proyecto de migración significa a menudo gestionar de 100 a 300 migraciones en paralelo. Todos esos proyectos con equipos potencialmente diferentes. La industrialización de la gestión de programas/proyectos es necesaria con tales volúmenes: los calendarios detallados de los proyectos de migración deben agregarse para tener una visión consolidada de tipo gestión, útil para la toma de decisiones. Los indicadores clave de rendimiento (KPI) deben utilizarse para alertar sobre los proyectos que van con retraso o que permanecen demasiado tiempo en una fase.
La combinación de una herramienta ágil de gestión de proyectos/programas (como JIRA) y un producto de BI puede permitir la centralización de la información y la producción automatizada de KPI.
Los gestores de la migración deben recuperar automáticamente su «cuadro de mandos del proyecto» y dedicar la mayor parte de su tiempo a identificar los principales riesgos y dependencias que puedan repercutir en el avance óptimo del proyecto.
5. Gestionar a escala
Centenares de migraciones deberán gestionarse en un periodo de un año o 18 meses con fuertes restricciones de planificación, ya que esto garantiza a menudo el business case (se libera un centro de datos al final del contrato, con prórrogas generalmente a precios disuasorios por parte de un proveedor que pierde al menos una parte importante de su volumen de negocios de alojamiento). Detrás de una cartera de varios centenares de aplicaciones, hay al menos un conjunto de varias decenas de gestores de proyectos operativos. Detrás de estas aplicaciones, hay también miles de recursos técnicos cuyo desmantelamiento o incluso absorción por uno o varios intermediarios debe vigilarse.
Para garantizar este tipo de gestión, es importante disponer de un mecanismo de delegación eficaz. Si bien debe presentarse al comité estratégico una visión de conjunto precisa de la evolución del programa, es importante garantizar la fiabilidad de la información, tanto presupuestaria como de planificación. Para aplicar las medidas adecuadas (técnicas, recursos, planificación, dependencias, etc.), también es esencial disponer de circuitos cortos de escalado que permitan tratar los riesgos o desviaciones lo antes posible en cuanto se diagnostiquen.
Si los equipos ya practican métodos ágiles a escala, estos enfoques se capitalizan. Si no es así, no pueden aplicarse en tan poco tiempo. En su lugar, se preferirán enfoques de tipo LEAN Management (los principios de gestión Lean tienen como objetivo crear un flujo de trabajo estable basado en la demanda real de los clientes), como Obeya, que facilita la toma de decisiones para alcanzar los objetivos.