Passer

AWS Step Functions : Ce que c’est, à qui cela sert et pourquoi cela fonctionne

Qu’est-ce que AWS Step Functions ?

AWS Step Functions est un service cloud qui permet aux développeurs de créer des workflows pour les processus critiques de l’entreprise, à l’aide d’une console visuelle de type « glisser-déposer ». Il est conçu pour aider les organisations à intégrer plusieurs services AWS tout en leur permettant de gérer chaque composant microservice de manière indépendante. En d’autres termes, à mesure que votre entreprise évolue, AWS Step Functions facilite la création et l’évolution des processus sans avoir à recoder l’ensemble de l’application, ligne par ligne, et sans risquer de compromettre l’intégrité de l’ensemble de l’application. 

Mais avant d’en parler en détail, revenons en arrière et abordons quelques notions de base.

À quoi sert AWS Step Functions ?

Supposons que vous dirigez une institution financière ou une chaîne de vente au détail. Pensez à tous les processus transactionnels nécessaires pour fournir des services à la fois en interne et à vos clients.

À première vue, le traitement des demandes, des réservations, des commandes de stock ou des transactions de vente semble simple, mais ces fonctions en apparence simples impliquent une orchestration complexe d’événements, ou d’étapes.

Ces événements peuvent impliquer une saisie des utilisateurs, une écriture dans une base de données, une extraction de données à partir d’une base de données, l’utilisation de la logique pour déterminer la prochaine étape, la répétition d’une étape en cas d’échec, et ainsi de suite. Dans AWS, nous pouvons regrouper ces événements en petits services indépendants – appelés microservices – et construire des workflows pour eux dans la console AWS Step Functions.

Étant donné que la création de ces services de manière traditionnelle peut devenir compliquée, le premier argument de vente d’AWS Step Functions est le « Workflow Studio » à faible code (Figure 1).

Figure 1. AWS Step Functions Workflow Studio. Source: Amazon Web Services, 2022

Cette console visuelle permet aux développeurs de voir le flux de travail de l’application qu’ils construisent ou mettent à jour. Ils peuvent déplacer, modifier et diagnostiquer des parties du flux de travail à l’aide de l’interface utilisateur graphique (GUI) plutôt que de plonger directement dans le code.

Quand utiliser AWS Step Functions ?

Si votre entreprise utilise plusieurs services AWS, vous pouvez utiliser AWS Step Functions pour les coordonner. 

Ce générateur de flux de travail similaire à une console facilite la création et la mise à jour d’applications utilisant divers services AWS pour toute personne familière avec l’environnement AWS. C’est là qu’intervient souvent AWS Lambda.

Quel est le lien entre AWS Step Functions et AWS Lambda ?

Lambda est le service informatique sans serveur d’AWS. Il vous permet d’exécuter du code pour presque n’importe quelle application ou service backend, à condition que vous « fournissiez votre code dans l’un des langages pris en charge par Lambda ».

Lorsque vous utilisez AWS Step Functions pour concevoir un flux de travail piloté par événements (également appelé machine à états), certains de ces « états » exécutent une unité de travail provenant d’un autre service AWS. En effet, AWS Lambda est l’un de ces services et il est largement utilisé. Vous pouvez faire appel à une fonction Lambda sous la forme d’un état de type Tâche et l’intégrer à votre flux de travail. 

Les étapes de AWS Step Functions sont-elles entièrement automatisées ?

Elles peuvent l’être si vous en avez besoin, mais elles ne sont pas obligatoires.

Vous pouvez inclure des étapes manuelles dans votre flux de travail. Par exemple, vous pourriez vouloir que votre flux de travail déclenche une approbation manuelle dans le cadre du processus. Vous pouvez concevoir le flux de travail pour qu’il fasse une pause pendant une certaine tâche et permettre de poursuivre seulement après que la personne ait donné son approbation.

