paint-brush
Cinco formas de reducir los costos de infraestructura en sistemas de alta carga: estudio de caso de AdTechpor@xenoss
261 lecturas

Cinco formas de reducir los costos de infraestructura en sistemas de alta carga: estudio de caso de AdTech

por Xenoss11m2023/12/28
Read on Terminal Reader

Demasiado Largo; Para Leer

Cinco formas de reducir los costos de infraestructura en sistemas de alta carga: estudio de caso de AdTech
featured image - Cinco formas de reducir los costos de infraestructura en sistemas de alta carga: estudio de caso de AdTech
Xenoss HackerNoon profile picture
0-item

A medida que se asienta el polvo de la ola de exageraciones sobre la nube, más equipos tecnológicos descubren los efectos secundarios de las infraestructuras de la nube, que normalmente se mantienen fuera del radar.


Por muy prometedores que parezcan la escalabilidad bajo demanda, menos tiempo para administrar servicios locales y otros beneficios, a menudo se ven contrarrestados por un inconveniente importante: aumentos en los costos de infraestructura en sistemas de alta carga.


Cuando se habla de costes de infraestructura, la atención se centra en los sistemas de alta carga: difícilmente existe una alternativa más flexible y económica a la nube para las empresas más pequeñas.


Sin embargo, a medida que QPS llega a cientos de miles, las tarifas de los proveedores que parecen pequeñas ya no son sostenibles.


Como empresa de desarrollo de software que se especializa en crear y optimizar sistemas de alta carga para AdTech, hemos explorado múltiples prácticas que utilizan los equipos para evitar que aumenten los costos de infraestructura. Con más de 15 años de experiencia, Xenoss ayudó a respaldar proyectos como Activision Blizzard, Verve Group, Smartly, Voodoo, Inmar Intelligence y otros para construir infraestructuras sólidas pero ágiles.


En esta publicación, nos gustaría compartir nuestra experiencia y conocimientos sobre los desafíos de infraestructura relevantes para las plataformas de alta carga y explorar formas de optimizar los costos. Para ilustrar las tácticas que se muestran en la publicación, utilizaremos una industria donde la velocidad y la escala no son negociables: AdTech.


También tenemos una publicación de blog que cubre la optimización de costos de infraestructura con más detalle, con consejos de expertos y comentarios de nuestros arquitectos de software y un estudio de caso de una reducción de costos de infraestructura veinte veces mayor.


Plataformas AdTech: un ejemplo de los sistemas de alta carga

Las plataformas de alta carga habilitan múltiples sectores como la banca, la atención médica y más. La publicidad programática, aunque a menudo no se considera una hazaña técnica a desarrollar, puede rivalizar con otros sistemas complejos, ya que sus requisitos operativos a menudo superan los límites del diseño de infraestructura.


Recapitulemos rápidamente por qué las plataformas AdTech (SSP, DSP, etc.) son una lente excelente para explorar la optimización de los costos de infraestructura .


Presión para alto volumen y baja latencia

Las plataformas AdTech están atrapadas en un tira y afloja constante entre la necesidad de un alto volumen de tráfico y una baja latencia.


Por un lado, necesitan gestionar la gran cantidad de tráfico generado por la publicidad online (que, según Wayne Bloodwell , director ejecutivo de TPA Digital, asciende a 950 mil millones de impresiones por día).


Además de la carga, la naturaleza en tiempo real del ecosistema añade una nueva capa de complejidad.


La alta latencia en las plataformas AdTech, es decir, un retraso entre una solicitud de oferta y una respuesta, lleva a los anunciantes a perder inventario de alta calidad, ya que sus ofertas no se procesan a tiempo.


La alta latencia crea dificultades para llenar los espacios publicitarios para los editores, lo que genera menores ingresos a largo plazo.


Un período de tiempo estándar para el procesamiento de ofertas oscila entre 80 y 120 ms, es el período de tiempo promedio dentro del cual opera la industria.


Toma de decisiones en tiempo real

El procesamiento de datos en tiempo real es otro desafío recurrente para los proyectos AdTech debido a los siguientes desafíos:


Necesidad de recuperar datos rápidamente (menos de 100 ms) para tomar decisiones en tiempo real, como el modelado de precios de oferta.

