AWS CDK 첫인상

2019년 7월에 클라우드 애플리케이션 인프라를 정의하는 코드 우선 라이브러리인 AWS CDK가 출시되었습니다.

The AWS CDK is a new software development framework from AWS with the sole purpose of making it fun and easy to define cloud infrastructure in your favorite programming language and deploy it using AWS CloudFormation.



가장 먼저 깨달은 것은 AWS Cloudformation 호환성입니다. 새로 작성된 모든 코드는 YML 템플릿으로 변환되므로 Cloudformation의 거의 모든 것을 여기에서 사용할 수 있으며 이는 실제로 유용합니다.

정말 큰 이점이 있으며 애플리케이션 인프라를 생성할 수 있는 방법입니다. 이제 JavaScript, Python, Java, C# 및 Typescript와 같은 다양한 언어를 사용할 수 있습니다. 때로는 개발자가 YAML 구조에 익숙하지 않고 JSON이 Cloudformation 템플릿을 만드는 가장 좋은 방법이 아니기 때문에 이것은 정말 좋은 기능입니다. 이제 원하는 언어를 선택하고 라이브러리를 사용하여 필요한 리소스를 만들기 시작하면 됩니다.

그리고 이제 코드를 사용하여 리소스가 생성되었으므로 단위 테스트를 생성하여 품질을 개선하고 새로운 개발자가 그곳에서 중요한 것을 변경하지 않도록 할 수 있습니다.

With CloudFormation, you also can write some tests, but it requires another tool



자, 이제 생성자에 대해 이야기해 보겠습니다. 새로 도입된 개념이며 매우 유용합니다. 왜냐하면 이제 일반적으로 YAML에서 하는 것처럼 불필요한 항목을 많이 생성할 필요가 없기 때문입니다. CloudFormation을 사용하여 약 1000줄의 코드를 작성하려면 AWS CDK로 시도할 때 약 50줄의 코드만 작성하면 됩니다.

// DynamoDB table constructor
new Table(scope: Construct, id: string, props: TableProps);

// This represents a single EC2 instance.
new Instance(scope: Construct, id: string, props: InstanceProps)

// Creates a new EBS Volume in AWS EC2
new Volume(scope: Construct, id: string, props: VolumeProps)



CDK 대 YAML



더 좋은 점은 배포 프로세스가 약간 친숙하며 배포하기 전에 일부 확인을 요청한다는 것입니다.



또한 배포 후 업데이트된 리소스를 쉽게 확인할 수 있습니다.



개인적으로 아쉬운 점이 있는데, 로컬에서 응용 프로그램을 실행하는 방식입니다. AWS CDK를 사용하여 이를 수행할 수 없으며 코드를 YML로 빌드하고 AWS SAM을 사용하여 실행해야 하므로 모든 새로운 변경 사항을 로컬에서 시도하기 전에 더 많은 단계가 필요합니다.


이 게시물이 도움이 되었기를 바랍니다.

마지막으로 여기에 멋진 워크샵이 있습니다: https://cdkworkshop.com/

CDK 사용 안내서: https://docs.aws.amazon.com/cdk/latest/guide/home.html

몇 가지 예: https://github.com/aws-samples/aws-cdk-examples

좋은 웹페이지 즐겨찾기