맞춤형 CDK 구성 라이브러리 작성 이유 5가지

4655 단어 awscdkcloudformation
AWS Lambda를 사용하기 시작했을 때 팀은 serverless framework을 사용하여 AWS 리소스를 설명했습니다.간단한 CloudFormation 템플릿만 작성하는 것보다 훨씬 간편하게 작업을 수행할 수 있습니다.그러나 여전히 많은 정보를 작성해야 한다.이것은 일찍이 아무도 가장 좋아하는 임무가 없었다.이어 104만5천679만1천510명이 구조에 나섰다.
CDK
CDK의 전반적인 이점
작문이 엉망이다.그것은 고도로 중복되고 지루하며 느리다.코드의 완성이 매우 제한되어 있어서 나는 그 내재 함수의 문법을 기억할 수 없다.
그래서 CDK가 나타났을 때 아무도 나를 설득할 필요가 없었다.마지막으로 코드 완성, 중복 부분의 추출과 구조도 있다.CDK 은 애플리케이션 인프라스트럭처 구축 블록 - 그것들은 하나의 클라우드 정보 자원을 나타낼 수도 있고, 여러 자원으로 구성된 더 높은 단계의 구성 요소를 나타낼 수도 있다.그들은 보통 함께 놓는 물건을 묶었다 - 로그 그룹 및 실행 역할이 있는 Lambda 함수와 유사합니다.이 구조들은 설명 창고에 필요한 코드량을 감소시켰다.따라서 CDK는 프로그래밍 언어로 클라우드 정보 자원을 설명하는 것을 의미하지 않는다.그것은 또한 클라우드 정보 자원에 대한 추상적인 것을 제공했다.
또한 CDK를 사용하면 위젯 간에 쉽게 연결할 수 있습니다.Lambda 함수에 DynamoDB 테이블에 대한 읽기 권한을 부여하는 방법이 있습니다.이것은 구름층 형성보다 훨씬 편리하다.
네, 단점도 있어요.구름의 형성은 구조적으로 통상적으로 어떤 의외의 일도 없다.그곳에는 자유가 많지 않기 때문에 클라우드 포메이션 템플릿은 보통 길지만 읽기 쉽다.더 높은 프로그래밍 언어의 자유는 서로 다른 방식으로 사물을 구성하기 위해 더 큰 공간을 남겼다.그래서 내가 작성하지 않은 CDK 프로그램을 이해할 때까지 시간이 좀 걸린다.
그러나 지금까지는 나쁜 것보다 좋은 점이 많았다.
사용자 정의 CDK 구성 라이브러리를 사용하면 CDK에서 더 많은 이점을 얻을 수 있습니다.CDK 구조 라이브러리를 사용자정의할 때, 나는 자신의 구조를 작성하여 라이브러리에 포장하여 조직에서 사용할 수 있도록 하는 것을 가리킨다.
그럼 뭘 만날지 한번 봅시다.
constructs
친구예요?🧐
몇몇 개발자보다 더 큰 조직에서 일할 때, AWS 자원에 대해 약속이 있을 것이다."SQS 대기열을 위한 정적 암호화 설정"과 유사합니다.또는 "각 DynamoDB 테이블에 대해 시점 복구를 활성화해야 합니다!"보통 이런 약속은 어딘가의 안내서에 기록된다.당신은 개발자의 규율에 의존하는데, 이러한 약속은 사실상 적용된다.자원을 이 약속과 관련이 있는지 확인하기 위해 코드를 작성할 수도 있고, 규칙을 위반하면 경보를 보낼 수도 있다.이것은 좀 낫다.지금 당신은 이 약속들이 적용된다는 것을 확정할 수 있습니다 - 하지만 이미 배치된 뒤에만.
개발자들이 격려를 받고 그들의 삶을 가볍게 함으로써 이런 약속을 고려하면 더욱 현명해진다는 것을 알게 되었다.CDK를 사용하면 DynamoDB 테이블 구조를 사용자 정의로 포장할 수 있습니다. 이 구조는 사용자의 약정에 따라 기본적으로 설정됩니다.개발자들은 걱정을 덜 해야 하기 때문에 그것을 사용하는 것을 좋아할 것이다.
이런 약속 구조는 쓰기가 쉽기 때문에 좋은 시작이다.

