AWS AppSync aide Public Good Software à changer le monde en incitant le lecteur à agir en temps réel

Public Good Software est une plateforme de marketing de causes sociales de premier plan, dont l'objectif est de rendre les informations exploitables en associant des articles journalistiques à des causes caritatives pertinentes. Intégré dans les articles des sites web des éditeurs, le widget de la société, l'Impact Unit, identifie ces correspondances et incite les lecteurs à agir. Public Good Software travaille avec de grandes marques engagées dans des campagnes de bien social, ainsi qu'avec des organisations à but non lucratif et des partenaires médias.

Les partenaires médias intègrent le widget dans les modèles principaux de leur système de gestion de contenu (CMS) ou dans les serveurs de publicité. Les versions antérieures de l'Impact Unit faisaient des appels d'API vers de nombreux services afin de capturer les données nécessaires pour déterminer les correspondances entre les causes et les articles. Le nombre important d'appels d'API ajoutait de la latence au fonctionnement du widget, et la taille du code derrière le widget s'est avérée problématique pour certains éditeurs. Le cumul de la latence et de la taille du code a entravé la capacité de Public Good Software à répondre aux besoins de ses clients actuels et à en attirer de nouveaux. « Nos clients nous approchaient avec des campagnes plus compliquées et plus complexes, et avec des partenaires médias à plus fort volume. Nous avions besoin de meilleures performances de l'Impact Unit pour répondre à cette demande », explique Michael Manley, directeur technique de Public Good Software.

« Nous sommes passés du concept à la production en moins d'un mois, avec un seul ingénieur travaillant sur le service AWS AppSync. »

– Michael Manley, directeur de la technologie, Public Good Software

 

  • À propos de Public Good
  • Public Good Software exploite une plateforme de marketing de causes sociales de premier plan. La plateforme, par le biais de recommandations contextuelles et personnalisées, permet aux sociétés de médias et aux marques axées sur les causes sociales d'encourager l'engagement et l'action centrés sur ces causes.

  • Avantages
    • Amélioration de l'API et mise en production en moins d'un mois
    • L'API mise à jour améliore l'expérience client et accélère le chargement des pages
    • L'application évolue de manière transparente pour s'adapter au trafic variable du site
    • Les appels d'API sont passés d'environ 12 à 1 ou 2
    • En étant déchargés des préoccupations liées à l'infrastructure, les développeurs peuvent se concentrer sur l'amélioration de l'API.
  • Services AWS utilisés

De la preuve de concept à la production en moins d'un mois

Public Good Software avait prévu d'expérimenter GraphQL, un langage de requête open-source pour les API. « Nous avons réalisé que, si nous utilisions GraphQL correctement, l'Impact Unit n'aurait besoin de faire qu'un ou deux appels à nos services. GraphQL vous donne la possibilité de spécifier précisément les données que vous voulez et de les demander une seule fois, plutôt que de les demander au coup par coup à plusieurs services », détaille Manley. Lorsque l'équipe de Manley a découvert qu'Amazon Web Services (AWS) proposait AWS AppSync, un service géré par GraphQL, elle s'est demandée s'il pourrait contribuer à résoudre ses problèmes de latence en réduisant le nombre d'appels d'API, et sans avoir à maintenir l'infrastructure.

L'équipe de Public Good Software a discuté de l'utilisation d'AWS AppSync lors d'une réunion de planification du lundi et, dès le vendredi, elle avait déjà créé une preuve de concept. Grâce à cet exercice, l'équipe a pu immédiatement réduire le nombre d'appels d'API effectués via HTTPS d'environ une douzaine à seulement un ou deux. En outre, ceci a été possible sans avoir à maintenir un autre serveur d'API. Manley avait prévu trois mois de travail pour trouver une solution, et en découvrir une aussi rapidement a été une agréable surprise. En seulement un mois, l'équipe avait implémenté AWS AppSync.