La recopilación de datos de audiencia de múltiples fuentes aumenta la complejidad de los canales y amplía el conjunto de herramientas necesarias para procesar varios tipos de datos.

Preocupaciones por la calidad de los datos: los datos incorrectos pueden hacer que los anunciantes tomen malas decisiones de oferta. Los controles de calidad de los datos para cada etapa del proceso (ingesta, procesamiento, consumo) son esenciales.


El siguiente clip ilustra la complejidad y las operaciones críticas del análisis de datos en tiempo real.

https://www.youtube.com/watch?v=uaRzovqK3t0


Demandas de escalabilidad

La industria AdTech es cíclica, con períodos de altibajos económicos que provocan fluctuaciones en la demanda de servicios publicitarios. Las subidas del mercado presionan a las plataformas AdTech para que implementen capacidades de escalabilidad dinámica.


Junto con el aumento de SPO, los proveedores de AdTech sienten la presión de ajustar de manera confiable su capacidad hacia arriba o hacia abajo en respuesta a los cambios en la demanda. Por lo tanto, necesitan la capacidad y los recursos para manejar los picos de tráfico sin sacrificar el rendimiento o la confiabilidad (y reducirlo para ajustarlo a las fluctuaciones del mercado).


Recopilación de datos brutos y agregados

El uso de datos sin procesar es fundamental para el éxito de las plataformas AdTech. Estos sistemas recopilan una gran cantidad de datos agregados: información demográfica, historial de navegación, comportamiento del usuario, etc. Estos conocimientos se integran de varias fuentes y ayudan a impulsar la orientación y la personalización.


Antes de que los datos sin procesar estén listos para su uso, deben pasar por los pasos de ETL: extracción, transformación y carga. Sin embargo, mantener múltiples tuberías se convierte en un desafío de ingeniería a medida que los sistemas escalan y los volúmenes de datos aumentan exponencialmente.


Mejores prácticas que utiliza Xenoss para optimizar los costos de infraestructura en sistemas de alta carga

A menos que los equipos de tecnología presten mucha atención a los costos de infraestructura, rápidamente se salen de control. El modelado y el almacenamiento de datos ineficientes, la falta de selectividad a la hora de confiar en los servicios y la incapacidad de planificar y contrarrestar las amenazas futuras hacen que las infraestructuras sean impredecibles, lentas, costosas y difíciles de mantener.


Reducir los costos de infraestructura no es tarea fácil, pero armado con el conocimiento del ecosistema y su plataforma, puede lograr reducciones significativas con algunos ajustes.


Aquí hay una lista de varias prácticas de reducción de infraestructura que utilizan los equipos tecnológicos de Xenoss para ayudar a nuestros clientes a lograr infraestructuras más eficientes.


Explorando los beneficios de la infraestructura de nube híbrida

En proyectos en etapa inicial, no se piensa mucho en diseñar una infraestructura de nube óptima. Los equipos de tecnología suelen elegir una de dos formas;


  • Proveedores de servicios de nube pública , como AWS, Google Cloud o Microsoft Azure. Si bien es comprensible confiar en un proveedor de nube al principio del proceso de desarrollo, nos gustaría advertir a los líderes tecnológicos que no utilicen servicios administrados si no son estrictamente necesarios. Con el tiempo, estas herramientas pueden aumentar significativamente las facturas de infraestructura del proyecto: uno de nuestros clientes nos contactó cuando las facturas de infraestructura ascendían a $2,5 millones.
  • Infraestructura local mantenida por el equipo interno . Hoy en día, mantener centros de datos locales no es tan común para proyectos en etapa inicial debido a la inversión inicial y la mano de obra que requiere. Vale la pena señalar que las infraestructuras locales tienen sus ventajas, como un mayor control y una seguridad más estricta.


En AdTech, la flexibilidad y la capacidad de escalar dinámicamente son vitales. El control total sobre los costos de infraestructura y la capacidad de reforzar la seguridad son igualmente importantes. El primero generalmente se asocia con la nube, mientras que el segundo se cita comúnmente como un beneficio para el entorno local.


