Logotipo de Zephyrnet

Utilice Snowflake con Amazon MWAA para organizar canalizaciones de datos | Servicios web de Amazon

Fecha:

Esta publicación de blog está coescrita con James Sun de Snowflake.

Los clientes dependen de datos de diferentes fuentes, como aplicaciones móviles, eventos de secuencias de clics de sitios web, datos históricos y más para deducir patrones significativos para optimizar sus productos, servicios y procesos. Con una canalización de datos, que es un conjunto de tareas que se utilizan para automatizar el movimiento y la transformación de datos entre diferentes sistemas, puede reducir el tiempo y el esfuerzo necesarios para obtener información a partir de los datos. Flujo de aire Apache y Copo de nieve han surgido como tecnologías poderosas para la gestión y el análisis de datos.

Flujos de trabajo administrados por Amazon para Apache Airflow (Amazon MWAA) es un servicio de orquestación de flujo de trabajo administrado para Apache Airflow que puede utilizar para configurar y operar canalizaciones de datos de un extremo a otro en la nube a escala. Snowflake Data Cloud proporciona una única fuente de verdad para todas sus necesidades de datos y permite a sus organizaciones almacenar, analizar y compartir grandes cantidades de datos. La comunidad de código abierto de Apache Airflow proporciona más de 1,000 operadores prediseñados (complementos que simplifican las conexiones a los servicios) para que Apache Airflow cree canalizaciones de datos.

En esta publicación, proporcionamos una descripción general de cómo orquestar su canal de datos utilizando Operadores de copos de nieve en su entorno Amazon MWAA. Definimos los pasos necesarios para configurar la integración entre Amazon MWAA y Snowflake. La solución proporciona un flujo de trabajo automatizado de un extremo a otro que incluye la ingesta, transformación, análisis y consumo de datos.

Resumen de la solución

El siguiente diagrama ilustra la arquitectura de nuestra solución.

Descripción general de la solución

Los datos utilizados para la transformación y el análisis se basan en los disponibles públicamente. Conjunto de datos de bicicletas Citi de Nueva York. Los datos (archivos comprimidos), que incluyen datos demográficos de los ciclistas y datos del viaje, se copian del sitio público de Citi Bike. Servicio de almacenamiento simple de Amazon (Amazon S3) en su cuenta de AWS. Los datos se descomprimen y se almacenan en un depósito de S3 diferente (los datos transformados se pueden almacenar en el mismo depósito de S3 donde se ingirieron los datos, pero para simplificar, usamos dos depósitos de S3 separados). Luego, Snowflake puede acceder a los datos transformados para su análisis. La salida de los datos consultados se publica en Servicio de notificación simple de Amazon (Amazon SNS) para consumo.

Amazon MWAA utiliza un gráfico acíclico dirigido (DAG) para ejecutar los flujos de trabajo. En esta publicación, ejecutamos tres DAG:

El siguiente diagrama ilustra este flujo de trabajo.

Flujo de trabajo de ejecución DAG

Consulte las Repositorio GitHub para los DAG y otros archivos relacionados con la publicación.

Tenga en cuenta que en esta publicación, estamos usando un DAG para crear una conexión Snowflake, pero también puede crear la conexión Snowflake usando el UI o CLI de flujo de aire.

Requisitos previos

Para implementar la solución, debe tener conocimientos básicos de Snowflake y Amazon MWAA con los siguientes requisitos previos:

  • Una cuenta de AWS en un Región de AWS donde se admite Amazon MWAA.
  • Una cuenta de Snowflake con credenciales de administrador. Si no tienes una cuenta, regístrate para obtener una prueba gratuita de 30 días.. Seleccione la edición empresarial Snowflake para la plataforma AWS Cloud.
  • Acceso a Amazon MWAA, Secrets Manager y Amazon SNS.
  • En esta publicación, usamos dos depósitos de S3, llamados airflow-blog-bucket-ACCOUNT_ID y citibike-tripdata-destination-ACCOUNT_ID. Amazon S3 admite depósitos globales, lo que significa que cada nombre de depósito debe ser único en todas las cuentas de AWS en todas las regiones dentro de una partición. Si el nombre del depósito de S3 ya está en uso, elija un nombre de depósito de S3 diferente. Crea los cubos de S3 en su cuenta de AWS. Subimos contenido al depósito S3 más adelante en la publicación. Reemplazar ACCOUNT_ID con su propio ID de cuenta de AWS o cualquier otro identificador único. Los detalles del cubo son los siguientes:
    • flujo-de-blog-cubo-ACCOUNT_ID – El depósito de nivel superior para archivos relacionados con Amazon MWAA.
    • airflow-blog-bucket-ACCOUNT_ID/requisitos – El cubo utilizado para almacenar el requerimientos.txt archivo necesario para implementar Amazon MWAA.
    • flujo-de-blog-bucket-ACCOUNT_ID/dags – El bucked utilizado para almacenar los archivos DAG para ejecutar flujos de trabajo en Amazon MWAA.
    • airflow-blog-bucket-ACCOUNT_ID/dags/mwaa_snowflake_queries – El depósito utilizado para almacenar las consultas SQL de Snowflake.
    • datos-de-viaje-citibike-destino-ACCOUNT_ID – El depósito utilizado para almacenar el conjunto de datos transformado.

