Blog de Amazon Web Services (AWS)

Cómo archivar contenido de bases de datos relacionales en Amazon Glacier mediante AWS DMS

Por Gowri Balasubramanian, Arquiteto sênior de soluções na AWS
Ganesh Shankaran, Arquiteto sênior de soluções na AWS e
Marcos Freccia, Sênior Database Architect na AWS
 

Marzo de 2023: Esta publicación se ha revisado y actualizado con diagramas arquitectónicos y capturas de pantalla de la consola de AWS. Puede utilizar el AWS Database Migration Service (AWS DMS) para migrar datos de diversas fuentes a las bases de datos comerciales y de código abierto más utilizadas. AWS DMS también admite Amazon S3 como origen y destino para las migraciones. Al utilizar Amazon S3 como destino, puede utilizar AWS DMS para extraer información de cualquier base de datos compatible con AWS DMS. A continuación, puede escribirlo en Amazon S3 en formato CSV, que puede utilizar prácticamente cualquier aplicación.

Puede utilizar esta función en los dos escenarios siguientes:

  1. Como parte de la migración de bases de datos comerciales como Oracle a Amazon RDS para PostgreSQL, puede migrar los datos a los que se accede con poca frecuencia o los datos históricos de auditoría y archivado a los servicios de almacenamiento de AWS, como Amazon S3 o Amazon Glacier. Esto puede ayudarlo a cumplir con las necesidades de gobierno y cumplimiento para la retención de datos a largo plazo.
  2. A medida que aumenta el tamaño de los datos en las bases de datos relacionales, los administradores de bases de datos (DBA) y los desarrolladores dedican más tiempo a supervisar y reorganizar los índices y las particiones para mantener un rendimiento óptimo. Este mantenimiento adicional conduce a un aumento de los gastos operativos de almacenamiento de datos debido a la redundancia y el respaldo. Se recomienda archivar los datos a los que se accede con poca frecuencia en Amazon S3 o Amazon Glacier para ahorrar costes y mejorar la capacidad de administración.

En esta publicación, hablamos del segundo caso de uso, en el que los datos a los que se accede con poca frecuencia, por ejemplo, la información de ventas que tiene algunos meses o años (generalmente denominados datos inactivos), se almacenan en una caja fuerte durante un período prolongado. Los equipos financieros o de seguridad de la información deberían poder acceder a estos datos cuando sea necesario, aunque estas solicitudes pueden ser esporádicas.

Si compara el coste por GB de almacenamiento al mes de Amazon RDS PostgreSQL Multi-AZ GP2 con el de Amazon Glacier en la región USE-East-1, el coste de almacenamientoAmazon Glacier es unas 57 veces mas bajo que el de Amazon RDS. Por ejemplo, el coste de 100 GB de almacenamiento al mes en Amazon Glacier es inferior a un dólar (0,10 USD) en comparación con el almacenamiento Multi-AZ de Amazon RDS, que cuesta 23 USD (en el momento de escribir este artículo).

En esta publicación, le muestro cómo usar AWS DMS para almacenar datos de PostgreSQL de Amazon RDS en Amazon S3 como un archivo CSV y, a continuación, archivarlos en Amazon Glacier. Amazon Glacier ofrece varias opciones de recuperación que le permiten recuperar datos en unos minutos o varias horas. A continuación, utilizo la función Amazon Glacier Select para consultar un subconjunto de los datos archivados. Con Amazon Glacier Select, puede analizar sus datos sin prepararlos en un nivel de almacenamiento más avanzado, como Amazon S3. Esto hace que recopilar información de los datos que no estén almacenados en Amazon Glacier sea más económico, rápido y sencillo.

Etapas de alto nivel

