Logotipo de Zephyrnet

Cómo Ontraport redujo el costo de procesamiento de datos en un 80 % con AWS Glue | Servicios web de Amazon

Fecha:

Esta publicación está escrita en colaboración con Elijah Ball de Ontraport.

Los clientes están implementando cargas de trabajo de análisis y datos en la nube de AWS para optimizar los costos. Al implementar cargas de trabajo de procesamiento de datos en AWS, tiene la opción de utilizar tecnologías como EMR de Amazon o tecnologías sin servidor como Pegamento AWS. Ambas opciones minimizan las actividades de trabajo pesado no diferenciadas, como la administración de servidores, la realización de actualizaciones y la implementación de parches de seguridad, y le permiten concentrarse en lo que es importante: cumplir los objetivos comerciales centrales. La diferencia entre ambos enfoques puede desempeñar un papel fundamental para permitir que su organización sea más productiva e innovadora, al mismo tiempo que ahorra dinero y recursos.

Los servicios como Amazon EMR se enfocan en ofrecerle flexibilidad para admitir cargas de trabajo de procesamiento de datos a escala utilizando marcos a los que está acostumbrado. Por ejemplo, con Amazon EMR, puede elegir entre varios marcos de trabajo de procesamiento de datos de código abierto, como Apache Spark, Colmena Apachey prestoy afinar las cargas de trabajo personalizando elementos como los tipos de instancias de clúster en Nube informática elástica de Amazon (Amazon EC2) o utilizar entornos en contenedores que se ejecutan en Servicio Amazon Elastic Kubernetes (Amazon EKS). Esta opción es más adecuada cuando se migran cargas de trabajo desde entornos de big data como Apache Hadoop o Spark, o cuando la usan equipos que están familiarizados con el código abierto. marcos admitidos en Amazon EMR.

Servicios sin servidor como Pegamento AWS minimice la necesidad de pensar en servidores y concéntrese en ofrecer productividad adicional y herramientas de DataOps para acelerar el desarrollo de canalizaciones de datos. AWS Glue es un servicio de integración de datos sin servidor que ayuda a los usuarios de análisis a descubrir, preparar, mover e integrar datos de múltiples fuentes a través de un enfoque de código bajo o sin código. Esta opción es más adecuada cuando las organizaciones tienen recursos limitados y necesitan crear cargas de trabajo de procesamiento de datos a escala con experiencia limitada, lo que les permite acelerar el desarrollo y reducir el costo total de propiedad (TCO).

En esta publicación, mostramos cómo nuestro cliente de AWS, Ontraport, evaluó el uso de AWS Glue y Amazon EMR para reducir el TCO, y cómo redujeron su costo de almacenamiento en un 92 % y su costo de procesamiento en un 80 % con solo un desarrollador de tiempo completo.

Carga de trabajo y solución de Ontraport

Ontraport es un servicio de CRM y automatización que impulsa el marketing, las ventas y las operaciones de las empresas en un solo lugar, lo que permite a las empresas crecer más rápido y ofrecer más valor a sus clientes.

El procesamiento y análisis de registros es fundamental para Ontraport. Les permite brindar mejores servicios e información a los clientes, como la optimización de campañas de correo electrónico. Por ejemplo, solo los registros de correo electrónico registran de 3 a 4 eventos por cada uno de los 15 a 20 millones de mensajes que Ontraport envía en nombre de sus clientes cada día. El análisis de las transacciones de correo electrónico con proveedores como Google y Microsoft permite que el equipo de entrega de Ontraport optimice las tasas de apertura para las campañas de clientes con grandes listas de contactos.

Algunos de los grandes contribuyentes de registro son los eventos del servidor web y CDN, los registros de transacciones de correo electrónico y los registros de eventos personalizados dentro de las aplicaciones propietarias de Ontraport. El siguiente es un desglose de muestra de sus contribuciones de registro diario:

Registros de solicitudes de Cloudflare 75 millones de registros
Registros de solicitudes de CloudFront 2 millones de registros
Registros de Nginx/Apache 20 millones de registros
Registros de correo electrónico 50 millones de registros
Registros generales del servidor 50 millones de registros
Registros de la aplicación Ontraport 6 millones de registros

Usos de la solución de Ontraport Kinesis amazónica y Manguera de bomberos de datos de Amazon Kinesis para ingerir datos de registro y escribir registros recientes en un Servicio Amazon OpenSearch base de datos, desde donde los analistas y administradores pueden analizar los últimos 3 meses de datos. Los registros personalizados de la aplicación registran las interacciones con Ontraport CRM para que el equipo de atención al cliente pueda auditar o recuperar las cuentas de los clientes. Originalmente, todos los registros se conservaron hasta 2018. La retención tiene varios niveles según la antigüedad:

El siguiente diagrama muestra la arquitectura de su procesamiento de registros y canalización de datos analíticos.

Evaluación de la solución óptima

Con el fin de optimizar el almacenamiento y el análisis de sus registros históricos en Amazon S3, Ontraport implementó un proceso ETL para transformar y comprimir archivos TSV y JSON en archivos Parquet con partición por hora. La compresión y la transformación ayudaron a Ontraport a reducir sus costos de almacenamiento S3 en un 92 %.

En la fase 1, Ontraport implementó una carga de trabajo ETL con Amazon EMR. Dada la escala de sus datos (cientos de miles de millones de filas) y solo un desarrollador, el primer intento de Ontraport en la aplicación Apache Spark requería un clúster EMR de 16 nodos con nodos centrales y de tareas r5.12xlarge. La configuración permitió al desarrollador procesar 1 año de datos y minimizar los problemas de falta de memoria con una versión aproximada de la aplicación Spark ETL.

