You are a developer, not a coder.

AWS CodeDeploy 본문

AWS/기본 개념

AWS CodeDeploy

Mattmk 2020. 2. 26. 17:06
SMALL

1. AWS CodeDeploy 란?

CodeDeploy는 Amazon EC2 인스턴스, 온프레미스 인스턴스, 서버리스 Lambda 함수 또는 Amazon ECS 서비스로 애플리케이션 배포를 자동화하는 배포 서비스이다.

다음을 포함하여 다양한 애플리케이션 콘텐츠를 거의 무제한으로 배포할 수 있다.

 

  • code
  • Serverless AWS Lambda Function
  • 웹 및 구성 파일
  • 실행 파일
  • packages
  • script
  • 멀티미디어 파일

CodeDeploy는 서버에서 실행되고 Amazon S3 버킷, GitHub 리포지토리 또는 Bitbucket 리포지토리에 저장되는 애플리케이션 콘텐츠를 배포할 수 있다. 또한 CodeDeploy는 서버리스 Lambda 함수를 배포할 수도 있다. CodeDeploy를 사용하기 전에 기존 코드를 변경할 필요가 없다.

2. 이점

CodeDeploy를 사용하면 다음 작업을 쉽게 수행할 수 있다.

 

  • 새 기능을 신속하게 출시
  • AWS Lambda Function 업데이트
  • 애플리케이션 배포 시 가동 중지 방지
  • 오류가 발생되는 수동 배포와 관련된 다양한 위험 없이 애플리케이션 업데이트에 따른 복잡성 처리
  • 인프라와 함께 규모를 조정할 수 있는 서비스 이므로 인스턴스 하나 또는 수천 개에 쉽게 배포 가능
  • CodeDeploy는 구성 관리, 소스 제어, 지속적인 통합, 지속적인 전송 및 지속적인 배포 등을 위해 다양한 시스템과 함께 작동
  • 서버, 서버리스 및 컨테이너 애플리케이션. CodeDeploy를 사용하면 서버에 기존 애플리케이션을 배포할 수 있고, 서버리스 AWS Lambda 함수 버전을 배포하는 애플리케이션 또는 Amazon ECS 애플리케이션도 배포 가능
  • 배포 자동화. CodeDeploy는 개발, 테스트 및 프로덕션 환경에 걸쳐 애플리케이션 배포를 완전 자동화
  • 중지 및 롤백. 오류가 있는 경우 자동 또는 수동으로 배포를 중지하고 롤백 가능
  • 동시 배포. EC2/온프레미스 컴퓨팅 플랫폼를 사용하는 1개 이상의 애플리케이션이 있는 경우에는 CodeDeploy를 통해 동일한 인스턴스 세트에 동시에 배포 가능

3. CodeDeploy AppSpec File

AppSpec file(application specification file)은 CodeDeploy가 배포를 관리하기 위해 사용하는 YAML 형식의 파일 또는 JSON 형식의 파일이다.

EC2/온프레미스, Amazon ECS, AWS Lambda 배포에 대한 AppSpec file의 이름은 appspec.yml이어야 한다.

 

4. 정리

음... 정리를 해볼까 하다가 정리가 안되어서 왜 안되지 고민하다가 든 생각은..

CodePipeline과 기능이 비슷해 보여서 정리를 하는데 혼동이 되었다.

그래서 또 Google 선생님께 여쭤보니, 나와 생각이 비슷한 어느 미쿡형님이 작성한 글이 보여서 퍼오기로 했다.

 


AWS CodeDeploy와 AWS CodePipeline의 차이점 : 차이점은 무엇입니까?

AWS CodeDeploy : 애플리케이션 배포를 Amazon EC2 인스턴스에 조정합니다. AWS CodeDeploy는 Amazon EC2 인스턴스에 대한 코드 배포를 자동화하는 서비스입니다. AWS CodeDeploy를 사용하면 새로운 기능을보다 신속하게 릴리스하고 배포 중 가동 중지 시간을 방지하며 애플리케이션 업데이트의 복잡성을 처리 할 수 ​​있습니다. AWS CodePipeline : 빠르고 안정적인 애플리케이션 업데이트를위한 지속적인 제공 서비스. CodePipeline은 정의한 릴리스 프로세스 모델을 기반으로 코드가 변경 될 때마다 코드를 빌드, 테스트 및 배포합니다.

AWS CodeDeploy는 기술 스택의 "Deployment as a Service"범주에 속하는 반면 AWS CodePipeline은 주로 "Continuous Deployment"로 분류 할 수 있습니다.

AWS CodeDeploy에서 제공하는 일부 기능은 다음과 같습니다.

AWS CodeDeploy는 코드 배포를 완전히 자동화하여 안정적이고 신속하게 배포 할 수 있습니다
AWS CodeDeploy는 Amazon EC2 인스턴스에서 롤링 업데이트를 수행하고 구성 가능한 규칙에 따라 애플리케이션 상태를 추적하여 애플리케이션 가용성을 최대화합니다.
AWS CodeDeploy를 사용하면 AWS Management Console 또는 AWS CLI를 통해 배포 상태를 쉽게 시작하고 추적 할 수 있습니다.
반면에 AWS CodePipeline은 다음과 같은 주요 기능을 제공합니다.

워크 플로우 모델링
AWS 통합
내장 플러그인
"Code Deployments 자동화"는 AWS CodeDeploy와 같은 15 명 이상의 개발자가 가장 중요한 이유이며, 3 명 이상의 개발자는 "간단한 설정"을 AWS CodePipeline 선택의 주요 원인으로 언급했습니다.

StackShare 커뮤니티에 따르면 AWS CodeDeploy는 57 개의 회사 스택과 14 개의 개발자 스택에서 언급되고 있으며 더 광범위한 승인을 받았습니다. 30 개의 회사 스택과 15 개의 개발자 스택에 나열된 AWS CodePipeline과 비교됩니다.

 

참고 : https://stackshare.io/stackups/aws-codedeploy-vs-aws-codepipeline

LIST

'AWS > 기본 개념' 카테고리의 다른 글

Amazon S3  (0) 2020.02.27
AWS Elastic Beanstalk  (0) 2020.02.26
AWS Systems Manager Parameter Store  (0) 2020.02.25
AWS CloudTrail  (0) 2020.02.25
AWS Key Management Service  (0) 2020.02.25
Comments