Amazon Simple Workflow Service (bêta)

Amazon Simple Workflow Service (Amazon SWF) est un service de workflow permettant de concevoir des applications évolutives et résilientes. Qu'il s'agisse d'automatiser des processus métiers pour des applications de finance ou d'assurance, de concevoir des applications d'analyse de données sophistiquées ou de gérer des services d'infrastructure en nuage, Amazon SWF coordonne efficacement toutes les étapes de traitement d'une application.

Avec les approches de développement traditionnelles, il est à la fois chronophage et coûteux de concevoir et suivre des étapes de traitement exécutées à des heures différentes et n'ayant pas la même durée, tout en veillant à ce qu'elles soient exécutées de manière efficace et sans doublon. Lorsque l'exécution des applications est répartie sur plusieurs systèmes, la coordination des étapes de traitement sur ces systèmes présente un défi supplémentaire. Grâce à Amazon SWF, les développeurs peuvent structurer les différentes étapes de traitement d'une application sous forme de « tâches » qui répartissent le travail dans des applications distribuées, tandis qu'Amazon SWF coordonne ces tâches de manière fiable et évolutive. Amazon SWF gère les dépendances, la programmation et la simultanéité de l'exécution des tâches en fonction de la logique d'application d'un développeur. Le service stocke 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 est un service entièrement géré, sans matériel ni logiciel à administrer, développer, affiner, corriger ou mettre à niveau. Amazon SWF fournit de simples appels d'API pouvant être exécutés à partir de code écrit dans n'importe quel langage et exécuté sur vos instances EC2, ou sur n'importe quelle machine connectée à Internet située partout dans le monde. Les machines sur site peuvent simplement ouvrir une connexion Internet pour demander des tâches aux API de SWF, sans modifier les règles de pare-feu. Des rapports détaillés sur le statut actuel et l'historique d'exécution de vos workflows sont disponibles dans AWS Management Console.

Lisez le billet publié sur le blog par Werner Vogels, directeur technique d'Amazon, pour découvrir comment Amazon SWF vous aide à exploiter le traitement distribué et asynchrone dans vos applications.
Découvrez
gratuitement AWS

Le niveau gratuit d'AWS inclut 10 000 tâches, 30 000 jours-flux de travail et 1 000 exécutions lancées avec Amazon Simple Workflow (SWF).

Voir les détails relatifs au niveau gratuit d'AWS »

Présentation d'Amazon SWF

Image : Présentation d'Amazon SWF


Introduction à Amazon SWF
Utilisation d'AWS Flow Framework


Cette page contient les catégories d'informations suivantes. Cliquez pour aller en bas de page :

Amazon SWF – Fonctionnalité

La gestion des workflows dans votre application est un jeu d'enfants avec Amazon SWF. Le service Amazon SWF fait office de plate-forme de coordination pour tous les différents composants de votre application :

  • Conservation de l'état de l'application
  • Suivi des exécutions des workflows et consignation de leur progression
  • Conservation et répartition des tâches
  • Contrôle de l'affectation des tâches à exécuter sur vos hôtes d'applications
Pour utiliser Amazon SWF, il suffit :
  • D'utiliser AWS Management Console ou les API Amazon SWF pour spécifier les noms des workflows.
  • D'utiliser les API Amazon SWF pour « démarrer » un nouveau workflow, ce qui entraîne le lancement d'une séquence particulière de tâches de workflow, appelée « exécution de workflow ».
  • D'utiliser les API Amazon SWF à partir des machines exécutantes (un « exécutant » est un composant de votre application qui gère des tâches spécifiques) pour déterminer l'ordre des tâches, gérer les flux conditionnels et exécuter les boucles d'une exécution de workflow.
  • D'utiliser les API Amazon SWF à partir des machines exécutantes pour appeler et exécuter les tâches de workflow dans le nuage ou sur site.
  • De surveiller l'état et la progression des exécutions de workflow et de leurs tâches associées dans AWS Management Console.
La présentation détaillée d'AWS Management Console vous guide tout au long des étapes d'enregistrement et d'exécution d'un exemple d'application. Reportez-vous à la documentation pour en savoir plus sur le service Amazon SWF et les API.

Éléments principaux du service

