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
-
Pour en savoir plus sur AWS les DevOps pratiques en DevOps matière de AWS
-
Pour plus d'informations sur l'utilisation de Lambda avec différents outils IaC, voir Utilisation de Lambda avec une infrastructure en tant que code (iAc)