paint-brush
Cinq façons de réduire les coûts d'infrastructure dans les systèmes à forte charge : étude de cas AdTechby@xenoss
183

Cinq façons de réduire les coûts d'infrastructure dans les systèmes à forte charge : étude de cas AdTech

Xenoss11m2023/12/28
Read on Terminal Reader

5 façons de réduire les coûts d'infrastructure dans les systèmes à forte charge : étude de cas AdTech
featured image - Cinq façons de réduire les coûts d'infrastructure dans les systèmes à forte charge : étude de cas AdTech
Xenoss HackerNoon profile picture
0-item

Alors que la poussière de la vague de battage médiatique sur le cloud retombe, de plus en plus d’équipes techniques découvrent les effets secondaires des infrastructures cloud, généralement gardées sous le radar.


Aussi prometteurs que l’évolutivité à la demande, la réduction du temps de gestion des services sur site et d’autres avantages intéressants, ils sont souvent contrebalancés par un inconvénient important : des hausses des coûts d’infrastructure dans les systèmes à forte charge.


Lorsqu'on parle de coûts d'infrastructure, l'accent est mis sur les systèmes à forte charge : il n'existe guère d'alternative plus flexible et moins chère au cloud pour les petites entreprises.


Cependant, à mesure que le QPS atteint des centaines de milliers, les frais des fournisseurs qui semblent faibles ne sont plus viables.


En tant que société de développement de logiciels spécialisée dans la création et l'optimisation de systèmes à forte charge pour AdTech, nous avons exploré plusieurs pratiques utilisées par les équipes pour éviter une augmentation des coûts d'infrastructure. Avec plus de 15 ans d'expérience, Xenoss a aidé à soutenir des projets tels qu'Activision Blizzard, Verve Group, Smartly, Voodoo, Inmar Intelligence et d'autres pour construire des infrastructures robustes mais agiles.


Dans cet article, nous aimerions partager notre expérience et notre savoir-faire sur les défis d'infrastructure liés aux plates-formes à forte charge et explorer les moyens de rationaliser les coûts. Pour illustrer les tactiques présentées dans l'article, nous utiliserons un secteur où la vitesse et l'échelle ne sont pas négociables : l'AdTech.


Nous avons également un article de blog qui couvre plus en détail l'optimisation des coûts d'infrastructure, avec des conseils d'experts et des commentaires de nos architectes logiciels ainsi qu'une étude de cas d'une réduction par vingt des coûts d'infrastructure.


Plateformes AdTech : une vitrine pour les systèmes à forte charge

Les plates-formes à charge élevée permettent plusieurs secteurs tels que la banque, la santé, etc. La publicité programmatique, même si elle n’est souvent pas considérée comme une prouesse technique à développer, peut rivaliser avec d’autres systèmes complexes, car ses exigences opérationnelles repoussent souvent les limites de la conception des infrastructures.


Récapitulons rapidement pourquoi les plateformes AdTech (SSP, DSP, etc.) constituent un excellent outil pour explorer l'optimisation des coûts d'infrastructure .


Pression pour un volume élevé et une faible latence

Les plateformes AdTech sont prises dans un bras de fer constant entre le besoin d’un volume de trafic élevé et une faible latence.


D'une part, ils doivent gérer l'énorme quantité de trafic généré par la publicité en ligne (qui, selon Wayne Bloodwell , PDG de TPA Digital, s'élève à 950 milliards d'impressions par jour).


Outre la charge, la nature en temps réel de l’écosystème ajoute une nouvelle couche de complexité.


La latence élevée des plateformes AdTech, c'est-à-dire le délai entre une demande d'enchère et une réponse, conduit les annonceurs à passer à côté d'un inventaire de haute qualité, car leurs offres ne sont pas traitées à temps.


Une latence élevée crée une difficulté à remplir les espaces publicitaires pour les éditeurs, ce qui entraîne une baisse des revenus à long terme.


Un délai standard pour le traitement des offres oscille entre 80 et 120 ms, c'est le délai moyen dans lequel l'industrie opère.


Prise de décision en temps réel

Le traitement des données en temps réel est un autre défi récurrent pour les projets AdTech en raison des défis suivants :


Nécessité de récupérer des données rapidement (moins de 100 ms) pour prendre des décisions en temps réel, telles que la modélisation des prix des offres.

