Présentation

  • En quoi consiste AWS Step Functions ?

    AWS Step Functions est un service entièrement géré qui permet de coordonner facilement les composants d'applications et de microservices distribués à l'aide de flux de travail visuels. Le développement d'applications à partir de composants individuels qui réalisent chacun une fonction discrète vous permet de facilement mettre à l'échelle et modifier les applications rapidement. Step Functions est un moyen fiable de coordonner des composants et suivre les fonctions de votre application. Step Functions fournit une console graphique pour organiser et visualiser les composants de votre application sous forme de suite d’opérations. Vous pouvez donc développer et exécuter des applications en plusieurs étapes plus facilement. Step Functions déclenche automatiquement chaque opération, en assure le suivi et la relance en cas d'erreur. Votre application est donc exécutée dans un certain ordre et comme prévu. Step Functions consigne l'état de chacune des opérations pour que vous puissiez diagnostiquer et résoudre rapidement les problèmes éventuels. Vous pouvez modifier et ajouter des étapes sans même écrire de code, ce qui vous permet d'innover et de faire évoluer votre application plus facilement.

  • Quels sont les avantages offerts par la conception de mon application avec l'orchestration ?

    En séparant une application en différents composants de service (ou étapes), vous vous assurez que l'échec d'un composant ne rend pas l'ensemble du système inopérant, que chaque composant évolue de façon indépendante et que les composants peuvent être mis à jour sans avoir besoin de redéployer l'ensemble du système après chaque modification. La coordination des composants de service implique la gestion des dépendances, de la programmation, ainsi que de la simultanéité en matière d'exécution suivant le flux logique de l'application. Dans une telle application, les développeurs peuvent utiliser l'orchestration de services à cette fin et pour gérer les défaillances.

  • Quels sont les cas d’utilisation AWS Step Functions les plus courants ?

    AWS Step Functions s’avère utile pour tout problème de calcul ou processus métier pouvant être subdivisé en une suite d'étapes. Il est également utile pour la création de flux de travail de bout en bout en vue de la gestion de tâches avec des interdépendances. Parmi les cas d'utilisation les plus courants, on trouve notamment :

    • Le traitement des données : il consiste à consolider des données présentes dans plusieurs bases de données dans des rapports unifiés, à affiner et réduire d’importants ensembles de données dans des formats utiles, ou à coordonner des analyses en plusieurs étapes et les flux de travail d’apprentissage machine
    • L’automatisation DevOps et IT : permet de construire des outils pour une intégration et un déploiement continu, ou de créer des applications commandées par les événements qui répondent automatiquement aux modifications de l’infrastructure
    • E-commerce : automatise des processus métier critiques, notamment le traitement des commandes et le suivi d'inventaire
    • Applications Web : met en œuvre des processus d’enregistrement utilisateur solides et l’authentification à la connexion

    Pour plus de détails, consultez les cas d’utilisation et les témoignages client d’AWS Step Functions.

  • Comment fonctionne AWS Step Functions ?

    Avec AWS Step Functions, vous pouvez définir des machines d’état décrivant votre flux de travail comme une suite d’opérations, les relations existant entre ces dernières et leur entrées et sorties. Les machines d’état contiennent un certain nombre d’états, chacun représentant une étape individuelle dans un diagramme de flux de travail. Les états peuvent effectuer des tâches, faire des choix, transmettre des paramètres, initier une exécution parallèle, gérer les arrêts ou exécuter des flux de travail avec une réussite ou des échecs. La console visuelle trace automatiquement le graphique de chaque étape dans l'ordre de son exécution, ce qui facilite la conception d'applications en plusieurs étapes. La console met en surbrillance le statut de chaque étape en temps réel et fournit un historique détaillé de chacune des exécutions. Pour plus d’informations, voir Fonctionnement de Step Functions Works dans le guide du développeur AWS Step Functions.

  • Comment AWS Step Functions se connecte t-il à mes ressources ?

    Vous pouvez configurer vos machines d’état pour exécuter le travail en utilisant des tâches d’activité et des tâches de service. Les tâches d’activité vous permettent d’affecter une opération spécifique de votre flux de travail à l’exécution du code ailleurs(connu sous le nom de programme exécutant). Un programme exécutant peut prendre la forme de n’importe quelle application qui peut établir une connexion HTTP hébergée n’importe où. Par exemple, les programmes peuvent s’exécuter sur une Instance Amazon EC2, sur un périphérique mobile, ou sur un serveur sur site. Le programme exécutant interroge Step Functions, prend les entrées de Step Functions, exécute la tâche en utilisant votre code, et renvoie un résultat. Comme les programmes exécutants demandent du travail, il est facile d’utiliser des programmes déployés derrière un pare-feu.

    Les tâches de service vous permettent de connecter une étape de votre flux de travail dans un service AWS pris en charge. Step Functions génère des requêtes pour d’autres services afin qu’ils exécutent des opérations de votre flux de travail, attend la fin des tâches de service et passe à l’opération suivante.

    Une machine d’état AWS Step Functions peut contenir différentes combinaisons de tâches d’activité et tâches de service. Les applications d'AWS Step Functions peuvent combiner les programmes exécutants dans le centre de données avec des tâches de service s’exécutant dans le cloud. Les programmes exécutants du centre de données continuent de s'exécuter normalement, parallèlement aux nouveaux programmes exécutants dans le cloud.

  • Comment puis-je démarrer avec AWS Step Functions ?

    Il existe plusieurs manières de démarrer avec AWS Step Functions :

  • Quel est le langage utilisé par AWS Step Functions ?

    Les machines d’état AWS Step Functions sont définies dans JSON à l’aide du langage Amazon States Language déclaratif. Vous pouvez utiliser n'importe quel langage de programmation pour rédiger un programme exécutant aussi longtemps que vous pouvez communiquer avec AWS Step Functions à l'aide d'API de service Web. Pour plus de commodité, vous pouvez choisir d'utiliser un kit SDK AWS dans le langage de votre choix. AWS Lambda prend en charge les programmes écrits en Node.js (JavaScript), Python, Golang (Go), et C# (en utilisant le code d’exécution .NET Core et d’autres langages). Pour plus d’informations sur le modèle de programmation Lambda, voir le Guide du développeur Lambda AWS.

