Migración automática de software: Empresas/servicios

Compartir por correo electrónico

Mono2Micro: Del software monolítico a los microservicios versátiles

En la última década se ha producido un importante cambio de paradigma hacia la computación en nube y los servicios web. A medida que las organizaciones tratan de mantenerse al día con las últimas tendencias, se ha producido una demanda de cambio de los sistemas heredados a la nube. La página web arquitectura orientada a los microservicios (MSA) es un estilo arquitectónico reciente que ha surgido para aprovechar la Nube con las capacidades de despliegue rápido, mejor escalabilidad y mejor mantenibilidad. MSA es un enfoque arquitectónico para desarrollar una aplicación única como un conjunto de pequeños servicios, cada uno de los cuales se ejecuta en su propio proceso y se comunica con interfaces ligeras. Individualmente, cada microservicio debe ser independiente, funcionalmente autónomo, y tener autonomía de datos. Este estilo arquitectónico da lugar a un código base más manejable, ya que cada microservicio puede ser gestionado por un equipo más pequeño.

Las aplicaciones monolíticas son aplicaciones de un solo nivel en las que la interfaz de usuario, la lógica empresarial y los datos se combinan en un único programa. La mayoría de estos sistemas heredados son orientado a objetos (OO) y contienen complejas dependencias internas. A medida que envejecen, se vuelven grandes y complejas, y el coste de mantenerlas y evolucionarlas aumenta. A menudo, son difíciles de escalar de forma modular. Por ello, se escalan duplicando instancias de toda la aplicación. Esta solución es una forma muy ineficiente de responder a las cargas de trabajo que cambian rápidamente, manteniendo una utilización óptima.

El resultado de este cambio de paradigma es que tanto la industria como las comunidades científicas están interesadas en evolucionar / migrar sus sistemas heredados hacia los microservicios. El proceso de migración es costoso cuando se realiza manualmente. Se puede dividir en dos pasos (1) la extracción de microservicios de una arquitectura OO y (2) la transformación de la arquitectura OO hacia una MSA. El proceso de extracción consiste en identificar una arquitectura de microservicios a partir del código fuente de una aplicación monolítica (y su correspondiente arquitectura OO). A continuación, con el MSA, el código fuente se transforma para ajustarse a su nueva arquitectura. Se han propuesto enfoques para extraer una arquitectura de microservicios para formalizar y automatizar el proceso. Sin embargo, no se ha propuesto ningún enfoque para transformar automáticamente los monolitos hacia los microservicios, por lo que esta parte sigue siendo costosa, ya que debe realizarse manualmente.

Proceso de migración del software monolítico OO hacia un MSA

El objetivo de esta tesis es

  • proporcionar un proceso para transformar una aplicación monolítica en una orientada a los microservicios
  • y combinarlo con los enfoques de extracción existentes en una herramienta de migración semiautomática e iterativa.

Esta herramienta se utilizará para migrar progresiva e iterativamente los proyectos de backend existentes en Berger-Levrault a la moderna arquitectura de microservicios. Esta tesis se está trabajando junto con otra tesis sobre la migración de GUIs, para proporcionar una herramienta compleja para la migración del front y backend de varios software en Berger-Levrault.

Más ...

Scroll al inicio