가능한 한 쓰레기를 치우다🧹
한 조직에서는 통상적으로 표준적인 업무 방식이 있다.여기에 몇 가지 예가 있다.
Lambda 함수에 대한 로그의 보존 기간은 14일이며 항상 ElasticSearch for central log aggregation 에 전송됩니다.
  • 각 REST API는 우리 회사 도메인의 하위 도메인(DNS 레코드 및 인증서 필요)
  • 각 Lambda 함수에 대해 오류 기록 시 경고
  • 이런 표준 상황은 대량의 코드가 반복적으로 복제될 수 있다.이것들은 모두 맞춤형 구조의 완벽한 후보자들이다.
    따라서 사용자 정의 Lambda 함수 구조는 Lambda 함수를 만들고 로그 그룹을 올바르게 구성할 수 있습니다.창고에 추가할 수 있는 을 제공합니다. 모든 Lambda 로그 그룹의 오류 로그 항목에 메트릭 Filters와 Alarms를 추가할 수 있습니다.
    마지막으로, 우리는 많은 프로젝트에서 몇 줄의 코드를 절약했고, 개발자들이 걱정해야 할 일은 더욱 적으며, 우리는 응용의 최상의 실천을 확보하고 있다.
    aspect
    상수 - 모든 것이 한 곳에 있다🧰
    CDK 구조 라이브러리도 중요한 상수의 첫 번째 위치가 될 수 있습니다.일반적으로 AWS 계정과 공유 리소스 주변의 상수는 서로 다른 문서에 분산됩니다.그래서 개발자는 다른 곳으로 가서 찾아야 한다.일반적으로 이러한 값은 CloudFormation 또는 CDK 구성에서 하드코딩됩니다.
    이러한 상수를 사용자 정의 CDK 구성 라이브러리에 추가할 수 있습니다.그래서 쉽게 찾을 수 있고 방문할 수 있다.응용 프로그램 코드로 복사할 필요가 없습니다.이러한 상수는 AWS 계정의 ID, 경보의 표준 목적지일 수도 있고, AWS 인프라에서 발표되는 중요한 해이 통로를 원하는 웹훅일 수도 있다.
    이러한 상수가 있으면 정보는 사용 장소에 더욱 가깝기 때문에 문서에서 이러한 정보를 검색하는 시간이 더욱 줄어든다.

    여러 팀의 협력을 촉진하다.🙌
    CDK 구조고는 개발자 커뮤니티가 함께 공유하고 관심을 가지는 것이 될 수 있다.이것은 팀 간의 협력을 추진하고 경험과 교훈, 그리고 최선의 실천에 대한 중요한 대화를 시작할 수 있다.

    단일 코드 라이브러리에서 다국어 라이브러리를 건네주다
    너는 다국어 환경에서 일한다 - 이것도 장애가 아니다.TypeScript에서 CDK 구조 라이브러리를 한 번 작성하고 jsii를 사용하여 다중 언어 라이브러리 (Go, 자바, Python) 를 전달할 수 있습니다.CDK 프로젝트 자체도 Jsii를 사용하여 서로 다른 언어의 바인딩을 제공합니다.
    나는 당신이 현재 자신의 고객 CDK 구조 라이브러리를 만드는 것을 기다릴 수 있기를 바랍니다.네가 가장 좋아하는 터미널로 가서 들어가기만 하면 된다.
    cdk init lib - language=typescript
    
    을 사용하여 사용자 정의 구조 라이브러리 개발을 시작할 수 있다.
    또한 CDK 워크숍은 자신의 첫 번째 구조를 작성하기 시작한 좋은 시작이었다.그것은 구조를 작성하는 데 사용되는 projen을 포함한다.

    좋은 웹페이지 즐겨찾기