La collecte de données d'audience à partir de plusieurs sources augmente la complexité des pipelines et élargit l'ensemble d'outils nécessaires au traitement de différents types de données.

Problèmes de qualité des données : des données erronées peuvent amener les annonceurs à prendre de mauvaises décisions en matière d'enchères. Les contrôles de qualité des données à chaque étape du pipeline (ingestion, traitement, consommation) sont essentiels.


Le clip ci-dessous illustre la complexité et les opérations critiques de l'analyse de données en temps réel

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


Exigences d’évolutivité

Le secteur AdTech est cyclique, avec des périodes de hauts et de bas économiques entraînant des fluctuations de la demande de services publicitaires. Les hausses du marché poussent les plateformes AdTech à mettre en œuvre des capacités d’évolutivité dynamique.


Parallèlement à l'augmentation des SPO, les fournisseurs d'AdTech ressentent la pression d'ajuster de manière fiable leur capacité à la hausse ou à la baisse en réponse à l'évolution de la demande. Ainsi, ils ont besoin de la capacité et des ressources nécessaires pour gérer le trafic de pointe sans sacrifier les performances ou la fiabilité (et le réduire pour s'adapter aux fluctuations du marché).


Collecte de données brutes et agrégées

L'utilisation de données brutes est essentielle au succès des plateformes AdTech. Ces systèmes collectent de nombreuses données agrégées : informations démographiques, historique de navigation, comportement des utilisateurs, etc. Ces informations sont intégrées à partir de diverses sources et contribuent à alimenter le ciblage et la personnalisation.


Avant que les données brutes soient prêtes à être utilisées, elles doivent subir les étapes ETL : extraction, transformation et chargement. Cependant, la maintenance de plusieurs pipelines devient un défi d'ingénierie à mesure que les systèmes évoluent et que les volumes de données augmentent de façon exponentielle.


Meilleures pratiques utilisées par Xenoss pour optimiser les coûts d'infrastructure dans les systèmes à forte charge

Si les équipes techniques ne prêtent pas une attention particulière aux coûts d’infrastructure, ils deviennent rapidement incontrôlables. Une modélisation et un stockage des données inefficaces, le manque de sélectivité dans le recours aux services et l'incapacité à planifier et à contrer les menaces à l'avance rendent les infrastructures imprévisibles, lentes, coûteuses et difficiles à entretenir.


Réduire les coûts d'infrastructure n'est pas une tâche quotidienne, mais grâce à la connaissance de l'écosystème et de votre plateforme, vous pouvez obtenir des réductions significatives en quelques ajustements.


Voici une liste de plusieurs pratiques de réduction des infrastructures que les équipes techniques de Xenoss utilisent pour aider nos clients à réaliser des infrastructures plus légères.


Explorer les avantages de l’infrastructure cloud hybride

Dans les projets à un stade précoce, on ne réfléchit pas beaucoup à la conception d’une infrastructure cloud optimale. Les équipes techniques choisissent généralement l’une des deux manières suivantes :


  • Fournisseurs de services cloud publics , comme AWS, Google Cloud ou Microsoft Azure. Bien qu'il soit compréhensible de s'appuyer sur un fournisseur de cloud dès le début du processus de développement, nous souhaitons mettre en garde les responsables technologiques contre l'utilisation de services gérés s'ils ne sont pas strictement nécessaires. Au fil du temps, ces outils peuvent augmenter considérablement les factures d'infrastructure du projet - un de nos clients nous a contacté alors que les factures d'infrastructure s'élevaient à 2,5 millions de dollars.
  • Infrastructure sur site gérée par l'équipe interne . De nos jours, la maintenance de centres de données sur site n'est pas aussi courante pour les projets en phase de démarrage en raison de l'investissement initial et de la main-d'œuvre que cela nécessite. Il convient de noter que les infrastructures sur site présentent des avantages, tels qu'un contrôle accru et une sécurité plus stricte.


Dans l’AdTech, la flexibilité et la capacité d’évoluer de manière dynamique sont essentielles. Le contrôle total des coûts d’infrastructure et la capacité à renforcer la sécurité sont tout aussi importants. Le premier est généralement associé au cloud, tandis que le second est généralement cité comme un avantage pour le sur site.


Chez Xenoss, nous reconnaissons les avantages des deux infrastructures, c'est pourquoi nous utilisons les deux dans les projets clients. La combinaison du cloud et du sur site est souvent appelée « cloud hybride », bien que d'autres combinaisons correspondent à ce terme. La combinaison d'un cloud public et privé ou de deux cloud publics (c'est-à-dire multi-cloud) correspond également au concept.


