El AWS Cloud Development Kit ( AWS CDK ) es un marco de desarrollo de software de código abierto [ 1 ] desarrollado por Amazon Web Services (AWS) para definir y aprovisionar recursos de infraestructura en la nube utilizando lenguajes de programación conocidos. [ 2 ] El AWS CDK tiene como objetivo mejorar la experiencia de trabajar con Infraestructura como Código al proporcionar construcciones reutilizables de nivel superior que permiten a los desarrolladores crear y administrar recursos de AWS de manera más eficiente y con menos código repetitivo en comparación con los archivos de configuración tradicionales como las plantillas de AWS CloudFormation . [ 3 ]
Descripción general
AWS CDK [ 4 ] permite a los desarrolladores modelar y aprovisionar recursos de infraestructura en la nube utilizando lenguajes de programación como TypeScript , JavaScript , Python , Java , Go y C# . [ 5 ] [ 6 ] Los desarrolladores pueden definir su infraestructura utilizando los mismos lenguajes de programación y herramientas que utilizan para el código de su aplicación, lo que permite una mejor integración entre los procesos de desarrollo de aplicaciones e infraestructura. [ 7 ]
AWS CDK incluye una biblioteca de constructos, [ 8 ] que son componentes predefinidos que encapsulan uno o más recursos de AWS y sus configuraciones. [ 9 ] Los constructos se pueden usar para crear abstracciones de nivel superior conocidas como patrones, que simplifican los patrones y las mejores prácticas comunes de la infraestructura en la nube. La biblioteca de constructos de AWS proporciona una colección de constructos para varios servicios de AWS, como Amazon S3 , Amazon EC2 y AWS Lambda . [ 10 ]
Características principales
- Lenguajes de programación conocidos : AWS CDK es compatible con TypeScript, JavaScript, Python, Java, Go y C#, lo que permite a los desarrolladores utilizar sus lenguajes de programación preferidos para definir la infraestructura en la nube.
- Componentes reutilizables : AWS CDK incluye una biblioteca de componentes que encapsulan los recursos de AWS, sus configuraciones y las mejores prácticas, lo que fomenta la reutilización y reduce el código repetitivo.
- Higher-level abstractions: Developers can use constructs[11] to create custom, higher-level abstractions, known as patterns, to simplify complex infrastructure patterns and improve maintainability.
- Integration with AWS CloudFormation: AWS CDK applications are compiled into AWS CloudFormation templates, ensuring compatibility with existing AWS CloudFormation features and tools.[12]
- Modularity and extensibility: AWS CDK promotes modularity and extensibility by allowing developers to create and share custom constructs and patterns.
Release history
- 2018: AWS CDK was announced as a developer preview at the AWS Summit in New York on July 17, 2018, offering an early version of the framework for developers to test and provide feedback.[13]
- 2019: AWS CDK reached general availability (GA) on July 11, 2019, with support for TypeScript and Python as the initial programming languages.[14]
- 2019: Support for Java and C# was added to AWS CDK on November 25, 2019, broadening the range of programming languages available for defining and provisioning cloud infrastructure resources.[15]
- 2021: AWS CDK v2 is released and consolidates the AWS Construct Library into a single package called aws-cdk-lib, streamlining usage and updates, ensuring stable APIs, and offering developer productivity improvements such as CDK Watch, a refreshed API Reference, and a new assertions library for automated unit testing in all CDK-supported languages.[16]
Launching CDK
To get started with AWS CDK, developers need to install the AWS CDK Toolkit, which provides a command-line interface (CLI) for creating and managing AWS CDK projects.[17] The CLI can be installed using the Node.js package manager (npm) or any compatible package manager. Once the AWS CDK Toolkit is installed, developers can create a new AWS CDK project, define their infrastructure using constructs, and deploy the resulting AWS CloudFormation stack to their AWS account.
Example code
The following is AWS CDK code written in TypeScript that creates an Amazon S3 bucket with public read access. This code imports the necessary AWS CDK libraries to create a new CloudFormation stack with a single Amazon S3 bucket resource. The Bucket constructor is used to create the bucket with the specified properties, including encryption, block public access, public read access, and versioning. The removal policy property specifies that the bucket should be destroyed when the stack is deleted.
import { Construct , Stack , StackProps } from 'aws-cdk-lib' ; import { Bucket } from 'aws-cdk-lib/aws-s3' ; import { BucketEncryption } from 'aws-cdk-lib/aws-s3' ; import { BlockPublicAccess } from 'aws-cdk-lib/aws-s3' ;export class MyStack extends Stack { constructor ( scope : Construct , id : string , props? : StackProps ) { super ( scope , id , props );const myBucket = new Bucket ( this , 'MyBucket' , { encryption : BucketEncryption.S3_MANAGED , blockPublicAccess : BlockPublicAccess.BLOCK_ALL , publicReadAccess : true , removalPolicy : RemovalPolicy.DESTROY , versioned : true }); } }Véase también
Referencias
- ^ Kocher, Laveesh (13 de diciembre de 2021). "AWS anuncia el lanzamiento del kit de desarrollo de AWS Cloud" . Open Source For You . Recuperado el 19 de marzo de 2023 .
- ^ "Kit de desarrollo en la nube de AWS (CDK)" . Amazon Web Services, Inc. Consultado el 19 de marzo de 2023 .
- ^ "Guía del usuario del Kit de desarrollo en la nube de AWS (AWS CDK)" . Amazon Web Services, Inc. Consultado el 19 de marzo de 2023 .
- ^ Steenman, Danny (23 de julio de 2022). "¿Qué es el AWS CDK? (Guía para principiantes)" . Hacia la nube . Consultado el 23 de septiembre de 2023 .
- ^ "Preguntas frecuentes sobre el kit de desarrollo en la nube de AWS (CDK)" . Amazon Web Services, Inc. Consultado el 19 de marzo de 2023 .
- ^ Ramel, David. "AWS agrega soporte para .NET y Java en el kit de desarrollo en la nube" .
- ^ "¿Qué tiene de genial AWS CDK?" . www.beyondjava.net . Consultado el 19 de marzo de 2023 .
- ^ "Una introducción al kit de desarrollo en la nube de AWS (CDK)" . Smashing Magazine . 10 de marzo de 2022. Consultado el 19 de marzo de 2023 .
- ^ "Trabajando con construcciones" . Amazon Web Services, Inc. Recuperado el 19 de marzo de 2023 .
- ^ "Biblioteca de construcciones de AWS" . Amazon Web Services, Inc. Consultado el 19 de marzo de 2023 .
- ^ Steenman, Danny (2022-05-03). "Cómo crear un AWS CDK Construct" . Towards the Cloud . Recuperado el 23 de septiembre de 2023 .
- ^ "Preguntas frecuentes sobre el kit de desarrollo en la nube de AWS (CDK)" . Amazon Web Services, Inc. Consultado el 19 de marzo de 2023 .
- ^ "AWS CDK Developer Preview | Blog de herramientas para desarrolladores de AWS" . aws.amazon.com . 27 de agosto de 2018. Consultado el 19 de marzo de 2023 .
- ^ Werner Vogels (11 de julio de 2019). "Kit de desarrollo en la nube de AWS (CDK): TypeScript y Python ya están disponibles para el público en general" . Amazon Web Services, Inc. Recuperado el 19 de marzo de 2023 .
- ^ "Kit de desarrollo en la nube de AWS (CDK): Java y .NET ya están disponibles de forma general | Blog de noticias de AWS" . aws.amazon.com . 25/11/2019 . Consultado el 19/03/2023 .
- ^ "AWS Cloud Development Kit (AWS CDK) v2 ya está disponible de forma general" . Amazon Web Services, Inc. Consultado el 19 de marzo de 2023 .
- ^ "AWS CDK Toolkit" . Amazon Web Services, Inc. Consultado el 19 de marzo de 2023 .
Enlaces externos
- Sitio web oficial
- AWS CDK en GitHub
- Guía del usuario de AWS CDK
- Servicios web de Amazon
- Software que utiliza la licencia Apache.