Infrastructure en tant que code (IaC) - AWS Serverless Application Model

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.

Infrastructure en tant que code (IaC)

Avec l'infrastructure en tant que code (IaC), vous pouvez automatiser le déploiement et la gestion de vos AWS ressources, y compris les applications sans serveur. IaC vous permet de définir votre infrastructure à l'aide de code, ce qui facilite la création de versions, le partage et la réplication de vos déploiements. Cette approche vous permet de :

  • Accélérez votre cycle de développement

  • Simplifier la gestion des configurations

  • Améliorez la fiabilité et la cohérence de vos déploiements

Outils IaC pour les AWS applications sans serveur

AWS propose plusieurs outils IaC pour vous aider à créer, déployer et gérer vos ressources cloud. Cette section explique comment AWS SAM s'intègre à cet écosystème et fonctionne avec d'autres outils AWS IaC.

AWS CloudFormation

À l'aide de modèles YAML ou JSON AWS CloudFormation, vous pouvez modéliser et approvisionner l'ensemble de votre AWS infrastructure. AWS CloudFormation gère automatiquement la création, la mise à jour et la suppression des ressources. Lorsque vous déployez AWS SAM des applications, AWS CloudFormation traitez les modèles transformés pour créer et gérer vos ressources.

AWS Serverless Application Model (AWS SAM)

AWS SAM vous aide à créer des applications sans serveur avec une syntaxe simplifiée pour définir les ressources sans serveur. Vous pouvez utiliser des AWS SAM modèles pour configurer des fonctions Lambda APIs, des bases de données et des sources d'événements à l'aide d'une syntaxe YAML concise. AWS SAM transforme ces modèles en AWS CloudFormation modèles lors du déploiement.

Note

Bien que vous soyez AWS SAM spécialisé dans les applications sans serveur, vous pouvez utiliser tous les types de AWS CloudFormation ressources dans vos AWS SAM modèles. Cela vous donne la flexibilité d'inclure des ressources non sans serveur en cas de besoin.

AWS Kit de développement Cloud (AWS CDK)

Avec AWS CDK, vous pouvez définir votre infrastructure sans serveur à l'aide de langages de programmation courants tels que Python TypeScript, Java, C#/.Net ou Go. Vous pouvez utiliser des structures de programmation telles que des boucles et des conditions pour définir votre infrastructure et AWS CDK générer des AWS CloudFormation modèles pour le déploiement. Vous pouvez utiliser le AWS SAMCLI pour tester et déboguer localement les applications créées avec AWS CDK. Pour en savoir plus, consultez Tester les applications CDK localement.

Comparaison des outils IaC pour les applications sans serveur

Lorsque vous choisissez un outil IaC pour vos applications sans serveur, tenez compte des préférences de votre équipe, des exigences du projet et des flux de travail existants. Le tableau suivant compare les principales caractéristiques des outils AWS IaC pour le développement sans serveur :

Outil

Utilisation principale

Idéal pour

Fonctionne avec AWS SAM

Quand choisir

AWS CloudFormation

Gestion d'une AWS infrastructure complexe

Applications nécessitant un contrôle détaillé des AWS ressources

AWS SAM les modèles se transforment en AWS CloudFormation modèles lors du déploiement

Pour un contrôle précis des ressources non sans serveur

AWS SAM

Développement d'applications sans serveur

Équipes développant des applications sans serveur à l'aide de Lambda

Fonctionnalité native

Lorsque vous vous concentrez principalement sur des architectures sans serveur dotées de fonctions Lambda, d'API APIs Gateway et d'autres ressources sans serveur

AWS CDK

Définition d'infrastructures à l'aide de langages de programmation

Équipes privilégiant les langages dactylographiés et l'approche axée sur le code

Générer des AWS SAM modèles et les utiliser AWS SAMCLI pour les tests

Lorsque vous avez besoin d'une définition d'infrastructure programmatique ou d'une logique de configuration de ressources complexe

Note

Bien que ce guide se concentre sur les outils iAc AWS natifs, Terraform est une autre solution IaC populaire qui peut être utilisée pour définir des applications sans serveur. Il AWS SAMCLI prend en charge les tests locaux des fonctions Lambda définies dans Terraform. Pour de plus amples informations, veuillez consulter Prise en charge de Terraform par la CLI AWS SAM.

En savoir plus