Selon le rapport Data Pipelines publié par DZone , 33 % des organisations interrogées utilisent une combinaison d'infrastructures cloud et sur site. Ce chiffre monte jusqu'à 42 % si l'on prend en compte uniquement les organisations d'entreprises (plus de 1 000 salariés).


Le modèle hybride offre aux équipes AdTech une plus grande flexibilité financière, permettant aux plateformes AdTech de fusionner le contrôle des configurations sur site avec l'évolutivité dynamique des plateformes cloud.


La sécurité est un autre avantage important ; les projets peuvent maintenir des normes strictes de protection des données en conservant les données sensibles sur site et en utilisant le cloud pour des tâches moins critiques.


Une autre raison pour laquelle nous préférons et préconisons une approche hybride est sa capacité à éviter la dépendance vis-à-vis d’un fournisseur. Le maintien des infrastructures critiques sur site donne aux entreprises la possibilité de diversifier leur pile technologique sans dépendre d'un seul fournisseur de cloud.


En outre, une approche hybride permet aux équipes produit d'être plus intentionnelles dans la création d'infrastructures spécifiques à la charge de travail.


Certaines tâches AdTech, comme les enchères publicitaires en temps réel ou les opérations de données liées à une stricte conformité régionale, sont mieux adaptées à une exécution sur site.


Dans le même temps, d'autres flux de travail (analyse de campagne, hébergement de contenu publicitaire distribué ou conception publicitaire collaborative) peuvent migrer de manière transparente vers le cloud.


Optimiser le stockage des données

D’après notre expérience, l’optimisation du stockage à elle seule peut réduire considérablement les coûts d’infrastructure. Dans AdTech, les bases de données SQL et NoSQL sont utilisées pour gérer les données structurées et non structurées. Récapitulons les principales différences entre les deux types de bases de données, ainsi que leurs cas d'utilisation dans AdTech.


Pour ajouter plus de contexte à la discussion, récapitulons les différences entre les deux.

Avantages des bases de données relationnelles

Avantages de la base de données NoSQL

Grande fiabilité

Haute performance

Haute cohérence des données

Haute évolutivité

Schéma standardisé

Stockage optimisé pour les volumes de données élevés

Conformité ACIDE

Haute agilité et personnalisation


Examinons maintenant la base de données de choix pour les principales plates-formes AdTech et leurs approches en matière de stockage de données.


Comment les fournisseurs AdTech utilisent les bases de données SQL pour gérer des volumes de données élevés

Pubmatique

Pubmatic SSP aide les éditeurs à capter un large public et à maximiser les revenus publicitaires grâce à des partenariats de demande uniques, des analyses avancées et des outils d'optimisation créative.


Défi : l'entreprise avait besoin d'une base de données robuste pour gérer de grands ensembles de données et résoudre des problèmes complexes. L’entreprise souhaitait un outil éprouvé, mais avant tout fiable et efficace.


Solution : MySQL


Impact : l'équipe Ad Quality de PubMatic utilise MySQL comme principale source de données. La base de données de la plateforme stocke jusqu'à cent millions d'enregistrements. Connu pour sa fiabilité et sa robustesse, MySQL permet à PubMatic de traiter des millions de créations par jour et de maintenir des charges de données 2 à 10 fois supérieures.


AdGreetz

AdGreetz est une plateforme de personnalisation qui distribue des créations publicitaires personnalisées sur plusieurs canaux : réseaux sociaux, CTV/OTT, in-app, etc.


Défi : les flux de travail de l'organisation sont gourmands en données, nécessitant des solutions de gestion de bases de données capables de prendre en charge des millions d'enregistrements d'utilisateurs.


Base de données choisie : ClickHouse


Impact : Pour l'équipe d'ingénierie d'AdGreetz, Clickhouse s'est avéré être une solution rentable et performante. L'entreprise a réussi à réduire le temps de requête de quelques secondes à quelques secondes avec un petit calcul.