Vous pouvez donc concevoir à peu près n’importe quel type de flux de travail dont vous avez besoin.

Quels sont les principaux avantages d’AWS Step Functions ?

Alors que certaines entreprises ont encore des hésitations, telles que (1) le langage propriétaire d’Amazon, States Language (qui est basé sur JSON, soit dit en passant), (2) être verrouillé avec un fournisseur, ou (3) se demander s’il est sage de découpler la logique métier de la logique de flux de travail (c’est-à-dire en impliquant éventuellement des personnes qui ne sont pas des experts en codage), les avantages d’AWS, et plus particulièrement d’AWS Step Functions, sont bien supérieurs à ceux-ci.

Voici la liste des avantages :

  • Visuel : la console visuelle facilite la conception et la mise à jour de vos workflows. Vous pouvez glisser-déposer et déplacer les composants. Vous pouvez naviguer entre la vue graphique, la vue tableau et la vue événement pour repérer facilement les erreurs.
  • Low-code : La nature « low-code » est liée à l’aspect visuel de la console. Le constructeur a été conçu dans une optique d’intégration, de sorte qu’il se charge d’une grande partie du fardeau que représente l’écriture du code d’intégration. Il aide les développeurs à se concentrer sur l’optimisation de la logique métier complexe sans se perdre dans les méandres du codage.
  • Rapidité de création et de déploiement : Les avantages combinés de l’aspect visuel et du low-code vous permettent également de créer et de déployer rapidement ces workflows d’entreprise. C’est une excellente chose, car lorsque les besoins de votre organisation ou de vos clients évoluent, vous pouvez mettre à jour votre machine d’état tout aussi rapidement et ajouter plus de complexité si nécessaire – sans que vos mises à jour soient compliquées et sujettes aux erreurs !
  • Évolutif : La nature d’AWS est de faire évoluer vos processus automatiquement. Au fur et à mesure que vos charges de travail augmentent, AWS Step Functions s’adapte automatiquement.
  • Gestion intégrée des erreurs : La fonctionnalité de reprise intégrée d’AWS Step Functions gère automatiquement les erreurs et les exceptions. Vous pouvez la configurer de manière à ce qu’elle réponde différemment aux différents types d’erreurs et à ce qu’elle soit basée sur le temps ou les événements.
  • Réduction des coûts : De nombreuses entreprises ont économisé d’importantes sommes d’argent en transférant leurs processus critiques sur AWS. Les Step Functions sont facturées à l’utilisation, en fonction du nombre de « transitions d’état ». Le niveau gratuit en permet 4 000.
  • Observabilité : AWS Step Functions offre l’observabilité, ce qui est une excellente chose car celle-ci devient de plus en plus importante dans le paysage technologique. La console visuelle permet aux développeurs de regarder facilement les détails du code. Ils peuvent résoudre les problèmes sans avoir à parcourir des lignes et des lignes de code interminables et à réessayer manuellement. La vue Graphique (figure 2) de la console « affiche les états qui ont réussi, échoué ou qui sont actuellement dans les programmes, ainsi que toutes les erreurs qui ont été découvertes« .
  • Libère les ressources de votre entreprise : En supprimant la nécessité d’un logiciel sur site, AWS Step Functions réduit les coûts informatiques, le temps de construction, l’intégration des ingénieurs, la maintenance de l’infrastructure. Tout ceci en augmentant la capacité à traiter des transactions volumineuses de manière plus rapide, plus fiable et moins coûteuse.
Figure 2. « Vue graphique » dans la console visuelle AWS Step Functions. L’erreur est codée en orange pour faciliter sa localisation et son dépannage. Source : Amazon Web Services : Amazon Web Services, 2022,

Qui utilise AWS Step Functions ? Donnez-moi quelques cas d’utilisation ou exemples.

Depuis ses débuts en 2016, AWS Step Functions a trouvé sa place dans de nombreux secteurs d’activité. Les cas d’utilisation de Step Functions sont innombrables car vous pouvez l’utiliser pour des processus métier simultanés ou non.