Comparaisons

  • Dans quels cas utiliser AWS Step Functions plutôt que Amazon SQS ?

    Vous devez envisager d’utiliser AWS Step Functions lorsque vous avez besoin de coordonner des composants de service pour développer des applications hautement évolutives et contrôlables. Vous devez envisager d'utiliser Amazon Simple Queue Service(Amazon SQS) lorsque vous avez besoin d'une file d'attente hébergée fiable et hautement évolutive pour l'envoi, le stockage et la réception de messages entre services. Step Functions garde une trace de l'ensemble des tâches et événements d'une application. Amazon SQS nécessite que vous assuriez vous-même le suivi par application, en particulier si votre application utilise plusieurs files d'attente. La console Step Functions et les API de visibilité offrent une vue orientée application qui vous permet notamment de rechercher ou administrer des exécutions ou d'analyser en détail une exécution donnée. Amazon SQS nécessite que vous implémentiez vous-même ces fonctionnalités supplémentaires. Step Functions propose plusieurs fonctionnalités qui facilitent le développement d'applications, comme la transmission de données entre les tâches ou la flexibilité en matière de distribution des tâches. Amazon SQS nécessite que vous implémentiez vous-même diverses fonctionnalités au niveau des applications. Bien que vous puissiez utiliser Amazon SQS pour développer des flux de travail de base visant à coordonner votre application distribuée, Step Functions vous propose cette fonctionnalité clé en main, ainsi que d'autres capacités au niveau de l'application.

  • Dans quels cas utiliser AWS Step Functions plutôt que Amazon Simple Workflow Service (SWF) ?

    Vous devez envisager d'utiliser AWS Step Functions pour toutes vos nouvelles applications. Ce service offre en effet une approche plus productive et plus agile pour la coordination des composants d'application à l'aide de flux de travail visuels. Si vous avez besoin que des signaux externes interviennent dans vos processus ou si vous souhaitez lancer des processus enfants qui renvoient un résultat à un parent, vous devriez plutôt envisager d'utiliser Amazon Simple Workflow Service (Amazon SWF). Avec Amazon SWF, au lieu d'écrire des machines à états en JSON déclaratif, vous écrivez un programme décideur pour séparer les étapes d'activité des étapes de décision. Vous maîtrisez ainsi entièrement votre logique d'orchestration, mais le développement des applications est plus complexe. Vous pouvez écrire des programmes décideurs dans le langage de programmation de votre choix ou vous appuyer sur le framework Flow pour utiliser des structures de programmation qui organisent les interactions asynchrones pour vous.