Para ayudar a optimizar la carga de trabajo, Ontraport contactó a AWS para obtener recomendaciones de optimización. Había una cantidad considerable de opciones para optimizar la carga de trabajo dentro de Amazon EMR, como el tamaño adecuado Nube informática elástica de Amazon (Amazon EC2) tipo de instancia basado en el perfil de carga de trabajo, modificando la configuración de memoria de Spark YARN y reescribiendo partes del código de Spark. Teniendo en cuenta las limitaciones de recursos (solo un desarrollador a tiempo completo), el equipo de AWS recomendó explorar una lógica similar con AWS Glue Studio.

Algunos de los beneficios iniciales del uso de AWS Glue para esta carga de trabajo incluyen los siguientes:

  • AWS Glue tiene el concepto de rastreadores que proporciona un enfoque sin código para catalogar fuentes de datos e identificar esquemas de múltiples fuentes de datos, en este caso, Amazon S3.
  • AWS Glue proporciona capacidades de procesamiento de datos integradas con métodos abstractos además de Spark que reducen la sobrecarga necesaria para desarrollar un código de procesamiento de datos eficiente. Por ejemplo, AWS Glue admite un Marco dinámico clase correspondiente a un Marco de datos de Spark que proporciona flexibilidad adicional cuando se trabaja con conjuntos de datos semiestructurados y se puede transformar rápidamente en un Spark DataFrame. DynamicFrames se puede generar directamente desde tablas rastreadas o directamente desde archivos en Amazon S3. Consulte el siguiente código de ejemplo:
    dyf = glueContext.create_dynamic_frame.from_options( connection_type = 's3',
    connection_options = {'paths': [s3://<bucket/paths>]},
    format = 'json')

  • Minimiza la necesidad de Ontraport para tipos de instancias del tamaño adecuado y configuraciones de escalado automático.
  • El uso de sesiones interactivas de AWS Glue Studio permite a Ontraport iterar rápidamente cuando el código cambia cuando es necesario al detectar la evolución del esquema de registro histórico.

Ontraport tuvo que procesar 100 terabytes de datos de registro. El costo de procesar cada terabyte con la configuración inicial fue de aproximadamente $500. Ese costo se redujo a aproximadamente $100 por terabyte después de usar AWS Glue. Al usar AWS Glue y AWS Glue Studio, el costo de procesamiento de los trabajos de Ontraport se redujo en un 80 %.

Profundizando en la carga de trabajo de AWS Glue

La primera aplicación AWS Glue de Ontraport fue una carga de trabajo de PySpark que ingirió datos de archivos TSV y JSON en Amazon S3, realizó transformaciones básicas en campos de marca de tiempo y convirtió los tipos de datos de un par de campos. Finalmente, escribe los datos de salida en un depósito S3 seleccionado como archivos Parquet comprimidos de aproximadamente 1 GB de tamaño y particionados en intervalos de 1 hora para optimizar las consultas con Athena.

Con un trabajo de AWS Glue configurado con 10 trabajadores del tipo de configuración G.2x, Ontraport pudo procesar aproximadamente 500 millones de registros en menos de 60 minutos. Al procesar 10 100 millones de registros, pudieron aumentar la configuración del trabajo a un máximo de 1 trabajadores con el escalado automático habilitado para completar el trabajo en XNUMX hora.

¿Qué es lo siguiente?

Ontraport ha podido procesar registros desde 2018. El equipo está actualizando el código de procesamiento para permitir escenarios de evolución del esquema (como nuevos campos) y parametrizó algunos componentes para automatizar completamente el procesamiento por lotes. También buscan ajustar la cantidad de trabajadores de AWS Glue aprovisionados para obtener una relación precio-rendimiento óptima.

Conclusión

En esta publicación, le mostramos cómo Ontraport usó AWS Glue para ayudar a reducir los gastos generales de desarrollo y simplificar los esfuerzos de desarrollo para sus cargas de trabajo de ETL con un solo desarrollador de tiempo completo. Si bien los servicios como Amazon EMR ofrecen una gran flexibilidad y optimización, la facilidad de uso y la simplificación de AWS Glue a menudo ofrecen un camino más rápido para la optimización de costos y la innovación para las pequeñas y medianas empresas. Para obtener más información sobre AWS Glue, consulte Primeros pasos con AWS Glue.


Acerca de los autores

Elías bola Ha sido administrador de sistemas en Ontraport durante 12 años. Actualmente está trabajando para trasladar las cargas de trabajo de producción de Ontraport a AWS y desarrollar estrategias de análisis de datos para Ontraport.

pablo redondo es Arquitecto Principal de Soluciones en Amazon Web Services. Es un entusiasta de los datos con más de 16 años de experiencia en el sector de la tecnología financiera y la atención médica y es miembro de la comunidad de campo técnico (TFC) de AWS Analytics. Pablo ha estado liderando el programa AWS Gain Insights para ayudar a los clientes de AWS a obtener mejores conocimientos y valor comercial tangible a partir de sus iniciativas de análisis de datos.

Vikram Honmurgi es gerente de soluciones para clientes en Amazon Web Services. Con más de 15 años de experiencia en la entrega de software, a Vikram le apasiona ayudar a los clientes y acelerar su viaje a la nube, ofrecer migraciones sin fricciones y garantizar que nuestros clientes capturen todo el potencial y las ventajas comerciales sostenibles de migrar a la nube de AWS.

punto_img

Información más reciente

punto_img