En Xenoss, reconocemos los beneficios de ambas infraestructuras, por eso las utilizamos en los proyectos de los clientes. La combinación de nube y local a menudo se denomina “nube híbrida”, aunque hay más combinaciones que encajan en el término. La combinación de una nube pública y una privada o dos nubes públicas (también conocidas como nubes múltiples) también encaja en el concepto.


Según el informe Data Pipelines publicado por DZone , el 33% de las organizaciones encuestadas utilizan una combinación de infraestructura local y en la nube. La cifra aumenta hasta el 42% si tenemos en cuenta únicamente las organizaciones empresariales (más de 1.000 empleados).


El modelo híbrido ofrece a los equipos de AdTech una mayor flexibilidad financiera, lo que permite a las plataformas de AdTech fusionar el control de las configuraciones locales con la escalabilidad dinámica de las plataformas en la nube.


La seguridad es otra ventaja importante; Los proyectos pueden mantener estrictos estándares de protección de datos manteniendo los datos confidenciales en las instalaciones y utilizando la nube para tareas menos críticas.


Otra razón por la que preferimos y defendemos un enfoque híbrido es su capacidad para evitar la dependencia de un proveedor. Mantener las infraestructuras críticas en las instalaciones brinda a las empresas la libertad de diversificar su pila tecnológica sin depender de un solo proveedor de nube.


Además, un enfoque híbrido permite a los equipos de productos ser más intencionales a la hora de crear infraestructuras específicas para cargas de trabajo.


Algunas tareas en AdTech, como las ofertas de anuncios en tiempo real o las operaciones de datos sujetas a un estricto cumplimiento regional, son más adecuadas para la ejecución local.


Al mismo tiempo, otros flujos de trabajo (análisis de campañas, alojamiento de contenido publicitario distribuido o diseño publicitario colaborativo) pueden migrar sin problemas a la nube.


Optimización del almacenamiento de datos

Según nuestra experiencia, la optimización del almacenamiento por sí sola puede reducir significativamente los costos de infraestructura. En AdTech, se utilizan bases de datos SQL y NoSQL para gestionar datos estructurados y no estructurados. Recapitulemos las diferencias clave entre los dos tipos de bases de datos, así como sus casos de uso en AdTech.


Para agregar más contexto a la discusión, recapitulemos las diferencias entre los dos.

Beneficios de la base de datos relacional

Beneficios de la base de datos NoSQL

Alta fiabilidad

Alto rendimiento

Alta consistencia de datos

Alta escalabilidad

Esquema estandarizado

Almacenamiento optimizado para grandes volúmenes de datos

Cumplimiento ACID

Alta agilidad y personalización


Ahora, veamos la base de datos elegida por las principales plataformas AdTech y sus enfoques para el almacenamiento de datos.


Cómo los proveedores de AdTech utilizan bases de datos SQL para operar grandes volúmenes de datos

Pubmático

Pubmatic SSP ayuda a los editores a captar audiencias amplias y maximizar los ingresos publicitarios con asociaciones de demanda únicas, análisis avanzados y herramientas de optimización creativa.


Desafío: la empresa necesitaba una base de datos sólida para manejar grandes conjuntos de datos y resolver problemas complejos. La empresa quería una herramienta probada en batalla que fuera, sobre todo, confiable y efectiva.


Solución: MySQL


Impacto: el equipo de calidad de anuncios de PubMatic utiliza MySQL como su principal fuente de datos. La base de datos de la plataforma almacena hasta cien millones de registros. Conocido por su confiabilidad y solidez, MySQL permite a PubMatic procesar millones de creatividades por día y mantener cargas de datos de 2 a 10 veces.


AnuncioGreetz

AdGreetz es una plataforma de personalización que distribuye creatividades publicitarias personalizadas en múltiples canales: redes sociales, CTV/OTT, aplicaciones integradas y más.


Desafío: los flujos de trabajo de la organización requieren un uso intensivo de datos y requieren soluciones de administración de bases de datos que admitan millones de registros de usuarios.


Base de datos elegida: ClickHouse


Impacto: Para el equipo de ingeniería de AdGreetz, Clickhouse resultó ser una solución rentable y de alto rendimiento. La empresa pudo reducir el tiempo de consulta de segundos a menos de segundos en computación pequeña.


Cómo los proyectos de AdTech utilizan bases de datos NoSQL