Simple – Amazon SWF remplace la complexité des solutions de workflow avec code personnalisé et des logiciels d'automatisation des processus par un service Web entièrement géré. Cela élimine la nécessité pour les développeurs de gérer l'infrastructure d'automatisation des processus afin qu'ils puissent se consacrer pleinement à la seule fonctionnalité de leur application.

Évolutif – Amazon SWF évolue en toute transparence avec l'utilisation de votre application. Aucune administration manuelle du service de workflow n'est nécessaire lorsque vous ajoutez des workflows supplémentaires à votre application ou augmentez la complexité de vos workflows.

Flexible – Amazon SWF vous permet d'écrire les composants de vos applications et votre logique de coordination dans n'importe quel langage de programmation et de les exécuter dans le nuage ou sur site.


Tarification

Vous ne payez que ce que vous utilisez. Il n'y a pas de frais minimum. Estimez votre facture mensuelle en utilisant le Calculateur mensuel simple.

Niveau gratuit*

Dans le cadre du niveau d'utilisation gratuite d'AWS, Amazon SWF propose chaque mois les offres suivantes aux clients nouveaux et existants :

  • 1 000 exécutions de workflow peuvent être lancées gratuitement.
  • 10 000 tâches, minuteurs, signaux et marqueurs en tout peuvent être utilisés gratuitement.
  • 30 000 jours de workflow peuvent être utilisés gratuitement. Un jour de workflow correspond à chaque période de 24 heures pendant laquelle une exécution est soit ouverte, soit retenue dans Amazon SWF.
Le niveau gratuit pour le transfert de données est applicable selon les termes du niveau d'utilisation gratuite d'AWS**

Exécutions de workflow

Un workflow est un ensemble de tâches exécutées dans un certain ordre (parfois avec un ensemble de boucles ou de flux conditionnels). Chaque exécution de workflow est considérée comme étant distincte. Vous payez pour chaque exécution de workflow démarrée (lorsque la première tâche est mise à la disposition des hôtes d'applications pour exécution) et pour chaque période de 24 heures jusqu'à leur terme. Les 24 premières heures de l'exécution du workflow sont gratuites.

Tâches, marqueurs, minuteurs et signaux

Jusqu'au terme de l'exécution d'un workflow, vos machines exécutantes ou clientes exécutent des tâches supplémentaires, peuvent ajouter des marqueurs (entrées de journal d'exécution de workflow personnalisées), démarrer des minuteurs ou recevoir des signaux. Pour chacun de ces éléments, vous payez :

Tous les frais sont calculés au quotidien et facturés chaque mois.

Transfert de données **

Le transfert des données « entrantes » et « sortantes » fait référence au transfert dans et hors d'Amazon SWF. Le transfert de données entre Amazon SWF et d'autres services AWS (par exemple Amazon EC2 où des exécutants et des décideurs peuvent être déployés) au sein d'une même région est gratuit (0,00 $ pour le Royaume-Uni). Le transfert de données entre Amazon SWF et d'autres services AWS dans différentes régions est facturé aux tarifs de transfert de données Internet des deux côtés du transfert.

* Votre utilisation gratuite est calculée chaque mois et appliquée automatiquement à votre facture – l'utilisation gratuite n'est pas cumulable.

** Dans le cadre du niveau d'utilisation gratuite d'AWS, les clients AWS recevront 15 Go de transfert de données sortantes chaque mois regroupées parmi tous les services AWS pendant un an.

*** Les niveaux de tarif de transfert de données sortantes regroupent le transfert de données sortantes sur Amazon EC2, Amazon S3, Amazon RDS, Amazon SimpleDB, Amazon DynamoDB, Amazon SWF, Amazon SQS, Amazon SNS, AWS Storage Gateway et Amazon VPC.

Exemple de calcul de coûts