« Pour nous, le délai de mise sur le marché a été le plus grand avantage. Nous sommes passés du concept à la production en moins d'un mois, avec un seul ingénieur travaillant sur le service AWS AppSync. Le deuxième avantage le plus important a été la capacité du service à se mettre à l'échelle face à un trafic variable », indique Manley. Public Good Software estime que l'utilisation d'AWS AppSync pour fournir son API GraphQL sera beaucoup moins coûteuse que l'implémentation de son propre fournisseur dans la pile d'applications de l'entreprise, tant en dépenses récurrentes qu'en main-d'œuvre.

Le nombre d'appels requis entre le client et le backend étant réduit, l'utilisation d'AWS AppSync a permis de diminuer le temps de latence dans la fourniture de contenus exploitables. La combinaison d'AWS AppSync et de GraphQL a permis d'extraire et d'agréger les données de plusieurs microservices en une seule requête réseau. « AWS AppSync nous a permis de proposer une bibliothèque JavaScript plus légère avec le widget Impact Unit, ce qui a réduit la taille du code et la latence. Cela signifie que nous avons pu offrir à nos clients une expérience améliorée avec des campagnes compliquées tout en accélérant les temps de chargement des pages pour nos partenaires médias », résume Manley.

Décharger les préoccupations liées à l'infrastructure et se concentrer sur les avantages concurrentiels

Public Good Software adopte la philosophie selon laquelle toute compétence technique qui ne permet pas à l'entreprise de se distinguer sur le marché doit confier ses tâches à d'autres. Pour l'entreprise, cela signifie déléguer des fonctions aux produits AWS. Le transfert de ces préoccupations vers AWS permet à l'équipe de se concentrer davantage sur ses API et sur d'autres projets clés. Manley précise : « Notre équipe ne compte que quatre ingénieurs. Pour une entreprise de notre taille, il est logique de confier à AWS 80 à 90 % des fonctions d'infrastructure qu'AWS a déjà développées. Cela nous permet de consacrer notre temps aux 10 à 20 % de fonctions qui sont propres à Public Good Software. »

Public Good Software a envisagé plusieurs fournisseurs GraphQL propriétaires et open-source qui auraient pu fonctionner comme une couche entre ses microservices existants et son application client. Cependant, chacun d'entre eux s'accompagnait de frais opérationnels supplémentaires, principalement sous la forme de services d'application que l'équipe devait allouer, renforcer et mettre à l'échelle. Manley voit un avantage concurrentiel important dans la fourniture d'une API GraphQL, mais beaucoup moins dans l'exploitation et la maintenance de l'infrastructure qui la prend en charge. « Si nous pouvons déléguer la responsabilité opérationnelle de l'infrastructure de cette API et concentrer nos ressources sur l'adaptation du comportement de l'API, c'est une grande victoire. C'est pour cela nous utilisons les services AWS. AWS AppSync fournit une fonctionnalité de base évolutive à un niveau supérieur de la pile d'applications. »

Raffiner les modèles de machine learning

N'étant pas une entreprise qui se repose sur ses lauriers, Public Good Software continue de trouver des moyens de fournir des services améliorés et différenciés à ses clients. Une plus grande utilisation du machine learning est à l'horizon pour l'entreprise, qui explore les moyens d'utiliser Amazon SageMaker, un service qui aide les développeurs et les scientifiques des données à développer, entraîner et déployer rapidement des modèles de machine learning. L'objectif est de découvrir comment le machine learning et l'analyse automatisée du texte peuvent considérablement améliorer le processus de mise en correspondance du contenu journalistique et des causes pertinentes. « Une énorme partie de notre travail consiste à découvrir comment associer le contenu journalistique à un bien social. Comment savoir quel contenu est exploitable ? Comment savoir quelles organisations montrer et quelles actions suggérer ? Quelles campagnes de bien social correspondent à ce contenu ? Nous utilisons Amazon SageMaker pour entraîner nos modèles de machine learning afin de répondre à ces questions », ajoute Manley.


En savoir plus

Pour en savoir plus, consultez le site aws.amazon.com/appsync.