Cera de abejas

Beeswax es una plataforma RTB administrada que permite a los anunciantes optimizar las operaciones programáticas. La empresa ofrece una solución Bidder-as-a-Service que procesa millones de consultas por segundo y consume 125 GB de datos por minuto.


Desafío: escalamiento rápido que garantizaría la entrega eficiente de anuncios, necesidad de una distribución equitativa de la carga en toda la máquina de la organización.


Base de datos NoSQL elegida: Aerospike ejecutándose en Amazon EC2.


Impacto: Beeswax puede procesar millones de consultas por segundo con una latencia de lectura de cola de 2 milisegundos.


Goma de chicle

GumGum ofrece una plataforma para la orientación contextual habilitada por una plataforma patentada de aprendizaje automático, Verity.


Desafío: La empresa quería procesar grandes volúmenes de datos relacionados con la publicidad (impresiones, vistas, clics, conversión) con una latencia mínima; aunque los datos no se procesaban en tiempo real, el objetivo era mantener la brecha al mínimo.


Base de datos NoSQL elegida: ScyllaDB


Impacto:

  • Reducción de la presión sobre los recursos de ingeniería.
  • 75% de aumento de volumen
  • Facilitando la escalabilidad gracias al aprovisionamiento de recursos bajo demanda.


Moloco

Moloco es una plataforma de audiencia móvil que ayuda a los anunciantes a adquirir, atraer y vender audiencias móviles. La plataforma depende en gran medida de modelos de aprendizaje automático para la optimización de campañas y el análisis predictivo.


Desafío: la presión de procesar millones de solicitudes de oferta por segundo con un límite de latencia estricto (menos de 100 ms).


Base de datos NoSQL elegida: Google Cloud BigTable


Impacto:

  • Aumentó el número de solicitudes procesadas de 500.000 a 5 millones por segundo.
  • Baja latencia
  • La infraestructura administrada permitió a la empresa reasignar sus recursos de ingeniería de software para centrarse en otras tareas.


Nuestros años de experiencia en el desarrollo de plataformas AdTech nos han demostrado que no existe un enfoque único para elegir la base de datos adecuada para la infraestructura de almacenamiento de datos AdTech. Hay mucha variedad bajo el paraguas de las bases de datos: se necesita experiencia, conocimiento del producto e investigación exhaustiva para encontrar la opción adecuada.


A veces, cambiar entre dos bases de datos NoSQL puede marcar una gran diferencia. GumGum, que se muestra arriba, confió en Cassandra antes de cambiar a ScyllaDB. Hemos visto reducciones significativas en los costos operativos en el caso de un cliente (DSP móvil) después de migrar de MongoDB a Aerospike.


Vova Kyrychenko, CTO de Xenoss, sobre el impacto de una migración intencional de una base de datos en un proyecto de alta carga


Otras formas de optimizar el almacenamiento de datos


La implementación de técnicas de compresión y deduplicación de datos es otra forma de reducir el espacio de almacenamiento requerido, lo que genera ahorros de costos.


La compresión implica una reducción del tamaño de los datos, lo que conduce a una transmisión más rápida y a una reducción de los costes de almacenamiento. Los equipos de datos pueden emplear técnicas como GZIP.


La deduplicación , como su nombre indica, elimina las copias redundantes de datos. Es fundamental en AdTech, donde son comunes perfiles de usuario repetidos o conjuntos de datos similares.


El almacenamiento en frío es una forma rentable de almacenar datos a los que rara vez se accede (métricas de campañas antiguas) sin repercusiones en el rendimiento.


Seleccionar servicios premium ofrecidos por un proveedor de infraestructura

Navegar por los servicios en la nube requiere decisiones inteligentes. Si no se presta atención, es fácil utilizar paquetes de servicios que añaden costos de infraestructura pero no aportan ningún valor a la plataforma.


En el siguiente clip, Vova Kyrychenko, CTO de Xenoss, explica cómo la “trampa del dinero gratis” puede generar altos costos de infraestructura a medida que las plataformas AdTech escalan.


https://www.youtube.com/watch?v=q_57WdKDJI0


Nuestra recomendación crucial para los proveedores de AdTech es analizar minuciosamente los precios de los servicios premium para detectar costos o ahorros ocultos”.


