FAQ sur AWS Cloud Development Kit

Questions d’ordre général

AWS Cloud Development Kit (AWS CDK) est un framework de développement de logiciels open source conçu pour définir l'infrastructure cloud en tant que code avec des langages de programmation modernes et pour être déployé via AWS CloudFormation.

Vous pouvez utiliser la Command Line Interface (CLI) AWS CDK pour interagir avec vos applications CDK. La CLI CDK vous permet de répertorier les piles définies dans votre application CDK, de synthétiser les piles dans les modèles CloudFormation, d'identifier les différences entre les instances de pile en cours d'exécution et les piles définies dans votre code CDK, ainsi que de déployer des piles dans n'importe quelle région AWS publique.

Utilisez le framework AWS CDK pour créer des projets AWS CDK qui sont exécutés pour générer des modèles CloudFormation. Les projets AWS CDK peuvent être exécutés à l'aide de la Command Line AWS CDK ou dans un système de livraison continue.

Le meilleur moyen de démarrer avec AWS CDK est de travailler à partir de la section Mise en route du guide du développeur AWS CDK. En quelques minutes, vous pouvez définir et déployer votre première application AWS CDK. Pour obtenir un didacticiel détaillé, consultez la page https://CDKworkshop.com.

Oui, vous trouverez un certain nombre d'exemples AWS CDK, avec différents langages de programmation, sur la page https://github.com/aws-samples/aws-cdk-examples. Le guide du développeur AWS inclut également certains exemples : https://docs.aws.amazon.com/cdk/latest/guide/examples.html.

AWS construit la logique métier des packages AWS Construct Library dans TypeScript et fournit des mappages dans chacun des langages de programmation pris en charge. Cela nous assure que le comportement des constructions AWS CDK correspond à un langage cohérent, permettant un ensemble complet de packages de construction disponibles dans tous les langages. Le code que vous écrivez dans votre projet AWS CDK est entièrement natif dans le langage de programmation de votre choix, et l'exécution JavaScript est un détail de mise en œuvre dans votre expérience de programmation. Vous pouvez vous référer au projet jsii disponible sur la page https://github.com/aws/jsii.

Le code AWS CDK est disponible en open source sur le site web de GitHub à l'adresse https://github.com/awslabs/aws-cdk.

Pour procéder à la migration de votre application sur AWS CDK v2, mettez tout d'abord les indicateurs de fonction à jour dans cdk.json. Ensuite, mettez les dépendances et les importations de votre application à jour comme requis par son langage de programmation. Pour en savoir plus, consultez la page https://docs.aws.amazon.com/cdk/latest/guide/work-with-cdk-v2.html

Nous développons AWS CDK en open source et nous souhaitons la bienvenue à toute personne qui souhaite contribuer à notre base de code. Pour en savoir plus, consultez la page https://github.com/awslabs/aws-cdk/blob/master/CONTRIBUTING.md.

AWS CDK est généralement disponible en JavaScript, TypeScript et Python, avec Java et C# (en version préliminaire pour les développeurs). Nous envisageons des liaisons AWS CDK pour d'autres langages à l'avenir. Votez pour votre langage préféré sur GitHub.

AWS CDK peut être utilisé pour définir et déployer des ressources AWS dans toutes les régions publiques. Étant donné qu’AWS CDK utilise le service CloudFormation, reportez-vous aux produits et services régionaux pour en savoir plus sur la disponibilité de ressources spécifiques par région AWS.

AWS CDK s'appuyant sur CloudFormation, les applications AWS CDK sont soumises aux mêmes limites que celles imposées par le service CloudFormation.

AWS Solutions Constructs est une extension de bibliothèque open source d’AWS CDK. AWS Solutions Constructs vous fournit un ensemble de modèles d'architectures multiservices approuvés conçus suivant les bonnes pratiques de l'AWS Well-Architected Framework. L'installation d'AWS CDK constitue une condition préalable requise par les structures de solutions AWS. Pour obtenir des instructions sur la manière d'ajouter AWS Solutions Constructs à votre environnement AWS CDK, veuillez consulter notre guide de développement.

AWS Construct Library