Comment les projets AdTech utilisent les bases de données NoSQL

Cire d'abeille

Beeswax est une plateforme RTB gérée qui permet aux annonceurs de rationaliser les opérations programmatiques. La société propose une solution Bidder-as-a-Service qui traite des millions de requêtes par seconde et consomme 125 Go de données chaque minute.


Défi : mise à l'échelle rapide qui garantirait une diffusion efficace des publicités, nécessité d'une répartition égale de la charge sur la machine de l'organisation.


Base de données NoSQL choisie : Aerospike fonctionnant sur Amazon EC2.


Impact : Beeswax peut traiter des millions de requêtes par seconde avec une latence de lecture finale de 2 millisecondes.


gomme gomme

GumGum propose une plateforme de ciblage contextuel activée par une plateforme propriétaire d'apprentissage automatique, Verity.


Défi : L'entreprise souhaitait traiter de gros volumes de données liées à la publicité (impressions, vues, clics, conversions) avec une latence minimale. Même si les données n'étaient pas traitées en temps réel, l'objectif était de maintenir l'écart au minimum.


Base de données NoSQL choisie : ScyllaDB


Impact:

  • Pression réduite sur les ressources d'ingénierie
  • Augmentation du volume de 75 %
  • Faciliter l’évolutivité grâce au provisionnement des ressources à la demande.


Moloco

Moloco est une plate-forme d'audience mobile qui aide les annonceurs à acquérir, engager et vendre au détail des audiences mobiles. La plateforme s'appuie fortement sur des modèles d'apprentissage automatique pour l'optimisation des campagnes et l'analyse prédictive.


Défi : La pression de traiter des millions de quêtes d'enchères par seconde avec une limite de latence stricte (inférieure à 100 ms).


Base de données NoSQL choisie : Google Cloud BigTable


Impact:

  • Augmentation du nombre de requêtes traitées de 500 000 à 5 millions par seconde
  • Faible latence
  • L'infrastructure gérée a permis à l'entreprise de réaffecter ses ressources en ingénierie logicielle pour se concentrer sur d'autres tâches.


Nos années d'expérience dans le développement de plates-formes AdTech nous ont montré qu'il n'existe pas d'approche universelle pour choisir la base de données appropriée pour l'infrastructure de stockage de données AdTech. Il existe une grande variété de bases de données : il faut de l'expérience, une connaissance des produits et des recherches approfondies pour trouver la bonne solution.


Parfois, basculer entre deux bases de données NoSQL peut faire toute la différence. GumGum, présenté ci-dessus, s'est appuyé sur Cassandra avant de passer à ScyllaDB. Nous avons constaté des réductions significatives des coûts d'exploitation dans le cas d'un client (DSP mobile) après la migration de MongoDB vers Aerospike.


Vova Kyrychenko, CTO chez Xenoss, sur l'impact d'une migration intentionnelle de base de données sur un projet à forte charge


Autres moyens d'optimiser le stockage des données


La mise en œuvre de techniques de compression et de déduplication des données constitue un autre moyen de réduire l'espace de stockage requis, ce qui entraîne des économies.


La compression implique une réduction de la taille des données, ce qui entraîne une transmission plus rapide et une réduction des coûts de stockage. Les équipes chargées des données peuvent utiliser des techniques telles que GZIP.


La déduplication , comme son nom l'indique, élimine les copies redondantes de données. Il joue un rôle déterminant dans l’AdTech, où les profils d’utilisateurs répétés ou des ensembles de données similaires sont monnaie courante.


Le stockage à froid est un moyen rentable de stocker des données rarement consultées (anciennes mesures de campagne) sans aucune répercussion sur les performances.


Sélection de services premium proposés par un fournisseur d'infrastructure

La navigation dans les services cloud nécessite des choix intelligents. Si vous n’y prêtez pas attention, il est facile d’utiliser des offres groupées de services qui ajoutent des coûts d’infrastructure mais n’apportent aucune valeur à la plateforme.


Dans un clip ci-dessous, Vova Kyrychenko, CTO de Xenoss, explique comment le « piège de l'argent gratuit » peut entraîner des coûts d'infrastructure élevés à mesure que les plateformes AdTech évoluent.


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


Notre recommandation cruciale aux fournisseurs AdTech est d’analyser la tarification des services premium pour identifier les coûts ou les économies cachés.