Intégration

  • Comment AWS Step Functions se connecte-t-il et fonctionne-t-il avec les autres services AWS ?

    Les flux de travail que vous créez avec AWS Step Functions peuvent connecter et coordonner d’autres services AWS à l’aide de tâches de service. Par exemple, vous pouvez :

    • Appeler une fonction AWS Lambda
    • Exécuter un service Amazon Elastic Container Service ou une tâche AWS Fargate
    • Obtenir un élément existant de la table Amazon DynamoDB ou placer un nouvel élément dans un tableau DynamoDB
    • Soumettre une tâche par lots AWS et attendre qu’elle soit achevée
    • Publier un message sur une rubrique Amazon SNS
    • Envoyer un message à une file d’attente Amazon SQS
    • Lancer l’exécution d’une tâche AWS Glue
    • Créer une tâche Amazon SageMaker pour entraîner un module d’apprentissage machine ou transformer un ensemble de données par lots

    Pour en savoir plus sur l’utilisation de Step Functions pour la connexion à d’autres services AWS, consultez le guide du développeur Step Functions. Vous pouvez également créer dans des machines d’état des tâches exécutant des applications, voir les questions fréquentes (FAQ) dans la section Présentation, Comment connecter AWS Step Functions à mes ressources ?

  • Comment le service AWS Step Functions fonctionne-t-il avec Amazon API Gateway ?

    Vous pouvez associer vos API Step Functions avec Amazon API Gateway de sorte que ces API appellent vos machines d’état au moment où une requête HTTPS est envoyée à une méthode d’API que vous définissez. Vous pouvez utiliser Amazon API Gateway pour démarrer des machines d’état Step Functions qui coordonne les composants d’une application backend distribuée, et intégrer des tâches d’activité humaine parmi les opérations d’application telles que les demandes d’approbation et leurs réponses. Vous pouvez également effectuer des appels asynchrones sans serveur vers les API des services que votre application utilise. Pour plus d’informations, essayez notre didacticiel Création d’une API Step Functions à l’aide d’API Gateway.

  • Comment la journalisation et la surveillance fonctionnent-elles pour AWS Step Functions ?

    AWS Step Functions envoie des mesures à Amazon CloudWatch et AWS CloudTrail pour la surveillance d’application. Amazon CloudWatch collecte et assure le suivi des mesures, définit des alarmes et réagit automatiquement aux modifications apportées à AWS Step Functions. AWS CloudTrail capture tous les appels d’API Step Functions comme des événements, et notamment les appels de la console Step Functions console et des appels de code pour les API Step Functions. Step Functions prend également en charge ;les règles gérées Amazon CloudWatch Events pour chaque service intégré de votre flux de travail, et peut créer et gérer des règles CloudWatch Events dans votre compte AWS selon les besoins. Pour plus d’informations, voir Surveillance et journalisation dans le guide du développeur AWS Step Functions.

Sécurité

Premiers pas avec AWS Step Functions

Visitez la page de démarrage
Prêt à vous lancer ?
S'inscrire à la console AWS Step Functions
D'autres questions ?
Contactez-nous