Découvrez les cas d'utilisation des flux de travail Step Functions - AWS Step Functions

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Découvrez les cas d'utilisation des flux de travail Step Functions

Vous pouvez ainsi créer des AWS Step Functions flux de travail qui gèrent l'état au fil du temps, prennent des décisions en fonction des données entrantes et gèrent les erreurs et les exceptions.

Traitement des données

À mesure que le volume de données provenant de sources diverses augmente, les entreprises doivent traiter leurs données plus rapidement afin de pouvoir prendre rapidement des décisions commerciales éclairées. Pour traiter les données à grande échelle, les entreprises doivent allouer des ressources de manière élastique pour gérer les informations qu'elles reçoivent des appareils mobiles, des applications, des satellites, du marketing et des ventes, des magasins de données opérationnelles, de l'infrastructure, etc.

Grâce à une mise à l'échelle horizontale et à des flux de travail tolérants aux pannes, Step Functions peut effectuer des millions d'exécutions simultanées. Vous pouvez traiter vos données plus rapidement grâce à des exécutions parallèles avec État du flux de travail parallèle state. Vous pouvez également utiliser le parallélisme dynamique de l'État du flux de travail cartographiqueétat pour itérer sur de grands ensembles de données dans des magasins de données, tels que les compartiments Amazon S3. Step Functions permet également de réessayer les exécutions ayant échoué ou de choisir un chemin spécifique pour gérer les erreurs sans avoir à gérer des processus complexes de gestion des erreurs.

Step Functions s'intègre directement à d'autres services de traitement des données fournis par AWS notamment AWS Batchpour le traitement par lots, Amazon EMR pour le traitement des mégadonnées, AWS Gluepour la préparation des données, Athena pour l'analyse des données et AWS Lambdapour le calcul.

Voici quelques exemples des types de flux de travail de traitement des données que les clients utilisent Step Functions pour réaliser :

Traitement de fichiers, de vidéos et d'images

  • Prenez une collection de fichiers vidéo et convertissez-les en d'autres tailles ou résolutions adaptées à l'appareil sur lequel ils seront affichés, tel qu'un téléphone portable, un ordinateur portable ou un téléviseur.

  • Prenez une grande collection de photos téléchargées par les utilisateurs et convertissez-les en miniatures ou en images de différentes résolutions qui peuvent ensuite être affichées sur les sites Web des utilisateurs.

  • Prenez des données semi-structurées, telles qu'un CSV fichier, et combinez-les avec des données non structurées, telles qu'une facture, pour produire un rapport commercial envoyé chaque mois aux parties prenantes de l'entreprise.

  • Prenez les données d'observation de la Terre collectées par satellite, convertissez-les dans des formats qui s'alignent les uns sur les autres, puis ajoutez d'autres sources de données collectées sur Terre pour obtenir des informations supplémentaires.

  • Prenez les journaux de transport des différents modes de transport pour les produits et recherchez des optimisations à l'aide des simulations de Monte Carlo, puis renvoyez des rapports aux organisations et aux personnes qui comptent sur vous pour expédier leurs marchandises.

Coordonnez les tâches d'extraction, de transformation et de chargement (ETL) :

  • Combinez les enregistrements d'opportunités de vente avec les ensembles de données de mesures marketing en suivant une série d'étapes de préparation des données en utilisant AWS Glue et en produisant des rapports de business intelligence qui peuvent être utilisés dans l'ensemble de l'organisation.

  • Créez, démarrez et mettez fin à un EMR cluster Amazon pour le traitement des mégadonnées.

Charges de travail liées au traitement par lots et au calcul à haute performance (HPC) :

  • Créez un pipeline d'analyse secondaire en génomique qui transforme les séquences brutes du génome entier en appels de variants. Alignez les fichiers bruts sur une séquence de référence et appelez les variants d'une liste spécifiée de chromosomes à l'aide du parallélisme dynamique.

  • Améliorez l'efficacité de la production de votre prochain appareil mobile ou d'autres appareils électroniques en simulant différentes configurations à l'aide de différents composés électriques et chimiques. Procédez à un traitement par lots volumineux de vos charges de travail par le biais de diverses simulations afin d'obtenir une conception optimale.

Machine learning