Al implementar la solución en esta publicación, reemplace las referencias a airflow-blog-bucket-ACCOUNT_ID y citibike-tripdata-destination-ACCOUNT_ID con los nombres de sus propios depósitos S3.

Configurar el entorno de Amazon MWAA

Primero tú crear un entorno Amazon MWAA. Antes de implementar el entorno, cargue el requisitos presentar a la airflow-blog-bucket-ACCOUNT_ID/requirements Cubo S3. El archivo de requisitos se basa en Amazon MWAA versión 2.6.3. Si está realizando pruebas en una versión diferente de Amazon MWAA, actualizar el archivo de requisitos en consecuencia.

Complete los siguientes pasos para configurar el entorno:

  1. En la consola de Amazon MWAA, elija Crear ambiente.
  2. Proporcione un nombre de su elección para el medio ambiente.
  3. Elija Airflow versión 2.6.3.
  4. Para el depósito S3, ingrese la ruta de su depósito (s3:// airflow-blog-bucket-ACCOUNT_ID).
  5. Para la carpeta DAG, ingrese la ruta de la carpeta DAG (s3:// airflow-blog-bucket-ACCOUNT_ID/dags).
  6. Para el archivo de requisitos, ingrese la ruta del archivo de requisitos (s3:// airflow-blog-bucket-ACCOUNT_ID/ requirements/requirements.txt).
  7. Elige Siguiente.
  8. under Networking, elija su VPC existente o elija Crear VPC MWAA.
  9. under Acceso al servidor web, escoger Red pública.
  10. under Grupos de seguridad, licencia Crear nuevo grupo de seguridad seleccionado.
  11. Para el Clase de entorno, Cifradoy Monitoreo secciones, deje todos los valores por defecto.
  12. En Opciones de configuración del flujo de aire sección, elija Agregar valor de configuración personalizado y configurar dos valores:
    1. Set Opción de configuración a secrets.backend y Valor personalizado a airflow.providers.amazon.aws.secrets.secrets_manager.SecretsManagerBackend.
    2. Set Opción de configuración a secrets.backend_kwargs y Valor personalizado a {"connections_prefix" : "airflow/connections", "variables_prefix" : "airflow/variables"}.                      Opciones de configuración para el administrador de secretos
  13. En Permisos sección, deje la configuración predeterminada y elija Crear un nuevo rol.
  14. Elige Siguiente.
  15. Cuando el entorno de Amazon MWAA esté disponible, asigne permisos del depósito S3 al Gestión de identidades y accesos de AWS (IAM) rol de ejecución (creado durante la instalación de Amazon MWAA).

Rol de ejecución de MWAA
Esto lo dirigirá al rol de ejecución creado en la consola de IAM.

Para fines de prueba, puede elegir Agregar permisos y agregue el administrado AmazonS3FullAccess política al usuario en lugar de proporcionar acceso restringido. Para esta publicación, proporcionamos solo el acceso requerido a los depósitos de S3.

  1. En el menú desplegable, elija Crear política en línea.
  2. Seleccione Servicio, escoger S3.
  3. under Nivel de acceso, especifique lo siguiente:
    1. Expandir Nivel de lista y seleccionar ListBucket.
    2. Expandir Nivel de lectura y seleccionar GetObject.
    3. Expandir nivel de escritura y seleccionar PutObject.
  4. under Recursos, escoger Agregar ARN.
  5. En Texto , proporcione los siguientes ARN para el acceso al depósito de S3:
    1. arn:aws:s3:::airflow-blog-bucket-ACCOUNT_ID (use su propio balde).
    2. arn:aws:s3:::citibike-tripdata-destination-ACCOUNT_ID (use su propio balde).
    3. arn:aws:s3:::tripdata (Este es el depósito público de S3 donde se almacena el conjunto de datos de Citi Bike; use el ARN como se especifica aquí).
  6. under Recursos, escoger Agregar ARN.
  7. En Texto , proporcione los siguientes ARN para el acceso al depósito de S3:
    1. arn:aws:s3:::airflow-blog-bucket-ACCOUNT_ID/* (asegúrese de incluir el asterisco).
    2. arn:aws:s3:::citibike-tripdata-destination-ACCOUNT_ID /*.
    3. arn:aws:s3:::tripdata/* (Este es el depósito público de S3 donde se almacena el conjunto de datos de Citi Bike; use el ARN como se especifica aquí).
  8. Elige Siguiente.
  9. Nombre de directiva, introduzca S3ReadWrite.
  10. Elige Crear política.
  11. Y por último, proporcionar a Amazon MWAA permiso para acceder a las claves secretas de Secrets Manager.

Este paso proporciona la función de ejecución de Amazon MWAA para el acceso de lectura de su entorno Amazon MWAA a la clave secreta en Secrets Manager.

El rol de ejecución debe tener las políticas MWAA-Execution-Policy*, S3ReadWritey SecretsManagerReadWrite adjunto a.

Políticas de roles de ejecución de MWAA

Cuando el entorno de Amazon MWAA esté disponible, puede iniciar sesión en la interfaz de usuario de Airflow desde la consola de Amazon MWAA mediante el enlace para Abrir la interfaz de usuario de flujo de aire.

Acceso a la interfaz de usuario de flujo de aire

Configurar un tema de SNS y una suscripción

Luego, tú crear un tema de redes sociales y agrega un suscripción al tema. Complete los siguientes pasos:

  1. En la consola de Amazon SNS, elija Temas desde el panel de navegación.
  2. Elige Crear tema.
  3. Tipo de tema, escoger Estándar.
  4. Nombre, introduzca mwaa_snowflake.
  5. Deja el resto por defecto.
  6. Después de crear el tema, navegue hasta la Suscripciones pestaña y elegir Crear suscripción.
    tema de redes sociales
  7. ARN del tema, escoger mwaa_snowflake.
  8. Establezca el protocolo en Correo electrónico.
  9. Punto final, ingresa tu ID de correo electrónico (recibirás una notificación en tu correo electrónico para aceptar la suscripción).

De forma predeterminada, solo el propietario del tema puede publicar y suscribirse al tema, por lo que debe modificar la política de acceso al rol de ejecución de Amazon MWAA para permitir el acceso a Amazon SNS.

  1. En la consola de IAM, navegue hasta el rol de ejecución que creó anteriormente.
  2. En el menú desplegable, elija Crear política en línea.
    Política SNS del rol de ejecución de MWAA
  3. Seleccionar servicio, escoger SNS.
  4. under Acciones, expandir Nivel de acceso de escritura y seleccionar Publicar.
  5. under Recursos, escoger Agregar ARN.
  6. En Texto pestaña, especifique el ARN arn:aws:sns:<<region>>:<<our_account_ID>>:mwaa_snowflake.
  7. Elige Siguiente.
  8. Nombre de directiva, introduzca SNSPublishOnly.
  9. Elige Crear política.

Configurar un secreto de Secrets Manager

A continuación, configuramos Secrets Manager, que es una base de datos alternativa compatible para almacenar información y credenciales de conexión de Snowflake.

Para crear la cadena de conexión, se requiere el host de Snowflake y el nombre de la cuenta. Inicie sesión en su cuenta de Snowflake y en el Hojas de trabajo menú, elija el signo más y seleccione hoja de trabajo SQL. Usando la hoja de trabajo, ejecute los siguientes comandos SQL para encontrar el host y el nombre de la cuenta.

Ejecute la siguiente consulta para el nombre de host:

WITH HOSTLIST AS (SELECT * FROM TABLE(FLATTEN(INPUT => PARSE_JSON(SYSTEM$allowlist()))))
SELECT REPLACE(VALUE:host,'"','') AS HOST
FROM HOSTLIST
WHERE VALUE:type = 'SNOWFLAKE_DEPLOYMENT_REGIONLESS';

Ejecute la siguiente consulta para el nombre de la cuenta:

WITH HOSTLIST AS (SELECT * FROM TABLE(FLATTEN(INPUT => PARSE_JSON(SYSTEM$allowlist()))))
SELECT REPLACE(VALUE:host,'.snowflakecomputing.com','') AS ACCOUNT
FROM HOSTLIST
WHERE VALUE:type = 'SNOWFLAKE_DEPLOYMENT';

A continuación, configuramos el secreto en Secrets Manager.

  1. En la consola de Secrets Manager, elija Almacenar un nuevo secreto.
  2. tipo secreto, escoger Otro tipo de secreto.
  3. under Pares clave/valor, elegir la Texto sin formato .
  4. En el campo de texto, ingrese el siguiente código y modifique la cadena para reflejar la información de su cuenta Snowflake:

{"host": "<<snowflake_host_name>>", "account":"<<snowflake_account_name>>","user":"<<snowflake_username>>","password":"<<snowflake_password>>","schema":"mwaa_schema","database":"mwaa_db","role":"accountadmin","warehouse":"dev_wh"}

Por ejemplo:

{"host": "xxxxxx.snowflakecomputing.com", "account":"xxxxxx" ,"user":"xxxxx","password":"*****","schema":"mwaa_schema","database":"mwaa_db", "role":"accountadmin","warehouse":"dev_wh"}

Los valores para el nombre de la base de datos, el nombre del esquema y la función deben ser los mencionados anteriormente. La cuenta, el host, el usuario, la contraseña y el almacén pueden diferir según su configuración.

Informacion secreta

Elige Siguiente.

  1. Nombre secreto, introduzca airflow/connections/snowflake_accountadmin.
  2. Deje todos los demás valores por defecto y elija Siguiente.
  3. Elige Tienda.

Tome nota de la Región en la que se creó el secreto bajo ARN secreto. Luego lo definimos como una variable en la interfaz de usuario de Airflow.

Configurar los permisos de acceso de Snowflake y la función de IAM

A continuación, inicie sesión en su cuenta Snowflake. Asegúrese de que la cuenta que está utilizando tenga acceso de administrador de cuenta. Crear una hoja de trabajo SQL. Debajo de la hoja de trabajo, cree un almacén llamado dev_wh.

El siguiente es un comando SQL de ejemplo:

CREATE OR REPLACE WAREHOUSE dev_wh WITH WAREHOUSE_SIZE = 'xsmall' AUTO_SUSPEND = 60 INITIALLY_SUSPENDED = true AUTO_RESUME = true MIN_CLUSTER_COUNT = 1 MAX_CLUSTER_COUNT = 5;

Para que Snowflake lea y escriba datos en un depósito de S3 al que se hace referencia en una etapa externa (depósito de S3), un integración de almacenamiento se requiere. Siga los pasos definidos en Opción 1: configurar una integración de almacenamiento de Snowflake para acceder a Amazon S3(realice únicamente los pasos 1 y 2, como se describe en esta sección).

Configurar permisos de acceso para el depósito S3

Al crear la política de IAM, un código de documento de política de muestra es necesario (consulte el siguiente código), que proporciona a Snowflake los permisos necesarios para cargar o descargar datos utilizando una única ruta de depósito y carpeta. El nombre del depósito utilizado en esta publicación es citibike-tripdata-destination-ACCOUNT_ID. Debe modificarlo para reflejar el nombre de su depósito.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:GetObjectVersion", "s3:DeleteObject", "s3:DeleteObjectVersion" ], "Resource": "arn:aws:s3::: citibike-tripdata-destination-ACCOUNT_ID/*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::citibike-tripdata-destination-ACCOUNT_ID" } ]
}

Crear el rol de IAM

A continuación, creas el Rol de IAM para otorgar privilegios en el depósito de S3 que contiene sus archivos de datos. Después de la creación, registre el ARN de rol valor ubicado en la página de resumen de roles.

Rol de IAM del copo de nieve

Configurar variables

Por último, configure las variables a las que accederán los DAG en Airflow. Inicie sesión en la interfaz de usuario de Airflow y en el Administración menú, seleccione Variables y el signo más.

Variables del flujo de aire

Agregue cuatro variables con los siguientes pares clave/valor:

  • Clave aws_role_arn con valor <<snowflake_aws_role_arn>> (el ARN para el rol mysnowflakerole mencionado anteriormente)
  • Clave destination_bucket con valor <<bucket_name>> (para esta publicación, el depósito utilizado en citibike-tripdata-destination-ACCOUNT_ID)
  • Clave target_sns_arn con valor <<sns_Arn>> (el tema de SNS en tu cuenta)
  • Clave sec_key_region con valor <<region_of_secret_deployment>> (la región donde se creó el secreto en Secrets Manager)

La siguiente captura de pantalla ilustra dónde encontrar el ARN del tema SNS.

ARN del tema SNS

La interfaz de usuario de Airflow ahora tendrá las variables definidas, a las que harán referencia los DAG.

Lista de variables de flujo de aire

Felicitaciones, ha completado todos los pasos de configuración.

Ejecute el DAG

Veamos cómo ejecutar los DAG. Recordar:

  • DAG1 (create_snowflake_connection_blog.py) – Crea la conexión Snowflake en Apache Airflow. Esta conexión se utilizará para autenticarse con Snowflake. La cadena de conexión de Snowflake se almacena en Secrets Manager, al que se hace referencia en el archivo DAG.
  • DAG2 (create-snowflake_initial-setup_blog.py) – Crea la base de datos, el esquema, la integración de almacenamiento y la etapa en Snowflake.
  • DAG3 (run_mwaa_datapipeline_blog.py) – Ejecuta la canalización de datos, que descomprimirá los archivos del depósito S3 público de origen y los copiará en el depósito S3 de destino. La siguiente tarea creará una tabla en Snowflake para almacenar los datos. Luego, los datos del depósito S3 de destino se copiarán en la tabla utilizando una etapa Snowflake. Una vez que los datos se hayan copiado correctamente, se creará una vista en Snowflake, sobre la cual se ejecutarán las consultas SQL.

Para ejecutar los DAG, complete los siguientes pasos:

  1. Cargar la DAG al depósito S3 airflow-blog-bucket-ACCOUNT_ID/dags.
  2. Cargar la Consulta SQL archivos al depósito S3 airflow-blog-bucket-ACCOUNT_ID/dags/mwaa_snowflake_queries.
  3. Inicie sesión en la interfaz de usuario de Apache Airflow.
  4. Localice DAG1 (create_snowflake_connection_blog), reanude la pausa y elija el ícono de reproducción para ejecutarlo.

Puede ver el estado de ejecución del DAG utilizando el Cuadrícula or Gráfico ver en la interfaz de usuario de Airflow.

carrera dag1

Después de ejecutar DAG1, la conexión Snowflake snowflake_conn_accountadmin se crea en el Administración, Conexiones .

  1. Localice y ejecute DAG2 (create-snowflake_initial-setup_blog).

carrera dag2

Después de ejecutar DAG2, se crean los siguientes objetos en Snowflake:

  • La base de datos mwaa_db
  • El esquema mwaa_schema
  • La integración del almacenamiento mwaa_citibike_storage_int
  • El escenario mwaa_citibike_stg

Antes de ejecutar el DAG final, es necesario actualizar la relación de confianza del usuario de IAM.

  1. Inicie sesión en su cuenta Snowflake con las credenciales de su cuenta de administrador.
  2. Abra su hoja de trabajo SQL creada anteriormente y ejecute el siguiente comando:
DESC INTEGRATION mwaa_citibike_storage_int;

mwaa_citibike_storage_int es el nombre de la integración creada por el DAG2 en el paso anterior.

En el resultado, registre el valor de propiedad de las dos propiedades siguientes:

  • ALMACENAMIENTO_AWS_IAM_USUARIO_ARN – El usuario de IAM creado para su cuenta de Snowflake.
  • ALMACENAMIENTO_AWS_EXTERNAL_ID – El ID externo que se necesita para establecer una relación de confianza.

Ahora otorgamos permisos de usuario de Snowflake IAM para acceder a los objetos del depósito.

  1. En la consola de IAM, elija Roles en el panel de navegación.
  2. Elige el rol mysnowflakerole.
  3. En Relaciones de confianza pestaña, elegir Editar relación de confianza.
  4. Modificar el documento de política con el DESC STORAGE INTEGRATION valores de salida que usted registró. Por ejemplo:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::5xxxxxxxx:user/mgm4-s- ssca0079" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "AWSPARTNER_SFCRole=4_vsarJrupIjjJh77J9Nxxxx/j98=" } } } ]
}

El papel de AWS ARN y ExternalId será diferente para su entorno según la salida del DESC STORAGE INTEGRATION pregunta

Relación de confianza

  1. Localice y ejecute el DAG final (run_mwaa_datapipeline_blog).

Al final de la ejecución de DAG, los datos están listos para consultar. En este ejemplo, la consulta (buscar las principales estaciones de inicio y destino) se ejecuta como parte del DAG y el resultado se puede ver desde Airflow. XCOM UI.

xcoms

En la ejecución de DAG, el resultado también se publica en Amazon SNS y, según la suscripción, se envía una notificación por correo electrónico con el resultado de la consulta.

Correo electrónico

Otro método para visualizar los resultados es directamente desde la consola de Snowflake utilizando la hoja de trabajo de Snowflake. La siguiente es una consulta de ejemplo:

SELECT START_STATION_NAME,
COUNT(START_STATION_NAME) C FROM MWAA_DB.MWAA_SCHEMA.CITIBIKE_VW GROUP BY START_STATION_NAME ORDER BY C DESC LIMIT 10;

Visual de copo de nieve

Hay diferentes formas de visualizar el resultado según su caso de uso.

Como observamos, DAG1 y DAG2 solo deben ejecutarse una vez para configurar la conexión de Amazon MWAA y los objetos Snowflake. DAG3 puede ser programada para ejecutarse cada semana o mes. Con esta solución, el usuario que examina los datos no tiene que iniciar sesión ni en Amazon MWAA ni en Snowflake. Puede activar un flujo de trabajo automatizado según un cronograma que incorporará los datos más recientes del conjunto de datos de Citi Bike y proporcionará las principales estaciones de inicio y destino para el conjunto de datos determinado.

Limpiar

Para evitar incurrir en cargos futuros, elimine los recursos de AWS (usuarios y roles de IAM, secretos de Secrets Manager, entorno de Amazon MWAA, temas y suscripción de SNS, depósitos de S3) y los recursos de Snowflake (base de datos, etapa, integración de almacenamiento, vista, tablas) creados como parte de esta publicación.

Conclusión

En esta publicación, demostramos cómo configurar una conexión Amazon MWAA para autenticarse en Snowflake y en AWS utilizando credenciales de usuario de AWS. Usamos un DAG para automatizar la creación de objetos Snowflake, como bases de datos, tablas y escenarios, mediante consultas SQL. También organizamos la canalización de datos utilizando Amazon MWAA, que ejecutó tareas relacionadas con la transformación de datos, así como consultas de Snowflake. Usamos Secrets Manager para almacenar la información y las credenciales de conexión de Snowflake y Amazon SNS para publicar la salida de datos para el consumo final.

Con esta solución, tiene una orquestación automatizada de extremo a extremo de su canal de datos que abarca la ingesta, la transformación, el análisis y el consumo de datos.

Para obtener más información, consulte los siguientes recursos:


Sobre los autores

payal singh es Partner Solutions Architect en Amazon Web Services, enfocado en la plataforma Serverless. Es responsable de ayudar a los socios y clientes a modernizar y migrar sus aplicaciones a AWS.

james sol es arquitecto de soluciones socio senior en Snowflake. Colabora activamente con socios estratégicos en la nube como AWS, respaldando integraciones de productos y servicios, así como el desarrollo de soluciones conjuntas. Ha ocupado puestos técnicos senior en empresas de tecnología como EMC, AWS y MapR Technologies. Con más de 20 años de experiencia en almacenamiento y análisis de datos, también tiene un doctorado de la Universidad de Stanford.

Bosco Alburquerque es Arquitecto sénior de soluciones de socios en AWS y tiene más de 20 años de experiencia trabajando con productos de análisis y bases de datos de proveedores de bases de datos empresariales y proveedores de la nube. Ha ayudado a empresas de tecnología a diseñar e implementar soluciones y productos de análisis de datos.

Manuj Arora es arquitecto senior de soluciones para cuentas estratégicas en AWS. Se centra en las capacidades y ofertas de migración y modernización en AWS. Manuj ha trabajado como arquitecto de soluciones de éxito de socios en AWS durante los últimos 3 años y trabajó con socios como Snowflake para crear proyectos de soluciones que los clientes aprovechen. Fuera del trabajo, le gusta viajar, jugar tenis y explorar nuevos lugares con familiares y amigos.

punto_img

Información más reciente

punto_img