Amazon SWF aide les développeurs à concevoir, exécuter et mettre à l'échelle les travaux en arrière-plan qui présentent des étapes parallèles ou séquentielles. Vous pouvez voir Amazon SWF comme un dispositif de suivi et un coordinateur de tâches entièrement géré dans le cloud.
Si les étapes de votre application nécessitent plus de 500 millisecondes pour se terminer, vous devez suivre l'état du traitement, ainsi que procéder à une récupération ou à un nouvel essai si une tâche échoue, et Amazon SWF peut vous y aider.
Consultez la page relative à la mise en route si vous souhaitez obtenir des exemples de code pour les modèles de flux de travail parallèles, séquentiels, ramifiés et plus encore.
Découvrez gratuitement AWS
Créez un compte gratuitLe niveau gratuit d'AWS inclut 10 000 tâches, 30 000 jours-workflow et 1 000 exécutions lancées avec Amazon Simple Workflow (SWF).
Amazon SWF préconise une séparation entre la logique étape par étape du flux de contrôle de votre tâche en arrière-plan et les unités de travail réelles qui contiennent la logique unique de votre entreprise. Cela vous permet de gérer, d'entretenir et de mettre à l'échelle séparément la « machinerie à états » de votre application à partir de la logique d'entreprise essentielle qui la différencie. Au fur et à mesure que vos besoins commerciaux évoluent, vous pouvez facilement modifier la logique d'application sans avoir à vous soucier de la machinerie à états, de la distribution des tâches et du contrôle du flux sous-jacents.
Amazon SWF s'exécute au sein des centres de données à haute disponibilité d'Amazon, afin que le moteur de traitement des tâches et de suivi de l'état soit disponible dès que les applications en ont besoin. Amazon SWF stocke de façon redondante les tâches, les répartit efficacement entre les composants de l'application, suit leur progression et conserve leur état le plus récent.
Amazon SWF remplace la complexité des solutions de workflow avec code personnalisé et des logiciels d'automatisation des processus par un service Web de workflow dans le cloud entièrement géré. Les développeurs n'ont donc pas à gérer l'infrastructure d'automatisation des processus et peuvent se consacrer pleinement à la seule fonctionnalité de leur application.
Amazon SWF permet une mise à l'échelle en toute transparence en fonction du niveau d'utilisation de votre application. Aucune administration manuelle du service de workflow n'est nécessaire lorsque vous ajoutez des workflows dans le cloud supplémentaires à votre application ou augmentez la complexité de vos workflows.
Amazon SWF vous permet d'écrire vos composants d'application et votre logique de coordination dans n'importe quel langage de programmation et de les exécuter dans le cloud ou sur site.
Encodage vidéo à l'aide d'Amazon S3 et Amazon EC2 Dans ce cas, des vidéos volumineuses sont chargées sur Amazon S3 par fragments. Le téléchargement des fragments doit faire l'objet d'une surveillance. Dès qu'un fragment est téléchargé, celui-ci est encodé par son téléchargement vers une instance Amazon EC2. Le fragment encodé est stocké à un autre emplacement d'Amazon S3. Une fois tous les fragments encodés de cette manière, ceux-ci sont assemblés dans un fichier entièrement encodé de nouveau stocké dans son intégralité sur Amazon S3. Ce processus peut échouer en raison de la survenue d'erreurs d'encodage d'un ou plusieurs fragments. De tels échecs doivent être détectés et traités par le biais de la gestion des workflows dans le cloud d'Amazon SWF.
Migration des composants d'un centre de données vers le cloud. Les opérations critiques pour l'activité sont hébergées dans un centre de données privé et doivent être transférées dans leur intégralité vers le cloud sans provoquer d'interruptions. Les applications reposant sur Amazon SWF peuvent combiner des programmes exécutants chargés d'incorporer des composants fonctionnant dans le centre de données à des programmes exécutants du cloud. Pour assurer une transition sans accroc d'un programme exécutant du centre de données, de nouveaux programmes de même type sont tout d'abord déployés dans le cloud. Les programmes exécutants du centre de données continuent de s'exécuter normalement, parallèlement aux nouveaux programmes de cloud. L'acheminement d'une partie de la charge vers les programmes exécutants basés sur le cloud permet de les tester et de les valider. L'application ne subit aucune interruption, car les programmes exécutants du centre de données continuent de fonctionner pendant ce test. Une fois les tests réussis, les programmes exécutants du centre de données s'arrêtent progressivement au profit de ceux se trouvant dans le cloud, si bien qu'à terme ils sont transférés intégralement vers une application de gestion de workflows dans le cloud. Vous pouvez répéter ce processus de workflow dans le cloud pour tous les autres programmes exécutants du centre de données afin de transférer l'ensemble de l'application vers le cloud. Si pour des raisons propres à l'entreprise, certaines étapes de traitement doivent s'effectuer dans le centre de données privé, l'exécution de ces programmes exécutants peut se poursuivre dans le centre privé, tout en faisant toujours partie de l'application.
Traitement de catalogues de produits volumineux à l'aide d'Amazon Mechanical Turk. Lors de la validation de données contenues dans des catalogues volumineux, les produits du catalogue sont traités par lots. Les différents lots peuvent être traités simultanément. Pour chaque lot, les données du produit sont extraites des serveurs du datacenter et transformées en fichiers CSV (Comma Separated Values) requis par l'interface Request User Interface (RUI) d'Amazon Mechanical Turk. Le fichier CSV est téléchargé pour alimenter et exécuter les HIT (Human Intelligence Tasks). Une fois les HIT terminées, le fichier CSV en résultant est de nouveau transformé pour que les données retrouvent leur format d'origine. Les résultats sont alors évalués et les employés d'Amazon Mechanical Turk sont payés en fonction de leurs résultats. Les échecs sont extraits et traités de nouveau tandis que les résultats HIT acceptables sont utilisés pour mettre à jour le catalogue. Au fil des lots traités, le système a besoin d'assurer le suivi de la qualité des employés d'Amazon Mechanical Turk et d'adapter les paiements en fonction des résultats. Les HIT ayant échoué sont de nouveau regroupées par lot et renvoyées vers le pipeline.