Además, dado que las nuevas herramientas pueden ralentizar la plataforma, es razonable probarlas a pequeña escala antes de llevar un nuevo servicio a producción.


Estar atento a los proyectos de terceros o de código abierto es otra alternativa a las costosas ofertas administradas. Las plataformas gratuitas o de bajo costo pueden ofrecer un mejor rendimiento que los principales proveedores de nube.


Al adoptar este enfoque en el proyecto de un cliente, los ingenieros de Xenoss ayudaron a reducir los costos de infraestructura 20 veces.


En la siguiente infografía, ilustramos la antigua infraestructura del cliente y la versión modernizada diseñada por nuestros arquitectos.


Un análisis enfocado de costo-beneficio de los servicios administrados ayudó a nuestro cliente a reducir veinte veces los costos operativos.


Equilibrar el tráfico y la carga

Como mencionamos hace un tiempo, las plataformas AdTech no funcionan bajo cargas estables: en un momento, una plataforma puede experimentar un pico repentino y, al siguiente, tiene más recursos informáticos de los que sabe qué hacer.


Dado que los ingenieros de Xenoss creen que el tráfico eficiente y el equilibrio de carga son imprescindibles para los sistemas AdTech, profundicemos en estos conceptos.

Revisión del equilibrio de carga en la nube de Google Cloud (fuente)


El equilibrio de carga significa distribuir uniformemente las solicitudes entrantes entre varios servidores, garantizando que ningún servidor se vea abrumado. Dentro de este marco, los arquitectos de Xenoss priorizan los procesos de misión crítica: tareas esenciales que, si se interrumpen, alterarán la funcionalidad principal del sistema (ofertas de anuncios en tiempo real o procesamiento de datos del usuario).


Al dar prioridad a estos procesos, salvaguardamos las operaciones vitales de posibles desaceleraciones o fallas.


Diseño de un mecanismo para la detección temprana de amenazas

Dice un famoso refrán: “El fracaso es parte de todo plan”, y advierte de manera concisa a los equipos de productos de AdTech que se vigilen ante amenazas y tiempos de inactividad.


Con ese fin, instamos a los proveedores y a los equipos técnicos internos a aprovechar las herramientas de monitoreo que vigilan el estado del sistema y garantizan operaciones ininterrumpidas. Si configura alertas para cualquier anomalía, los equipos pueden recibir alertas rápidamente, actuar con rapidez y garantizar que los contratiempos menores no se conviertan en crisis importantes.


Mejorar este enfoque con conocimientos basados en IA ofrece aún más granularidad. Los algoritmos de detección de anomalías, como Isolation Forest o One-Class SVM, son una buena opción para identificar patrones de datos inusuales, que pueden indicar amenazas o vulnerabilidades del sistema.


Uso de Isolation Forest para la detección de anomalías (Fuente: Towards Data Science)

Nuevamente sugerimos implementar redes neuronales recurrentes de memoria a corto plazo para analizar datos de series de tiempo.


Los modelos de lenguaje grandes también pueden contribuir a la detección de amenazas mediante el análisis de registros y mensajes del sistema para detectar anomalías, dando así sentido a datos textuales que de otro modo podrían pasarse por alto.


La línea de fondo

La optimización de los costos de infraestructura es un eje para las empresas de todos los sectores que buscan eficiencia y rentabilidad.


AdTech es un excelente campo de juego para explorar los desafíos y las soluciones alternativas de trabajar con grandes volúmenes de datos y cargas de tráfico, ya que la necesidad de abordar miles de consultas en un período de milisegundos lleva los límites del desarrollo de infraestructura al límite.


La buena noticia es que equipos de tecnología experimentados, a menudo mediante prueba y error, han desarrollado un manual para mantener bajos los costos de infraestructura, incluso para sistemas de alta carga. Equilibrar las soluciones locales y en la nube, aprovechar la IA para la detección de amenazas y perfeccionar continuamente las estrategias de almacenamiento de datos ayuda a los equipos de productos a garantizar operaciones sólidas sin comprometer el presupuesto.


Mantenerse ágil e informado en este ámbito es una medida de ahorro de costes y una ventaja competitiva en el dinámico panorama de la tecnología publicitaria.