Patent ES-2830438-T3 (ES)
Title: Despliegue de microservicios en contenedores basado en aplicaciones heredadas monolíticas
Inventor: JAEGER JAN
IPC: G06F8/76
Filed: 2017-04-28
Granted: 2021-06-03
Abstract: Un sistema escalable basado en contenedores implementado en instrucciones informáticas almacenadas en un medio no transitorio, comprendiendo el sistema: un depósito de códigos fuente, que contiene el código fuente de una aplicación heredada monolítica que contiene una pluralidad de programas ejecutables en un entorno informático heredado, para realizar 5 una pluralidad de transacciones; un analizador de código fuente, operable para analizar el código fuente e identificar, para cada transacción en la pluralidad de transacciones, un vector de definición de transacción que identifica cada programa potencialmente llamado durante la transacción, para crear una pluralidad de vectores de definición de transacción; un depósito de definición de estado de la transacción, operable para almacenar la pluralidad de vectores de definición de transacción; un analizador de registro de actividades, operable para crear un depósito de definición dinámica que identifica qué programas son utilizados realmente por la aplicación heredada monolítica cuando es realizada en, como mínimo, un subconjunto de la pluralidad de transacciones; un optimizador de definición de microservicio, operable para comparar la pluralidad de vectores de definición de transacciones con el depósito de definición dinámica y eliminar programas no utilizados de la pluralidad de vectores de definición de transacciones para llegar a una pluralidad correspondiente de vectores de definición de microservicios que definen una pluralidad de microservicios; un generador de imágenes de microservicio, operable para, para cada vector de definición de microservicio de entre la pluralidad de vectores de definición de microservicio, localizar para cada programa identificado por el vector de definición de microservicio, binarios de código fuente compilados, compilados para ser ejecutados en el entorno informático heredado y para ser combinados, para cada vector de definición de microservicio de entre la pluralidad de vectores de definición de microservicio, binarios compilados correspondientes para generar una imagen de microservicio para formar una pluralidad de imágenes de microservicio; un depósito de imágenes de microservicio, operable para almacenar la pluralidad de imágenes de microservicio; un depósito de componentes complementarios, operable para almacenar un conjunto de imágenes de binarios de elementos de emulador de un emulador heredado que, en conjunto, son menos que un emulador heredado completo, correspondiendo dichas imágenes a una pluralidad de funciones o conjuntos de funciones de dicho entorno informático heredado, y siendo ejecutables dichas imágenes en un entorno informático distinto caracterizado por un conjunto de instrucciones distinto del conjunto de instrucciones del entorno heredado; un generador de contenedores, operable para formar una imagen de contenedor para cada microservicio o un conjunto de microservicios en la pluralidad de microservicios, utilizando la imagen de microservicio correspondiente o las imágenes del depósito de imágenes de microservicio, y utilizando archivos de imagen del depósito de componentes complementarios para los elementos de emulador del emulador heredado correspondiente a funciones o conjuntos de funciones empleadas por el microservicio o el conjunto de microservicios cuando se ejecutan, identificadas por firmas de llamadas en los binarios en el microservicio o conjunto de microservicios, para crear una pluralidad de imágenes de contenedor; un depósito de imágenes de contenedores, operable para almacenar la pluralidad de imágenes de contenedores ejecutables en el entorno informático distinto; y un sistema de gestión de contenedores, operable para crear, como mínimo, un contenedor para su ejecución en el entorno informático distinto y para ejecutar, como mínimo, una imagen de contenedor almacenada en el depósito de imágenes de contenedor en el, como mínimo, un contenedor.