BLOG

[2021 AWS SUMMIT Session Review] Amazon EKS를 위한 AWS CDK와 CDK8s 활용법
작성일: 2021-08-31

블로그 콘텐츠의 내용 및 의견은 AWS SUMMIT 2021의 세션을 리뷰한 내용입니다. 

 

CDK를 사용하는 이유

CNCF2020 서베이 결과, 프로덕션에서 컨테이너를 사용하는 비율이 92%로 증가하였고 그중 쿠버네티스를 사용하는 비율은 83%로 증가하였다고 합니다. 클라우드를 확장해야 할 경우가 많기 때문에 중앙에서 집중 관리가 필요합니다. YAML파일은 자원이 늘어나면 업데이트가 복잡하지만, CDK를 사용하면 유연한 아키텍처 관리가 가능합니다.

 

 

CDK와 EKS를 함께 사용 할 때의 핵심 장점

CDK와 EKS를 함께 사용하면 인프라 자원과 쿠버네티스 자원을 한번에 관리할 수 있습니다. 또한, 조직 내 베스트 프랙티스 수립 및 배포가 가능하며 GIT을 통한 버전관리 및 확장이 가능해진다는 장점이 있습니다. 

 

 

애플리케이션단의 CDK활용을 위한 CDK8s

CDK8s란?

CDK8s란 개발자 친화적인 프로그래밍 언어와 풍부한 객체지향 API를 이용하여 쿠버네티스 어플리케이션과 재사용가능한 추상화를 정의할 수 있는 소프트웨어 개발 프레임워크입니다.

 

CDK8s의 장점

CDK8s는 익숙한 프로그래밍 언어인 Javascript,Typescript,Python Java 등으로 쿠버네티스 어플리케이션을 정의하며, 추가적으로 Go, .NET 등의 언어도 지원할 예정입니다. 또한, 유지보수와 공유가 쉬운 라이브러리를 통해 베스트 프랙티스를 공유할 수 있으며, 어플리케이션을 개발하는것과 동일한 툴을 사용하여 워크플로우를 정의합니다. 더불어 어떤 쿠버네티스 환경에서도 실행이 가능하다는 장점이 있습니다. 

 

CDK8s 워크플로우

CDK8s의 워크플로우는 매우 간단합니다. 개발자가 자기가 원하는 언어로 코드를 작성하고 CDK8s CLI를 통해서 코드를 쿠버네티스 매니페스트 YAML 파일로 전환하면, 그것들을 kubectl CLI를 통해서 쿠버네티스 클러스터에 배포하거나 이를 형상에 저장함으로써 GitOps의 a sinlge source of truth로 활용을 할 수 있습니다. 

 

프로덕션에 GitOps를 이용하여 적용 CDK8s적용하는 방법

GipOps란 이름에서 나타나듯 애플리케이션의 배포와 운영에 관련된 모든 요소를 코드화 하여 깃(Git)에서 관리(Ops)하는 것이 깃옵스의 핵심입니다. 기본 개념은 코드를 이용하여 인프라를 프로비저닝 하고 관리하는 IaC(Infrastructure as Code)에서 나온 것으로 깃옵스는 이를 인프라에서 전체 애플리케이션 범위로 확장합니다.

 

GitOps를 CI/CD에 도입하여 얻는 장점

GitOps를 CI/CD에 도입하면 개발자는 친숙한 워크플로우를 사용하게 되므로 생산성을 높일 수 있습니다. 또한, 깃 저장소에 쿠버네티스 Manifest 변경사항 감사를 통해 높은 안정성을 얻을 수 있습니다. 이외에도 Git에서 제공하는 메서드를 통해서 높은 신뢰성을 얻을 수 있으며, 일관성과 표준화 관점에서 조직운영에 도움을 줍니다.

 

조직 구조를 따른 CDK & CDK8s활용 GitOps 2가지 패턴

 

애자일 DevOps패턴

개발팀이 인프라에 제어권을 가지고 있는 패턴을 적용하면 어플리케이션 변경 및 에플리케이션이 AWS리소스들의 정보로 필요로 하는 경우, 테스트를 위해 전체 클러스터를 복제하여 강력한 통합성을 제공할 수 있습니다.

 

엔터프라이즈패턴

개발팀과 운영팀이 분리되어있는 경우 사용하는 패턴으로, 대규모 조직의 거버넌스를 위해서 개발팀에 자체 저장소 관리 권한만 부여합니다. 효율적 협력을 위해서는 관련 규칙이 필요합니다. CDK & CDK8s & GitOps를 사용하면 인프라를 포함한 애플리케이션의 통합적인 가시성을 확보할 수 있습니다.

 

발표자료URL: https://www.slideshare.net/awskorea/how-to-leverage-aws-cdk-and-cdk8s-for-amazon-eks

*해당 블로그는 메가존클라우드 임직원이 AWS SUMMIT 2021 Amazon EKS를 위한 AWS CDK와 CDK8s 활용법” 세션을 보고 작성한 글로 발표 자료 및 자세한 내용은 위의 URL에서 확인하실 수 있습니다. 세션을 보고 작성한 글로 발표 자료 및 자세한 내용은 위의 URL에서 확인하실 수 있습니다.