Les grandes entreprises avec des modèles commerciaux traditionnels (comme Liberty Mutual) ainsi que les petites entreprises innovantes (comme Freebird) peuvent tirer parti de Step Functions. Les plateformes d’échange de crypto-monnaies, dont Coinbase, les ont également mises en œuvre. Qu’il s’agisse de traiter une augmentation de limite de crédit ou de suivre les récompenses des utilisateurs, les Step Functions peuvent faire le travail.

  • Technologies de l’information, services et logiciels informatiques : Ce secteur constitue toujours le segment le plus important des organisations qui utilisent les Step Functions. La surveillance des réseaux en est un exemple parmi d’autres, comme celui de l’entreprise Paessler AG.
  • Vente au détail : Par exemple, Zalora, l’un des principaux détaillants de mode en ligne en Asie, a utilisé les Step Functions dans le cadre de l’actualisation de son système d’application et de ses produits de traitement des données (SAP). En effet, le traitement des données étant crucial pour toute entreprise en croissance, l’intégration, les évolutions et l’automatisation de ces processus d’une manière sans serveur offrent la bonne combinaison d’avantages.
  • Services financiers et d’assurance : Les institutions financières et les compagnies d’assurance traitent une grande quantité de données et fournissent toutes sortes de services de compte à leurs clients. De la validation des comptes aux demandes d’augmentation des limites de crédit en passant par les déclarations de sinistre, ces processus volumineux sont propices à la migration vers le cloud et, bien sûr, à l’intégration par le biais de Step Functions. 
  • Enseignement supérieur : Les établissements d’enseignement supérieur et les universités ont modernisé leurs opérations administratives et leurs systèmes d’information sur les étudiants. Pour ce faire, nombre d’entre eux migrent vers l’infrastructure AWS Cloud.  Comme ils auront eux aussi plusieurs services AWS, ils utilisent Step Functions pour les coordonner. AWS « peut soutenir l’enseignement et l’apprentissage, connecter la communauté du campus, prendre des décisions basées sur des données pour économiser de l’argent et des ressources, et accélérer les efforts de recherche« . 
  • Produits pharmaceutiques : Janssen Pharmaceuticals est un exemple remarquable de la façon dont les entreprises pharmaceutiques peuvent tirer parti de la science des données et de l’apprentissage automatique pour mieux comprendre l’expérience de leurs patients. Janssen a parallélisé la préparation des données et l’a orchestrée à l’aide d’AWS Glue et d’AWS Step Functions.
  • Automobile : Cox Automotive Inc. a utilisé Amazon SageMaker (un service d’apprentissage automatique entièrement géré) et AWS Step Functions pour automatiser le déploiement des modèles. Cela leur a permis d’intégrer le marketing digital à la science des données tout en créant un workflow efficace et précis.
  • Télécommunications : Step Functions peut être utilisé en conjonction avec Magma, une solution de réseau central mobile open-source. Magma prend en charge les technologies LTE, 5G et Wi-Fi, ainsi que d’autres technologies radio, avec des cas d’utilisation dans les réseaux privés mobiles, l’accès sans fil fixe, etc. AWS Step Functions peut donc être utilisé pour orchestrer les processus de déploiement de Magma.

AWS Step Functions et le Devoteam TechRadar

Cet article fait partie d’une série plus vaste centrée sur les technologies et les thèmes abordés dans la première édition du TechRadar de Devoteam. Pour savoir ce que notre communauté de leaders technologiques a exprimé au sujet de la position actuelle de AWS Step Functions sur le marché, téléchargez  l’édition la plus récente du TechRadar de Devoteam.

Vous voulez en savoir plus sur AWS Step Functions ?

Consultez notre TechRadar pour connaître l’avis de nos experts sur sa viabilité sur le marché.