Para ayudarlo a administrar toda la infraestructura de esta publicación, hemos creado una plantilla de AWS CloudFormation que proporciona todos los recursos necesarios junto con el código de AWS Lambda utilizado en la publicación. Puedes encontrar el código en este repositorio de GitHub. La solución que se muestra en esta publicación incluye los siguientes pasos:

  1. Descargue el conjunto de datos públicos que contiene la información sobre el registro de propiedades en el Reino Unido en https://data.gov.uk.
  2. Cree una bóveda de Amazon Glacier para almacenar el archivo.
  3. Ejecute la plantilla de AWS CloudFormation que crea los recursos necesarios. Esto incluye la nube privada virtual (VPC), la instancia de PostgreSQL de Amazon RDS, la instancia de replicación de AWS DMS, el bucket de S3, las políticas de IAM y otros recursos necesarios para este ejemplo.
  4. Cree las carpetas en Amazon S3.
  5. Conéctese a la instancia de RDS y cargue el conjunto de datos mediante el cliente de PostgreSQL.
  6. Cree una función en AWS Lambda y configure una notificación de eventos de S3 para activar la función Lambda. Esta función descarga el archivo de S3 y lo carga en Amazon Glacier en cuanto AWS DMS crea el archivo CSV.
  7. Configure los extremos de origen y destino de AWS DMS.
  8. Configure una tarea de AWS DMS para extraer datos de la instancia de RDS a Amazon S3.
  9. Cree una función Lambda para recuperar el subconjunto de datos del archivo mediante Amazon Glacier Select.
  10.  Consulte los resultados del archivado en el bucket de S3.
  11.  Limpie los recursos de AWS.

Nota: Para ilustrar esta arquitectura, el ejemplo utiliza la computación sin servidor. Usamos una función de AWS Lambda para descargar los archivos CSV creados por AWS DMS y subirlos a Amazon Glacier. AWS Lambda tiene una capacidad de disco local de hasta 10240 MB, por lo que esta solución asume que los archivos están por debajo de este límite. Para archivos de más de 10240 MB, considere la posibilidad de adjuntar un Amazon Elastic File System (EFS) a la función Lambda.

Prerrequisitos y supuestos

Para completar esta solución, debe disponer de lo siguiente:

  1. Una cuenta de AWS que proporciona acceso a los servicios que se muestran en el diagrama anterior. Los pasos se realizan en la región us-east-1 (norte de Virginia). Antes de empezar, asegúrese de que los servicios utilizados en esta publicación estén disponibles en su región de AWS.
  2. Herramienta que se conecta a una base de datos de PostgreSQL, como psql o pgAdmin.
  3. Conocimientos prácticos de Amazon RDS, AWS DMS, Amazon VPC, Amazon S3 y AWS Lambda.

Pasos detallados

Las siguientes secciones le guiarán a través de los pasos necesarios para crear y configurar la solución.

#1 Descargar el conjunto de datos de muestra

Descargue este archivo de registro de la propiedad del Reino Unido, que contiene una década de información sobre el registro de propiedades.

Nota: Este archivo contiene información de la base de datos de derechos de autor y derechos de autor de la Corona de datos del Registro de la Propiedad de Su Majestad de 2018. Estos datos están licenciados bajo la Licencia de Gobierno Abierto v3.0. Los datos proporcionados en esta publicación incluyen datos de dirección con restricciones de uso, incluido el uso personal y no comercial. Para obtener más información sobre el uso permitido de este conjunto de datos, consulte Price Paid Data en el sitio web Gov.UK.

Puede guardar el archivo en cualquier instancia de Amazon EC2 (preferida) o en su equipo local que tenga instalado el cliente de PostgreSQL.

En el momento de escribir este artículo, este conjunto de datos contiene información sobre el registro de propiedades en el Reino Unido desde 1995 hasta 2017, con aproximadamente 22 millones de registros. Suponemos que necesita extraer datos antiguos cada año (es decir, particiones al año) y archivarlos en Amazon Glacier. Una vez que lo haya almacenado correctamente en Amazon Glacier, podrá eliminar esos registros de Amazon RDS.

#2 Cree la bóveda de Amazon Glacier

  1. Inicie sesión en la consola de administración de AWS y busque S3 Glacier o haga clic en la consola de Amazon Glacier. Cree una bóveda con el nombre rdsarchive en la región us-east-1. En el área Notificaciones de eventos, elija la opción Desactivar las notificaciones y haga clic en Crear bóveda.
  2. Anote el nombre del almacén y el nombre del recurso de Amazon (ARN).

#3 Ejecute la plantilla de AWS CloudFormation

  1. Copie o descargue el archivo JSON de AWS CloudFormation de este repositorio de GitHub.
  2. Vaya a la consola de AWS CloudFormation y seleccione Create Stack.
  3. Ejecute la plantilla cargando el archivo JSON del paso 1.
  4. Especifique los valores de los parámetros requeridos:
    1. a. Escriba un nombre para la pila, por ejemplo, dms-archive.
    2. b. Proporcione un nombre de bucket de S3 exclusivo. En mi caso, usé el nombre rdspgtoglacier.
    3. c. Para el parámetro VaultName, debe ser el mismo que en el paso 2.
    4. d. Para ExistsDmsRole, especifique Y si el rol dms-vpc-role ya está creado en su cuenta de AWS. De lo contrario, especifique N para que pueda crearse con esta pila de CloudFormation. Para obtener más información sobre la configuración de este rol, consulte Creación de roles de IAM para usarlos con la CLI de AWS y la API de AWS DMS.
  5. Los demás valores de los parámetros son opcionales y se pueden dejar como ajustes predeterminados.
  6. Selecciona Siguiente y navega hasta la última página.
  7. En la última página, en Capacidades, selecciona la opción: Reconozco que AWS CloudFormation puede crear recursos de IAM con nombres personalizados.
  8. Selecciona Enviar.