Pour illustrer la tarification d'Amazon SWF, prenons l'exemple d'une application de traitement vidéo simple avec trois tâches : télécharger une vidéo, la coder et stocker la vidéo codée dans Amazon S3. Cette application est utilisée pour coder 10 000 vidéos, chacune comprenant une exécution de workflow unique. Les exécutants et les décideurs de cette application sont tous exécutés sur Amazon EC2 dans la même région qu'Amazon SWF. Le coût induit pour l'exécution de 10 000 exécutions de workflow par jour est de 1,75 USD, répartis comme suit :

  • 1,00 USD pour le démarrage des 10 000 exécutions de workflow (10 000 x 0,0001 USD)
  • 0,75 USD pour le lancement des tâches (0,000025 USD par tâche x 3 tâches par exécution de workflow x 10 000 exécutions de workflow)
  • Nous supposons qu'une vidéo peut être codée et téléchargée sur S3 en moins de 24 heures. Par conséquent, l'exécution du workflow se termine dans les 24 heures de son démarrage et il n'y a aucuns frais d'exécution de workflow continue.

Supposons que vous vouliez aussi qu'Amazon SWF conserve les informations relatives aux exécutions du workflow de codage 7 jours après leur terme. Le coût de la conservation des informations relatives aux exécutions du workflow est de 0,35 USD (0,000005 USD par jour par exécution x 7 jours de workflow de conservation x 10 000 exécutions de workflow).

Au total, le coût d'Amazon SWF pour coordonner le codage et le téléchargement de 10 000 vidéos et pour conserver les informations relatives aux exécutions de workflow et aux étapes de traitement associées pendant 7 jours revient à : 2,10 USD (1,75 USD pour les exécutions de workflow + 0,35 USD pour la conservation des informations).


Description détaillée

Amazon SWF est un service de workflow entièrement géré permettant de concevoir des applications évolutives et résilientes. Amazon SWF fournit de simples appels d'API pouvant être exécutés à partir de code écrit dans n'importe quel langage et exécuté sur vos instances EC2, ou sur n'importe quelle machine connectée à Internet située partout dans le monde.

Amazon SWF fait office de plate-forme de coordination avec laquelle vos hôtes d'applications interagissent. Vous créez les workflows souhaités avec leurs tâches associées et toute logique conditionnelle à appliquer et stocker avec Amazon SWF. Chaque exécution de workflow est considérée comme étant distincte. Vous programmez les composants de votre application de sorte qu'ils demandent la réalisation de diverses tâches dans l'exécution de votre workflow et Amazon SWF coordonne les tâches réalisées, dans l'ordre que vous avez spécifié, sur vos hôtes (que ces derniers soient dans le nuage ou sur site). Les applications communiquent avec Amazon SWF à l'aide d'API afin d'enregistrer la réussite ou l'échec des tâches. Ensuite, Amazon SWF continue la séquence de tâches en affectant la tâche de workflow suivante à un hôte d'application ou en réexécutant une tâche échouée en fonction de votre logique métier.

Ouvrez une session d'AWS Management Console pour démarrer l'exécution d'un workflow Amazon SWF. Vous pouvez également démarrer l'exécution d'un workflow via nos API Amazon SWF. Amazon SWF utilise une interface de service Web simple, facile à utiliser et hautement flexible :

  • StartWorkflowExecution : démarre une séquence de tâches de workflow et met la première tâche à la disposition d'un de vos hôtes d'applications.
  • DescribeWorkflowExecution : fournit le statut des exécutions et des tâches des workflows.
  • PollForActivityTask : vos hôtes d'applications (dans le nuage ou sur site) demandent et exécutent les tâches du workflow dans une boucle continue.
  • RespondActivityTaskCompleted : un hôte d'application informe Amazon SWF qu'il a mené une tâche à bien. Amazon SWF poursuit alors l'exécution du workflow en mettant la tâche suivante à la disposition d'un hôte d'application.
  • TerminateWorkflowExecution : arrête la progression de l'exécution d'un workflow spécifique. Amazon SWF n'affecte plus aucune tâche de ce workflow spécifique à l'hôte d'application.

Démarrage

La meilleure façon de comprendre le fonctionnement d'Amazon SWF est de consulter la documentation. Utilisez la fonctionnalité Launch Sample Walkthrough d'AWS Management Console pour exécuter un exemple de workflow qui vous présentera les concepts de base d'Amazon SWF.


Utilisation prévue et restrictions

Votre utilisation de ce service est soumise au Contrat client Amazon Web Services.

©2013, Amazon Web Services, Inc. or its affiliates. Tous droits réservés.