Les constructions AWS CDK sont livrées via AWS Construct Library et sont des abstractions de la logique d'infrastructure cloud incluses pour être réutilisées. Les constructions peuvent être définies en local ou publiées sur des gestionnaires de packages tels que npm, Maven, NuGet ou PyPI pour être partagées entre les différentes organisations.

Nous couvrons de nombreux services et fonctionnalités AWS courants avec des constructions riches et de haut niveau, ainsi que l'ensemble des ressources CloudFormation de niveau inférieur, y compris les nouvelles ressources peu de temps après leur mise à disposition. Nous faisons le nécessaire pour conserver AWS Construct Library à jour en générant automatiquement les API au niveau des ressources chaque fois que la spécification CloudFormation change. En plus de ces API générées automatiquement, nous proposons des abstractions artisanales et de niveau supérieur qui simplifient encore davantage l'utilisation de chaque service. Cette abstraction de haut niveau et pratique n'est pas encore disponible pour tous les services AWS, mais nous ajoutons constamment de nouvelles fonctionnalités, en mettant l'accent sur les services les plus utilisés dans les applications cloud modernes. Consultez la documentation de référence sur les API AWS Construct Library pour en savoir plus.

Nous synchronisons AWS Construct Library avec la spécification de ressources CloudFormation en ajoutant de nouvelles fonctionnalités CloudFormation à AWS CDK peu de temps après leur publication.

Les bibliothèques de constructions AWS CDK fonctionnent comme n'importe quelle autre bibliothèque. Elles sont utilisées via le gestionnaire de packages du langage de programmation que vous utilisez. Conserver ces bibliothèques à jour fait partie de votre flux de travail standard. Tous les packages prennent en charge la gestion sémantique de version, vous permettant ainsi de choisir en connaissance de cause le moment adéquat pour migrer vers de nouveaux modèles d'infrastructure.

CloudFormation et SAM

Voyez AWS CDK comme une boîte à outils axée sur le développeur, qui tire parti de la pleine puissance des langages de programmation modernes pour définir votre infrastructure AWS comme code. Lorsque des applications AWS CDK sont exécutées, elles se compilent en modèles CloudFormation JSON/YAML entièrement formés, qui sont ensuite soumis au service CloudFormation pour être mis en service. AWS CDK exploitant CloudFormation, vous bénéficiez toujours de tous les avantages offerts par CloudFormation, tels que le déploiement sécurisé, la restauration automatique et la détection de dérive.

AWS Serverless Application Model et AWS CDK extraient tous deux l'infrastructure AWS en tant que code, vous facilitant ainsi la définition de votre infrastructure cloud. AWS SAM se concentre spécifiquement sur les cas d'utilisation et les architectures sans serveur et vous permet de définir votre infrastructure selon des modèles JSON/YAML déclaratifs et compacts. AWS CDK offre une large couverture de l'ensemble des services AWS et vous permet de définir une infrastructure cloud dans des langages de programmation modernes tels que TypeScript, Python, C# et Java. AWS SAM et AWS CDK exploitent CloudFormation en tant que moteur de provisionnement pour vos piles d'infrastructure. Si vous préférez définir votre infrastructure sans serveur dans des modèles déclaratifs concis, SAM est la solution idéale. Si vous souhaitez définir votre infrastructure AWS dans un langage de programmation familier, nous vous recommandons d'essayer AWS CDK. Dans les deux cas, vous pouvez compter sur un déploiement d'infrastructure sûr et reproductible via CloudFormation.

Oui, vous pouvez synthétiser localement votre application AWS CDK dans un modèle CloudFormation, puis référencer l'ID du gestionnaire AWS Lambda généré dans la CLI SAM. Consultez la section de la CLI SAM du guide du développeur CDK pour plus d'informations.

Coût

AWS CDK est distribué sous la licence Apache version 2.0. Consultez la documentation LICENCE et AVIS pour plus d'informations.

AWS CDK est disponible sans frais supplémentaires. Vous payez pour les ressources AWS (telles que les instances Amazon EC2, les équilibreurs de charge Elastic Load Balancing) créées à l'aide d'AWS CDK de la même manière que si vous les aviez créées manuellement. Vous payez uniquement ce que vous utilisez et en fonction de votre consommation ; il n'y a pas de frais minimums et aucun engagement initial n'est requis.