Algunos recursos, como el nombre del bucket de S3, deben ser exclusivos de todos los nombres de bucket existentes en Amazon S3. (En esta publicación, utilizo el nombre del bucket rdspgtoglacier. ) Le recomendamos que restrinja el acceso a la instancia de Amazon RDS a su rango de IP específico (de forma predeterminada, permite el acceso a 0.0.0.0/0). La creación de la pila de AWS CloudFormation tarda entre 10 y 15 minutos y crea los siguientes recursos.

  1. Un bucket de Amazon S3 con el nombre proporcionado.
  2. Una instancia de replicación de AWS DMS denominada rds-to-s3.
  3. Un rol de IAM para ejecutar Lambda llamado rdsarchive-lambda-execution. Añada la política gestionada AWSLambdaBasicExecutionRole al rol para que la función Lambda pueda crear registros de Amazon CloudWatch y acceder a ellos.
  4. Una política (IAM) denominada lambda-to-archive-policy para proporcionar acceso al bucket de S3 y al almacén de Amazon Glacier que se crean en el paso 2 y añadirlos a rdsarchive-lambda-execution
  5. Un rol de IAM denominado dms-vpc-function para administrar las configuraciones de VPC para las configuraciones de clientes administradas por AWS. Añada la política gestionada de AmazondMSVPCManagementRole al rol, si aún no se ha creado.
  6. Una política de IAM de dmsvpcs3policy (para los objetos PUT y DELETE del bucket creado en el paso 1). Añádalo al rol dms-vpc-role
  7. Una instancia de Amazon RDS con el identificador archivedb, el nombre de la base de datos ukdb, el nombre de usuario dbadmin y la contraseña de postgres123 predeterminada.
  8. Una VPC para las instancias de PostgreSQL y AWS DMS de Amazon RDS y un grupo de seguridad para permitir el acceso a la instancia de PostgreSQL de RDS desde su rango de IP.

Los recursos de AWS aprovisionados se asignan con nombres predeterminados en la plantilla. Si proporciona nombres diferentes al crear la pila, utilice esos nombres para el resto de los pasos. Puede anotar los nombres de los recursos, los nombres de los extremos del RDS, el nombre del bucket de S3, etc., en la sección Salidas de la ejecución de Stack.

#4 Cree las carpetas de Amazon S3

Tras crear la pila, vaya a la consola de Amazon S3 y localice el bucket rdspgtoglacier. Cree las dos carpetas siguientes en el bucket:

  1. La carpeta ukregistry, que actúa como destino de AWS DMS.
  2. La carpeta de salida, que actúa como destino para que Amazon Glacier Select recupere los datos archivados.

#5 Cargue los datos en la instancia de base de datos de Amazon RDS

  1. Con psql o pgAdmin, conéctese a la instancia de base de datos de RDS de la siguiente manera (suponiendo que utilice el nombre de base de datos ukdb predeterminado y el nombre de usuario dbadmin):
psql -h <RDS DNS Endpoint>  -d ukdb -U dbadmin  -p 5432

2. Cree la tabla de base de datos y cargue el conjunto de datos del Reino Unido, como se muestra a continuación:


Nota:
Otra opción es descargar el conjunto de datos a una instancia de EC2 y cargarlo desde allí mediante psql instalado en esa instancia de EC2.

