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.
Fonctions durables ou Step Functions
Lambda est à la fois durable et AWS Step Functions permet une orchestration fiable des flux de travail avec gestion automatique des états et reprise en cas de panne. Ils répondent aux préférences des développeurs et à des modèles architecturaux différents. Les fonctions durables sont optimisées pour le développement d'applications dans Lambda, tandis que Step Functions est conçu pour l'orchestration des flux de travail entre les services. AWS
Quand utiliser des fonctions durables
Utilisez des fonctions durables lorsque :
Votre équipe préfère les langages de programmation standard et les outils de développement familiers
La logique de votre application réside principalement dans les fonctions Lambda
Vous voulez un contrôle précis de l'état d'exécution du code
Vous créez des applications centrées sur Lambda avec un lien étroit entre le flux de travail et la logique métier
Vous souhaitez itérer rapidement sans passer du code aux concepteurs visual/JSON
Quand utiliser Step Functions
Utilisez Step Functions lorsque :
Vous avez besoin d'une représentation visuelle du flux de travail pour une visibilité entre les équipes
Vous orchestrez plusieurs AWS services et souhaitez des intégrations natives sans code SDK personnalisé
Vous avez besoin d'une infrastructure ne nécessitant aucune maintenance (pas de correctifs, de mises à jour d'exécution)
Les parties prenantes non techniques doivent comprendre et valider la logique du flux de travail
Cadre décisionnel
Posez-vous les questions suivantes pour déterminer quel service correspond à votre cas d'utilisation :
-
Quel est votre objectif principal ? Développement d'applications dans Lambda → fonctions durables. Orchestration du flux de travail dans AWS → Step Functions.
-
Quel est votre modèle de programmation préféré ? Langages de programmation standard → fonctions durables. DSL ou concepteur visuel basé sur des graphiques → Step Functions.
-
Combien de AWS services sont concernés ? Lambda → fonctions durables principalement. AWS Services multiples → Step Functions.
-
Quels outils de développement utilisez-vous ? Expérience de développeur Lambda, IDE avec agent LLM, frameworks de tests unitaires spécifiques au langage de programmation,, AWS SAM AWS CDK, AWS Toolkit → fonctions durables. Générateur de flux de travail visuel, AWS CDK pour modéliser les flux de travail → Step Functions.
-
Qui gère l'infrastructure ? Vous recherchez de la flexibilité au sein de Lambda → des fonctions durables. Vous voulez une gestion complète, sans maintenance → Step Functions.
Comparaison des fonctionnalités
Le tableau suivant compare les principales fonctionnalités entre Step Functions et les fonctions durables Lambda :
| Fonctionnalité | AWS Step Functions | Fonctions durables Lambda |
|---|---|---|
| Objectif principal | Orchestration du flux de travail à travers AWS | Développement d'applications dans Lambda |
| Type de service | Service de flux de travail autonome et dédié | Fonctionne dans Lambda |
| Modèle de programmation | Basé sur des graphiques, Amazon States Language DSL ou AWS CDK | Langages de programmation standard (JavaScript/TypeScript, Python) |
| Outils de développement | Générateur visuel dans l'extension IDE AWS Console/Toolkit, AWS CDK | Lambda DX dans les agents IDE et LLM, les frameworks de tests unitaires, l'extension IDE du Toolkit AWS SAM AWS |
| Intégrations | Plus de 220 AWS services, 16 000 APIs | Extension du modèle de programmation piloté par les événements Lambda (sources d'événements) |
| Gestion | Entièrement géré, indépendant du temps d'exécution, aucune maintenance (pas de correctifs, de mises à jour d'exécution) | Géré dans l'environnement Lambda |
| Idéal pour | Automatisation des processus métier et informatique, traitement des données, flux de travail basés sur l'IA | Transactions distribuées, logique d'application dynamique, orchestration des fonctions, traitement des données, flux de travail basés sur l'IA |
Architectures hybrides
De nombreuses applications bénéficient de l'utilisation de ces deux services. Un modèle courant consiste à utiliser des fonctions durables pour la logique au niveau de l'application dans Lambda, tandis que Step Functions coordonne les flux de travail de haut niveau entre plusieurs services AWS au-delà des fonctions Lambda.
Considérations concernant la migration
Commencer par un processus simple et évolutif : commencez par des fonctions durables pour les flux de travail centrés sur Lambda. Ajoutez Step Functions lorsque vous avez besoin d'une orchestration multiservice ou d'une conception visuelle du flux de travail.
Utilisateurs existants de Step Functions : conservez Step Functions pour les flux de travail interservices établis. Envisagez des fonctions durables pour la nouvelle logique d'application Lambda qui a besoin de fiabilité.