L'apprentissage automatique permet aux entreprises d'analyser rapidement les données collectées afin d'identifier des modèles et de prendre des décisions avec une intervention humaine minimale. L'apprentissage automatique commence par un ensemble initial de données, connu sous le nom de données d'entraînement. Les données d'entraînement augmentent la précision des prédictions d'un modèle d'apprentissage automatique et constituent la base à partir de laquelle le modèle apprend. Une fois que le modèle formé est considéré comme suffisamment précis pour répondre aux besoins de l'entreprise, vous pouvez le déployer en production. Le projet de science des données AWS Step Functions sur Github est une bibliothèque open source qui fournit des flux de travail pour prétraiter les données, former puis publier vos modèles à l'aide d'Amazon et de Step SageMaker Functions.

Le prétraitement des ensembles de données existants est souvent la méthode utilisée par une organisation pour créer des données de formation. Cette méthode de prétraitement ajoute des informations, par exemple en étiquetant des objets dans une image, en annotant du texte ou en traitant du son. Pour prétraiter les données AWS Glue, vous pouvez utiliser ou créer une instance de bloc-notes qui s'exécute dans un SageMaker bloc-notes Jupyter. Une fois que vos données sont prêtes, elles peuvent être téléchargées sur Amazon S3 pour y accéder. Au fur et à mesure que les modèles d'apprentissage automatique sont entraînés, vous pouvez ajuster les paramètres de chaque modèle pour améliorer la précision.

Step Functions fournit un moyen d'orchestrer les flux de travail de end-to-end machine learning sur SageMaker. Ces flux de travail peuvent inclure le prétraitement des données, le post-traitement, l'ingénierie des fonctionnalités, la validation des données et l'évaluation des modèles. Une fois le modèle déployé en production, vous pouvez affiner et tester de nouvelles approches afin d'améliorer continuellement les résultats commerciaux. Vous pouvez créer des flux de travail prêts pour la production directement en Python, ou vous pouvez utiliser Step Functions Data Science SDK pour copier ce flux de travail, expérimenter de nouvelles options et mettre le flux de travail affiné en production.

Parmi les types de flux de travail de machine learning pour lesquels les clients utilisent Step Functions, citons :

Détection des fraudes

  • Identifiez et empêchez les transactions frauduleuses, telles que la fraude au crédit, de se produire.

  • Détectez et empêchez les prises de contrôle de comptes à l'aide de modèles d'apprentissage automatique entraînés.

  • Identifiez les abus promotionnels, y compris la création de faux comptes, afin de pouvoir agir rapidement.

Personnalisation et recommandations

  • Recommandez des produits à des clients ciblés en fonction de ce qui devrait susciter leur intérêt.

  • Prédisez si un client fera passer son compte d'un niveau gratuit à un abonnement payant.

Enrichissement des données

  • Utilisez l'enrichissement des données dans le cadre du prétraitement afin de fournir de meilleures données d'entraînement pour des modèles d'apprentissage automatique plus précis.

  • Annotez du texte et des extraits audio pour ajouter des informations syntaxiques, telles que le sarcasme et l'argot.

  • Étiquetez des objets supplémentaires dans les images pour fournir des informations essentielles dont le modèle pourra tirer des leçons, par exemple s'il s'agit d'une pomme, d'un ballon de basket, d'un rocher ou d'un animal.

Orchestration de microservices

Step Functions vous propose des options pour gérer vos flux de travail de microservices.

L'architecture des microservices divise les applications en services faiblement couplés. Les avantages incluent une évolutivité améliorée, une résilience accrue et des délais de commercialisation plus courts. Chaque microservice est indépendant, ce qui facilite la mise à l'échelle d'un service ou d'une fonction sans qu'il soit nécessaire de faire évoluer l'ensemble de l'application. Les services individuels sont peu couplés, de sorte que les équipes indépendantes peuvent se concentrer sur un seul processus métier, sans avoir à comprendre l'application dans son intégralité.

Les microservices fournissent également des composants individuels adaptés aux besoins de votre entreprise, vous offrant ainsi de la flexibilité sans avoir à réécrire l'intégralité de votre flux de travail. Les différentes équipes peuvent utiliser les langages de programmation et les frameworks de leur choix pour travailler avec leur microservice.

