Les applications qui s'appuient sur des données dans le stockage cloud n'ont pas besoin de rester à jour à chaque minute de la journée. Pensez à une application de médias sociaux. Il s'agit de données «en temps réel» telles qu'un nouveau message ou un téléchargement de photos, mais la plupart des données telles que les informations de compte, le profil utilisateur et le lieu où vous êtes allé au lycée n'ont pas besoin d'être mises à jour en permanence. Dans une application de jeu, il existe une énorme quantité de données en temps réel telles que votre position actuelle sur une carte (qui est en constante évolution), mais votre numéro de carte de crédit restera probablement le même mois et mois. Mettre à jour en permanence toutes les données d'une application mobile ou Web n'a aucun sens et ne consomme que des ressources inutiles.
AWS AppSync est un moyen de synchroniser les données utilisées dans une application Web ou mobile, permettant aux développeurs de choisir les données à synchroniser en temps réel.
AppSync s'appuie sur un GraphQL, qui a été initialement développé par Facebook, pour la synchronisation des données. Il est destiné à aider les développeurs qui pourraient avoir besoin d'extraire des données de différentes sources dans le cloud, puis d'exécuter des fonctions dans l'application rapidement et efficacement. Il est également hautement sécurisé, même si une application se synchronise à partir de plusieurs sources de données et que les développeurs choisissent quelles parties d'une application peuvent utiliser ou non des données en temps réel, les données sont toujours protégées.
Comme mentionné, le service de développement d'applications est destiné à ceux qui ont besoin de traiter d'énormes quantités de données en temps réel et de synchroniser ces données avec l'application. Pourtant, ils doivent également pouvoir décider quelles données n'ont pas besoin d'être synchronisées en temps réel. Les développeurs peuvent créer des requêtes complexes qui utilisent un base de données cloud et agréger les données ou prendre des décisions complexes pour les analyser, les traiter ou les manipuler à partir de plusieurs sources.
L'avantage ici est que vous pouvez facilement faire évoluer une application et utiliser plusieurs services Amazon pour votre application, sans être limité par votre infrastructure informatique ou l'emplacement des données (et si vous devez traiter toutes les données en temps réel).
Un autre avantage est que cela peut fonctionner avec des données qui sont hors ligne pendant des périodes de temps. Dans une application de jeu, par exemple, le développeur peut synchroniser des données en temps réel mais également coordonner ce qui se passe lorsque l'utilisateur final continue d'utiliser le jeu et obtenir un score élevé lorsqu'il n'est plus connecté à Internet. AppSync peut synchroniser les données hors ligne une fois que l'utilisateur se connecte à nouveau sans avoir à synchroniser l'ensemble des données. Cela réduit les besoins en bande passante et accélère la synchronisation des données pour l'application Web ou mobile.
Sommaire
Exemples d'utilisation d'AWS Appsync
Un exemple d'utilisation d'AWS AppSync est avec un projet Big Data. Souvent, avec un projet de recherche dans une grande université, par exemple, les sources de données sont largement diffusées. Pour un projet analysant la construction de nouvelles routes, il pourrait y avoir des données disponibles liées à la recherche de matériaux à Zurich et des données environnementales d'un laboratoire à Munich, mais l'équipe de développement de l'application est basée à Chicago.
Dans le passé, la synchronisation de toutes ces données pour une application, ainsi que la décision de savoir quelles données étaient essentielles à la mission et devaient être de nature temps réel et quelles données pouvaient être stockées à long terme et non synchronisées, était toute une entreprise. Cela nécessite souvent une combinaison de plusieurs services cloud et un moyen de synchroniser manuellement toutes les sources de données. Pourtant, AWS AppSync fournit une console pour que les développeurs puissent comprendre leur API et ce qui se passe avec leurs données.
Un autre exemple d'AWS AppSync en utilisation pratique est lorsque les développeurs créent une application pour maison intelligente, qui surveille les problèmes de sécurité et de sécurité à domicile.
Des capteurs peuvent être installés pour détecter les fuites d'eau, rechercher les intrus et contrôler si une fenêtre s'est soudainement ouverte au milieu de la nuit. L'Internet des objets (ou IoT) est un concept qui a permis aux développeurs de créer des applications riches qui unifient et unissent ces capteurs disparates pour présenter une image claire de ce qui se passe à la maison.
Comme vous pouvez l'imaginer, extraire et surveiller ces données de capteur est une tâche herculéenne. Il peut y avoir des milliers voire des millions de demandes de données d'une application – par exemple, chaque fois que quelqu'un ouvre une porte ou lorsqu'un capteur détecte un objet en mouvement. Dans une application de maison connectée, certaines données peuvent être au repos et n'ont pas besoin d'être synchronisées. Avec AWS AppSync, un développeur peut décider comment synchroniser ces données et ce qui leur arrive en temps réel dans l'application, non seulement pour les dizaines de capteurs qui pourraient être installés dans une maison intelligente, mais pour des centaines ou des milliers de clients.
En fin de compte, c'est la flexibilité que cela offre qui est essentielle pour les développeurs qui créent des applications riches qui utilisent plusieurs ensembles de données provenant de sources très variées du monde entier.