De plus, étant donné que les nouveaux outils peuvent ralentir la plate-forme, il est raisonnable de les tester à petite échelle avant de mettre un nouveau service en production.


Garder un œil sur les projets tiers ou open source est une autre alternative aux offres gérées coûteuses. Les plateformes gratuites ou peu coûteuses peuvent offrir de meilleures performances que les principaux fournisseurs de cloud.


En adoptant cette approche sur un projet client, les ingénieurs de Xenoss ont contribué à réduire les coûts d'infrastructure par 20.


Dans l'infographie ci-dessous, nous illustrons l'ancienne infrastructure du client et la version modernisée conçue par nos architectes.


Une analyse coûts-avantages ciblée des services gérés a aidé notre client à réduire ses coûts d'exploitation par vingt.


Équilibrer le trafic et la charge

Comme nous l'avons mentionné il y a quelque temps, les plates-formes AdTech ne fonctionnent pas sous des charges stables : à un moment donné, une plate-forme peut atteindre un pic soudain, et le lendemain, elle dispose de plus de ressources informatiques qu'elle ne sait quoi en faire.


Puisque les ingénieurs de Xenoss estiment qu'un trafic efficace et un équilibrage de charge sont indispensables pour les systèmes AdTech, approfondissons ces concepts.

Examen de l'équilibrage de charge cloud par Google Cloud (source)


L'équilibrage de charge signifie répartir uniformément les requêtes entrantes sur plusieurs serveurs, garantissant qu'aucun serveur n'est submergé. Dans ce cadre, les architectes Xenoss donnent la priorité aux processus critiques, c'est-à-dire aux tâches essentielles qui, si elles sont interrompues, perturberont les fonctionnalités de base du système (enchères publicitaires en temps réel ou traitement des données utilisateur).


En donnant la priorité à ces processus, nous protégeons les opérations vitales contre d’éventuels ralentissements ou pannes.


Concevoir un mécanisme de détection précoce des menaces

Un adage célèbre dit : « L'échec fait partie de chaque plan », avertissant de manière concise les équipes de produits AdTech de se prémunir contre les menaces et les temps d'arrêt.


À cette fin, nous exhortons les fournisseurs et les équipes techniques internes à tirer parti des outils de surveillance qui surveillent l’état du système, garantissant ainsi des opérations ininterrompues. Si vous configurez des alertes pour toute anomalie, les équipes peuvent être alertées rapidement, agir rapidement et garantir que des revers mineurs ne se transforment pas en effondrements majeurs.


L’amélioration de cette approche avec des informations basées sur l’IA offre encore plus de granularité. Les algorithmes de détection d'anomalies, tels que Isolation Forest ou One-Class SVM, conviennent parfaitement à l'identification de modèles de données inhabituels, qui peuvent indiquer des menaces ou des vulnérabilités du système.


Utilisation de Isolation Forest pour la détection d'anomalies (Source : Towards Data Science)

Nous suggérons à nouveau de déployer des réseaux neuronaux récurrents à mémoire long et court terme pour analyser les données de séries chronologiques.


Les grands modèles linguistiques peuvent également contribuer à la détection des menaces en analysant les journaux et les messages système pour détecter les anomalies, donnant ainsi un sens aux données textuelles qui pourraient autrement être négligées.


L'essentiel

L’optimisation des coûts d’infrastructure est un pilier pour les entreprises de tous secteurs qui recherchent efficacité et rentabilité.


L'AdTech constitue un excellent terrain de jeu pour explorer les défis et les solutions de contournement liés au travail avec des volumes de données et des charges de trafic élevés, car la nécessité de traiter des milliers de requêtes en une milliseconde repousse les limites du développement de l'infrastructure.


La bonne nouvelle est que des équipes techniques expérimentées ont, souvent par essais et erreurs, développé un manuel permettant de maintenir les coûts d'infrastructure à un niveau bas, même pour les systèmes à charge élevée. L'équilibre entre les solutions cloud et sur site, l'exploitation de l'IA pour la détection des menaces et l'amélioration continue des stratégies de stockage de données aident les équipes produit à garantir des opérations robustes sans compromettre le budget.


Rester agile et informé dans ce domaine est une mesure de réduction des coûts et un avantage concurrentiel dans le paysage dynamique de l'AdTech.