CREAR TABLA uk_property_registry (

uuid de transacción,

precio numérico,

fecha de transferencia,

texto de código postal,

property_type char (1),

booleano recién construido,

gráfico de duración (1),

pan y texto,

texto saludable,

texto callejero,

texto de localidad,

texto de la ciudad,

texto del distrito,

texto del condado,

char de ppd_category_type (1),

record_status char (1);

 

# Cargue los datos del archivo CSV descargado a la tabla. Proporcione la ruta completa del archivo CSV.

\ copy uk_property_registry FROM ‘<dataset_file_complete_path>’ con (formato csv, encabezado falso, nulo «, cita ‘»‘, force_null (código postal, saon, paon, calle, localidad, ciudad, distrito));

Tras una carga de datos correcta, verá un resultado como COPY 27910954, o puede ejecutar la query select count (*) en uk_property_registry para comprobar que la carga de datos se ha completado correctamente.

#6 Cree una función Lambda para descargar el archivo de S3 y subirlo a la bóveda de Amazon Glacier

  1. En la consola de AWS Lambda, cree la función Lambda archivetoglacier de la siguiente manera:
    1. Haga clic en Usar un plano y seleccione el objeto Get S3 con la opción de ejecución de Python 3.7.
    2. Para el nombre de la función Lambda, escriba archivetoglacier.
    3. Haga clic en Usar un rol existente y seleccione el rol de IAM rdsarchive-lambda-execution para esa función de Lambda.
    4. En S3 Trigger, elija el bucket rdspgtoglacier.
    5. Para el tipo de evento, elija Todos los eventos de creación de objetos.
    6. Especifique ukregistry/ como prefijo.
    7. Haz clic en el mensaje de confirmación que aparece en la parte inferior de la pantalla.
    8. Cree la función Lambda.
    9. Una vez creado, edítalo.
    10. Reemplaza todo el código de la ventana por el código Python del repositorio de GitHub.
    11. Haga clic en Implement
  2. Haga clic en la pestaña Configuración que aparece sobre el código de la función Lambda.
  3. En la sección Configuración general, haga clic en Editar, aumente el tiempo de espera de Lambda a 5 minutos y haga clic en Guardar.
  4. En la sección Variables de entorno, especifique una nueva variable.
    1. Clave: vaultname
    2. Valor: resarchive
  5. Haz clic para guardar.

Guarda los cambios.

El código que se muestra arriba obtiene el objeto S3, lo descarga en una instancia de Lambda y lo carga en la bóveda de Amazon Glacier. Esta función de Lambda utiliza el nombre de la bóveda de Amazon Glacier a través de variables de entorno.

#7 Configurar puntos de conexión de origen y destino para AWS DMS

  1. Abra la consola de AWS DMS y seleccione Endpoints en el panel de navegación. Cree un punto final de origen para la base de datos de PostgreSQL mediante la instancia de RDS que creó en el paso 3, como se muestra a continuación:

Compruebe que el nombre de la base de datos, el puerto y la información de usuario son correctos.

2. Elija Ejecutar prueba y pruebe el punto final. Si la prueba se realiza correctamente, no olvide guardar el punto final. Si la prueba falla, compruebe la configuración del punto final y del grupo de seguridad.

3. Elija Actualizar esquemas después de que la prueba se haya realizado correctamente.

4. Cree un punto final de destino para la conexión S3, como se muestra a continuación:

a. Especifique el rol de IAM del ARN dms-vpc-role como arn:aws:iam<AWS Account>: ::role/dms-vpc-role.

b. Especifique el nombre del depósito y la carpeta del depósito en el paso 4.

c. Elija Ejecutar prueba y pruebe el punto final. Si la prueba se realiza correctamente, no olvide guardar el punto final. Si la prueba falla, compruebe la configuración del rol de IAM y el nombre del bucket de S3.

#8 Configure una tarea de DMS para extraer datos de la instancia de RDS a S3

  1. Abra la consola de AWS DMS. Elija Tareas de migración de bases de datos en el panel de navegación y elija Crear tarea.
  2. Para el identificador de la tarea, utilice archivetos3.
  3. Utilice la instancia de replicación que se creó mediante AWS CloudFormation y los endpoints que creó en el paso 7.
  4. En Tipo de migración, seleccione Migrar datos existentes. 

4. Acepte los valores predeterminados en la configuración de tareas.

5. En la sección Asignaciones de tablas, haga clic en Agregar nueva regla de selección.

a. En la maquetación, elija Insertar una maquetación

– Nombre del esquema: público.

– Nombre de la tabla fuente: uk_property_registry.

6. AWS DMS ofrece la opción de añadir filtros de columna, que le permiten extraer datos que cumplan sus criterios de archivado. En este ejemplo, puede especificar la columna transfer_date para extraer los datos de un año determinado; por ejemplo, transfer_date entre el 01 de enero de 1995 y el 1 de enero de 1996, como se muestra a continuación. Elige Añadir regla de selección.

 

8. Selecciona Crear tarea. A continuación, se ejecuta la tarea de migración porque está seleccionada la opción Iniciar tarea al crear. El estado de la tarea cambia de Crear a Iniciar, luego a Ejecutar y, finalmente, a Carga finalizada.

9. Puede comprobar que AWS DMS extrae el subconjunto de información de la tabla como un archivo CSV y lo almacena en la ruta S3 que especificó.

10. Examine el contenido del bucket de S3:

a. Vaya a la consola Amazon S3 y elija el bucket

b. Elija la clave (carpeta) llamada ukregistry. Elija la clave/carpeta pública, que es el nombre del esquema. Elija uk_property_registry, que es el nombre de la tabla.

c. Verá el archivo de objetoscsv, que contiene los datos <= 1996-01-01. Puede descargar este archivo y examinarlo con un editor de texto si lo desea.

11. Compruebe que se haya invocado la función Lambda para el proceso de carga.

      1. Vaya a la consola de AWS Lambda y seleccione archivetoglacier.
      2. Elija la pestaña Monitoring y compruebe que la función se haya invocado con el S3 Trigger que está configurado en el bucket.

3. Haga clic en los tres puntos y vaya a Ver registros.

4. Haga clic en el grupo de registros que se muestra a continuación.

e. Observe el archiveid (valor de u’ ArchiveID ‘) de la operación de carga de Amazon Glacier desde el registro. Lo necesitas para el siguiente paso.

#9 Cree una función Lambda para recuperar el subconjunto de datos

Ahora, supongamos que necesita identificar a partir del archivo los registros realizados con un precio superior a 500 000 en el año 1995. Con Amazon Glacier Select, puede extraer el subconjunto de datos del archivo mediante una consulta SQL. Esto no solo reduce el tiempo total necesario para la consulta, sino que también simplifica el acceso a los datos archivados. Es importante entender la estructura del archivo CSV archivado y las operaciones de SQL y los tipos de datos que son compatibles con la función Amazon Glacier Select.

En este ejemplo, utilizará la siguiente expresión SQL para recuperar los datos. La segunda columna (s._2) es el atributo de precio de la tabla y el archivo CSV que se cargó como archivo. Utilice la función CAST para convertir esto en decimal porque Amazon Glacier, de forma predeterminada, asume estos atributos como una cadena. Si bien Amazon Glacier admite varias opciones de recuperación, utilizamos la opción Estándar para esta publicación. Amazon Glacier Select almacena la salida en un bucket de S3 especificado en la tarea de recuperación.

select s. _1, s. _2, s. _3 s. _4 s. _5 s. _12 s. _13 from archive s where CAST (s). _2 (LIKE DECIMAL) >= 500000 Puede utilizar una función Lambda para lograr este resultado.

1. Cree una función Lambda de la siguiente manera:

a. En la consola de AWS Lambda, seleccione Crear rol.

b. Elige la opción Autor desde cero

c. Escriba glacierselect como nombre de la función.

d. Elija Python 3.9 para el tiempo de ejecución.

e. En Permisos, haga clic en Cambiar rol de ejecución predeterminado

1. Elija utilizar un rol de ejecución de rdsarchive-lambda existente para esa función de Lambda.

f. Cree la función Lambda.

g. Una vez creada, edite la función Lambda.

h. Reemplaza todo el código del editor por el código Python del repositorio de GitHub y haz clic en Implementar.

i. Haga clic en la pestaña Configuración que aparece sobre el código de la función Lambda.

1. En la sección Configuración general, haga clic en Editar, aumente el tiempo de espera de Lambda a 5 minutos y haga clic en Guardar.

j. En la sección Variables de entorno, añada las siguientes variables. Es importante que proporciones los valores correctos, como el nombre del paquete, el prefijo del paso 4 y el identificador de archivo del paso 8.

  1. Invoque la función glacierselect de Lambda manualmente mediante una línea de comandos o pruébela mediante un evento de prueba ficticio de «Hola mundo», como se muestra a continuación.
  2. Pruebe la función glacierselect de Lambda mediante el evento de prueba que creó en el paso 2. Puede ver el resultado en la consola de Lambda, como se muestra a continuación. Como alternativa, también puede ver la información en los registros de Lambda.

10 Vea los resultados del archivado en el bucket de S3

Tras una invocación correcta, es posible que pasen algunas horas hasta que se obtenga el resultado en la carpeta S3 (output/skaxxxx/results), ya que utilizó la opción de recuperación predeterminada para Amazon Glacier. Si necesita ver los resultados más rápido, considere la opción Acelerado. En mi caso, los resultados tardaron 4 horas en estar disponibles.

Además, puede considerar la opción de recuperación masiva para descargar el gran volumen de datos de forma rentable. Puede descargar el archivo de resultados y analizarlo con el editor de texto. Como alternativa, puede volver a cargar los datos en una tabla de Amazon RDS mediante AWS DMS con S3 como fuente.

Los siguientes son ejemplos de datos con un valor de registro de propiedades superior a 500 000 recuperados de Amazon Glacier mediante Amazon Glacier Select:

11. Eliminar todos los recursos

  1. Elimine el conjunto de datos público del Reino Unido de su EC2/escritorio local porque contiene datos con restricciones de uso.
  2. Eliminar las carpetas creadas en el bucket de S3
  3. Eliminar las funciones de AWS Lambda creadas
  4. Elimine la pila de AWS CloudFormation que creó en el paso 3. Al realizar este paso, se eliminan todos los recursos utilizados en esta publicación.
  5. Elimine la bóveda de Amazon Glacier.

Otras sugerencias:

  1. Puede ampliar esta arquitectura para incluir Amazon DynamoDB y crear una solución de archivado completa. Puede almacenar el identificador de archivo de Amazon Glacier en DynamoDB con una descripción significativa (por ejemplo: Tabla: rdsarchive partition_key= archive_judicia_id (uk_registry_1996), Attribute1 (archiveid=xxxx), Attribute2 (date_created=xxxx), etc.) para indexar. A continuación, puede recuperarlo mediante programación según sea necesario.
  2. Si necesita consultar los datos archivados con más frecuencia, puede utilizar AWS DMS para archivarlos en S3 y realizar consultas a través de Amazon S3 Select o Amazon Athena.
  3. Puede automatizar el proceso de archivado programando las tareas de AWS DMS para que se ejecuten periódicamente.

Conclusión

La gestión de datos en constante crecimiento es un desafío importante para muchas empresas. En esta publicación se explica cómo puede utilizar AWS DMS, Amazon Glacier, AWS Lambda y Amazon S3 para gestionar los datos a los que se accede con poca frecuencia y que se almacenan en bases de datos relacionales. La función Amazon Glacier Select le ayuda a reducir los costos y mejorar el rendimiento al reducir el conjunto de datos específico que utiliza al consultar archivos de datos. Esta combinación de servicios le ayuda a gestionar el crecimiento de sus datos y, al mismo tiempo, a equilibrar el costo y el rendimiento.

 

Este artículo fue traducido del Blog da AWS en Inglés.

 


Acerca de los autores

Gowri Balasubramanian es arquitecto de soluciones sénior en Amazon Web Services.Trabaja con los clientes de AWS para proporcionarles orientación y asistencia técnica sobre los servicios de bases de datos relacionales y NoSQL, lo que les ayuda a mejorar el valor de sus soluciones cuando utilizan AWS.

 

 

 

 

Ganesh Shankaran es arquitecto de soluciones sénior en Amazon Web Services.Trabaja con los clientes de AWS para proporcionarles orientación y asistencia técnica que les ayuden a mejorar el valor de sus soluciones cuando utilizan AWS

 

 

 

 

Marcos Freccia es un arquitecto de bases de datos sénior en migraciones de bases de datos para el equipo de AWS ProServe. Ha apoyado y capacitado a los clientes en su proceso de migración y modernización de sus soluciones de bases de datos de los centros de datos locales a AWS.

 

 

 

 

Revisor

Bruno Lopes es un arquitecto de soluciones sénior en el equipo de AWS LATAM. Lleva más de 14 años trabajando con soluciones de TI, y en su cartera cuenta con numerosas experiencias en cargas de trabajo de Microsoft, entornos híbridos y formación técnica para clientes como Technical Trainer y Evangelista. Ahora actúa como arquitecto de soluciones, combinando todas las capacidades para reducir la burocracia en la adopción de las mejores tecnologías a fin de ayudar a los clientes a superar sus desafíos diarios.

 

 

 

 

JuanMa Silva quien es arquitecto de soluciones con especialidad en Microsoft para México y MCO. Cuenta con 15 años de experiencia en la industria de IT, en posiciones de Sysadmin, consultor para ayudar a migrar clientes a la nube y modernización de aplicaciones, soporte aplicaciones de misión critica basados en tecnologia Microsoft.