Fonctions durables ou Step Functions - AWS Lambda

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é.