Pour les flux de travail de longue durée, vous pouvez utiliser des flux de travail standard AWS Fargate intégrés pour orchestrer les applications exécutées dans des conteneurs. Pour les flux de travail de courte durée et de volume élevé nécessitant une réponse immédiate, les flux de travail express synchrones sont idéaux. Les applications Web ou mobiles, qui nécessitent l'exécution d'une série d'étapes avant de renvoyer une réponse, en sont un exemple. Vous pouvez directement déclencher un flux de travail express synchrone depuis Amazon API Gateway, et la connexion reste ouverte jusqu'à ce que le flux de travail soit terminé ou qu'il expire. Pour les flux de travail de courte durée qui ne nécessitent pas de réponse immédiate, Step Functions propose des flux de travail express asynchrones.

Voici quelques exemples d'APIorchestrations utilisant Step Functions :

Flux de travail synchrones ou en temps réel

  • Modifiez une valeur dans un enregistrement, par exemple en mettant à jour le nom de famille d'un employé et en rendant la modification immédiatement visible.

  • Mettez à jour une commande lors du paiement, par exemple en ajoutant, en supprimant ou en modifiant la quantité d'un article, puis en présentant immédiatement le panier mis à jour à votre client.

  • Exécutez une tâche de traitement rapide et renvoyez immédiatement le résultat au demandeur.

Orchestration de conteneurs

  • Exécutez des tâches sur Kubernetes avec Amazon Elastic Kubernetes Service ou sur Amazon Elastic Container ECS Service () avec Fargate et intégrez-les à d'autres services, tels que l'envoi de notifications AWS avec Amazon, dans le cadre du même flux de travail. SNS

Automatisation de l'informatique et de la sécurité

Avec Step Functions, vous pouvez créer des flux de travail qui s'adaptent automatiquement et réagissent aux erreurs de votre flux de travail. Vos flux de travail peuvent réessayer automatiquement les tâches qui ont échoué et utiliser un délai d'attente exponentiel pour gérer les erreurs.

La gestion des erreurs est essentielle dans les scénarios d'automatisation informatique pour gérer des opérations complexes et chronophages, telles que la mise à niveau et l'application de correctifs logiciels, le déploiement de mises à jour de sécurité pour corriger les vulnérabilités, la sélection de l'infrastructure, la synchronisation des données et le routage des tickets d'assistance. En automatisant les tâches répétitives et chronophages, votre organisation peut effectuer des opérations de routine rapidement et de manière cohérente à grande échelle. Vous pouvez vous concentrer sur les efforts stratégiques tels que le développement de fonctionnalités, les demandes d'assistance complexes et l'innovation, tout en répondant à vos exigences opérationnelles.

Lorsqu'une intervention humaine est requise pour le déroulement du flux de travail, par exemple pour approuver une augmentation de crédit substantielle, vous pouvez définir une logique de branchement dans Step Functions, afin que les demandes inférieures à une limite soient automatiquement approuvées et que les demandes dépassant la limite nécessitent une approbation humaine. Lorsque l'approbation humaine est requise, Step Functions peut suspendre le flux de travail, attendre une réponse humaine, puis poursuivre le flux de travail après réception d'une réponse.

Voici quelques exemples de flux de travail automatisés :

Automatisation informatique

  • Corrigez automatiquement les incidents tels que l'ouverture de SSH ports, le manque d'espace disque ou l'accès public à un compartiment Amazon S3.

  • Automatisez le déploiement de AWS CloudFormation StackSets.

Automatisation de la sécurité

  • Automatisez la réponse à un scénario dans lequel un utilisateur et une clé d'accès utilisateur ont été exposés.

  • Corrigez automatiquement les réponses aux incidents de sécurité en fonction des actions politiques, telles que la limitation des actions à des actions spécifiques. ARNs

  • Avertissez les employés des e-mails de phishing dans les secondes qui suivent leur réception.

Approbation humaine

  • Automatisez la formation des modèles d'apprentissage automatique, puis obtenez l'approbation du modèle par un data scientist avant de déployer le modèle mis à jour.

  • Automatisez le routage des commentaires des clients en fonction de l'analyse des sentiments afin que les commentaires négatifs soient rapidement reportés pour examen.