SlideShare a Scribd company logo
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS Korea Game Tech
Mar. 2021
AWS Game Master 온라인
시리즈#1 - AWS로 게임 개발 시작하기
 2부: CI/CD를 AWS에서 손쉽게 구현해보자!
© 2021, Amazon Web Services, Inc. or its Affiliates.
2부: CI/CD를 AWS에서 손쉽게 구현해보자!
Code Family
AWS Solutions Architect 구성완
© 2021, Amazon Web Services, Inc. or its Affiliates.
Agenda
• 사전 실습 준비 1
• CI / CD
• 배포 전략
• 사전 실습 준비 2
• AWS CI / CD – Code Series
• 게임 Artifacts CI / CD
• 게임 Artifacts CI / CD 실습
© 2021, Amazon Web Services, Inc. or its Affiliates.
Hands on Labs 사전 준비
EC2 Window server 설치
© 2021, Amazon Web Services, Inc. or its Affiliates.
실습 사전 준비
1. AWS Console에서 진행
2. GitHub, Unity 계정 필요
3. Microsoft Remote Desktop 설치 필요
© 2021, Amazon Web Services, Inc. or its Affiliates.
CI / CD란?
CI?
Continuous Integration (지속적인 통합)
CD?
Continuous Delivery, Continuous Deployment (지속적인 전달, 배포)
© 2021, Amazon Web Services, Inc. or its Affiliates.
Monolith 배포 lifecycle
Services
Developers
Delivery pipelines
Monitor
Build Test Release
© 2021, Amazon Web Services, Inc. or its Affiliates.
Microservice 배포 lifecycle
Developers Services Delivery pipelines
Monitor
Build Test Release
Monitor
Build Test Release
Monitor
Build Test Release
Monitor
Build Test Release
Monitor
Build Test Release
Monitor
Build Test Release
© 2021, Amazon Web Services, Inc. or its Affiliates.
배포 프로세스 단계
• 소스 코드 병합
• 새로운 코드 리뷰
• 코드 컴파일
• Unit test
• Style check
• 컨테이너 이미지
생성 및 배포
패키지
• Production
환경에 배포
• 빠른 에러 탐지를
위한 모니터링
• Integration test
with other
systems
• Load test
• UI test
• Security test
Source Build Test Production
© 2021, Amazon Web Services, Inc. or its Affiliates.
1. 새로운 코드가 준비되면 자동으로 새로운 빌드가 시작
2. 일관 되고 반복 가능한 환경에서 코드를 빌드, 테스트
3. 지속적인 배포가 가능한 Artifacts 를 준비
4. 지속적인 빌드 실패에 대한 피드백
Continuous Integration
Source Build Test Production
Continuous integration
© 2021, Amazon Web Services, Inc. or its Affiliates.
Continuous delivery
Source Build Test Production
Continuous Delivery, Deployment
1. 자동으로 변경된 부분을 테스트하기 위한 staging 환경에 배포
2. 고객에게 영향을 주지 않고 안전하게 배포 가능
3. 배포 빈도가 증가, 배포 시간이 감소로 빠르게 새로운 빌드를 고객에게 제공
4. 배포 실패율이 감소
Continuous deployment
© 2021, Amazon Web Services, Inc. or its Affiliates.
CI / CD 기능의 핵심정리
자동화
• 더 빠른 배포 주기, 쉬운 빌드 과정, 실패율 낮아짐
• 개발자의 효율성 증가
일관된 환경
• 언제든지 배포 가능한 일관된 Artifacts
안전한 배포
• 고객에게 영항이 (거의) 없는 배포 – 무중단 배포
• 롤백의 용이성
© 2021, Amazon Web Services, Inc. or its Affiliates.
배포 전략
In-place (rolling update)
Blue-Green 배포
Canary
© 2021, Amazon Web Services, Inc. or its Affiliates.
In-place 배포
Elastic Load balancer
V1 V1 V1 V1
Elastic Load balancer
V2 V1 V1 V1
Elastic Load balancer
V2 V2 V1 V1
Elastic Load balancer
V2 V2 V2 V2
© 2021, Amazon Web Services, Inc. or its Affiliates.
In-place 배포
장점
• All-at-once보다 안전하게 배포 가능
• 무중단 배포가 가능
• 추가적인 컴퓨팅 리소스가 필요 없음
단점
• 에러 발생시 고객 영향도가 낮은 편
• 롤백에 많은 시간이 소요 - Container 기반으로 극복 가능
• 새로운 서비스와 공존이 가능할 때 가능한 배포 방법
© 2021, Amazon Web Services, Inc. or its Affiliates.
Blue - Green 배포
Elastic Load Balancer
V1 V2
© 2021, Amazon Web Services, Inc. or its Affiliates.
Blue - Green 배포
Elastic Load Balancer
V1 V2
© 2021, Amazon Web Services, Inc. or its Affiliates.
Blue - Green 배포
장점
• 무중단 배포가 가능
• 배포 전 Production 환경에서 테스트 가능
• 롤백이 매우 빠르고 편리
단점
• 배포시 최소 2배의 컴퓨팅 리소스 필요 - Cloud환경에서 극복 가능
• 경우에 따라 새로운 서비스와 공존이 가능할 때 가능한 배포 방법
© 2021, Amazon Web Services, Inc. or its Affiliates.
Canary 배포
Elastic Load Balancer
V1 V2
95% 5%
© 2021, Amazon Web Services, Inc. or its Affiliates.
Canary 배포
Elastic Load Balancer
V1 V2
50% 50%
© 2021, Amazon Web Services, Inc. or its Affiliates.
Canary 배포
Elastic Load Balancer
V1 V2
0% 100%
© 2021, Amazon Web Services, Inc. or its Affiliates.
Canary 배포
장점
• 위험을 최소화하여 에러 탐지 가능
• A/B 테스트, 성능 모니터링
• In-place, Blue-Green 배포에 적용 가능
단점
• 배포 시간이 증가할 수 있음
© 2021, Amazon Web Services, Inc. or its Affiliates.
Hands on Labs 사전 준비
Unity, Jenkins 설치
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS Code services
Source Build Test Deploy Monitor
Software 배포 단계:
AWS CodeCommit AWS CodeBuild AWS CodeDeploy
AWS CodePipeline
AWS
CodeStar
AWS X-Ray
Amazon
CloudWatch
AWS CodeBuild
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS CodeStar – Pipeline 생성
• 몇 분 안에 IDE, 빌드, 테스트 및 배포를 위한 파이프라인
구성
• Lambda, EC2, Elastic Beanstalk 프로젝트 템플릿으로
시작
• Java, JavaScript, PHP, Ruby, C#, Python등 다양한
언어를 사용하여 시작
• 대시보드에서 개발 프로세스의 모든 단계를 추적
• 엑세스 권한을 손쉽게 관리(IAM)
• Jira와 통합 가능
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS CodeStar – Pipeline 생성 (예시)
이미 만들어진 template을
사용하여 매우 쉽게
프로비저닝 가능
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS CodeStar – Pipeline 생성 (예시)
CodeStar 대시보드
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS CodePipeline – Pipeline
• 빠르고 안정적인 서비스 배포를 위한 CI / CD 서비스
• 배포 프로세스를 모델링 및 시각화
• 코드가 변경될 때마다 코드를 빌드, 테스트, 배포
• Third-party tool과 AWS 서비스를 통합할 수 있음
© 2021, Amazon Web Services, Inc. or its Affiliates.
• Amazon EKS(Elastic Kubernetes Service)에 배포하는 과정
• 3가지 stage (Source, Build, Deploy - Lambda)
AWS CodePipeline – Pipeline (예시)
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS CodeCommit - Source
• 완전 관리형 소스 제어 서버
• 고가용성 아키텍쳐
• 무제한 레포지토리(최대 1000개, 요청시 무제한 지원)
• AWS CLI, SDK 뿐만 아니라 모든 Git 명령어를 지원하며,
기존 Git 도구와 연동 가능
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS CodeBuild – Build
• 소스 컴파일, 테스트, 소프트웨어 패키징을 위한 완전
관리형 빌드 서비스
• 여러 빌드를 동시에 처리가능
• 빌드 서버의 유지보수가 불필요
• 빌드를 완료할 때 까지 걸리는 시간(분)만 비용을 지불
• CloudWatch Events 를 통한 빌드 모니터링
© 2021, Amazon Web Services, Inc. or its Affiliates.
buildspec.yaml 일부
• Spring Java, Docker Container 빌드
• 빌드가 완료된 Docker Image를
ECR(Elastic Container Registry)에
배포
AWS CodeBuild – Build (예시)
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS CodeDeploy - Deploy
• 모든 인스턴스 및 Lambda에 대한 배포 자동화
• 복잡한 어플리케이션 업데이트 작업을 처리
• 무중단 배포를 위한 여러 배포 기능 제공
• 실패 시 자동 롤백 기능
• EC2, Lambda, ECS, 그리고 On-premises 서버에 배포
가능
© 2021, Amazon Web Services, Inc. or its Affiliates.
appspec.yaml
• CodeStar로 생성한 Java Spring
프로젝트
AWS CodeDeploy – Deploy (예시)
© 2021, Amazon Web Services, Inc. or its Affiliates.
Game Artifacts 배포 Pipeline
Source Build Test Production
AWS CodeCommit
AWS CodePipeline
Third party on EC2
(ex Jenkins)
Amazon S3 Amazon SNS
AWS Device Farm
© 2021, Amazon Web Services, Inc. or its Affiliates.
AWS Device Farm
• 다양한 물리적 디바이스를 사용하여 테스트 가능
• AWS의 내장 테스트 도구를 실행하거나 Appium,
Calabash 및 Espresso와 같은 오픈 소스 테스트
프레임워크를 선택하여 테스트를 사용자 정의
• Android Studio, Jenkins 같은 통합 환경 및 IDE에
통합가능
© 2021, Amazon Web Services, Inc. or its Affiliates.
실습 – Unity Build Pipeline for Android
Source Build Production
AWS CodePipeline
Amazon S3
http://unity-build-lab.s3-website.ap-northeast-2.amazonaws.com
Third party on EC2
(ex Jenkins)
© 2021, Amazon Web Services, Inc. or its Affiliates.
Hands on Labs
© 2021, Amazon Web Services, Inc. or its Affiliates.
Recipe & Estimate
© 2021, Amazon Web Services, Inc. or its Affiliates.
Recipe and Estimate
(https://calculator.aws/#/)
Scenario) QA 프로세스를 갖춘 소규모 게임 스튜디오
• 개발 단계 : 클라이언트 빌드 실습으로 비용 발생 없음
• 검증 단계 : 한 달 기간, 빌드 파이프라인 (배포 대상 서비스) 최대 10개 기준
o Amazon EC2(T3.large / Linux / SSD) + AWS CodePipeline + Amazon S3(1TB) = $113.26/월
o AWS Pricing Calculator
• 서비스 단계 : 한 달 기간, 빌드 파이프라인 (배포 대상 서비스) 최대 3개 기준
o Amazon EC2(T3.large / Linux / SSD) + AWS CodePipeline + Amazon S3(1TB) = $108.26/월
o AWS Pricing Calculator
• Total estimate : $221.52 (약 260,000)
© 2021, Amazon Web Services, Inc. or its Affiliates.
Thank you!

More Related Content

More from Amazon Web Services Korea

Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon Web Services Korea
 
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon Web Services Korea
 
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Amazon Web Services Korea
 
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
Amazon Web Services Korea
 
From Insights to Action, How to build and maintain a Data Driven Organization...
From Insights to Action, How to build and maintain a Data Driven Organization...From Insights to Action, How to build and maintain a Data Driven Organization...
From Insights to Action, How to build and maintain a Data Driven Organization...
Amazon Web Services Korea
 
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
Amazon Web Services Korea
 
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
Amazon Web Services Korea
 
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
Amazon Web Services Korea
 
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
Amazon Web Services Korea
 
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
Amazon Web Services Korea
 
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
Amazon Web Services Korea
 
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
Amazon Web Services Korea
 
[Keynote] Data Driven Organizations with AWS Data - 발표자: Agnes Panosian, Head...
[Keynote] Data Driven Organizations with AWS Data - 발표자: Agnes Panosian, Head...[Keynote] Data Driven Organizations with AWS Data - 발표자: Agnes Panosian, Head...
[Keynote] Data Driven Organizations with AWS Data - 발표자: Agnes Panosian, Head...
Amazon Web Services Korea
 
AWS Summit Seoul 2023 | Amazon Neptune 및 Elastic을 이용한 추천 서비스 및 검색 플랫폼 구축하기
AWS Summit Seoul 2023 | Amazon Neptune 및 Elastic을 이용한 추천 서비스 및 검색 플랫폼 구축하기AWS Summit Seoul 2023 | Amazon Neptune 및 Elastic을 이용한 추천 서비스 및 검색 플랫폼 구축하기
AWS Summit Seoul 2023 | Amazon Neptune 및 Elastic을 이용한 추천 서비스 및 검색 플랫폼 구축하기
Amazon Web Services Korea
 
AWS Summit Seoul 2023 | 생성 AI 모델의 임베딩 벡터를 이용한 서버리스 추천 검색 구현하기
AWS Summit Seoul 2023 | 생성 AI 모델의 임베딩 벡터를 이용한 서버리스 추천 검색 구현하기AWS Summit Seoul 2023 | 생성 AI 모델의 임베딩 벡터를 이용한 서버리스 추천 검색 구현하기
AWS Summit Seoul 2023 | 생성 AI 모델의 임베딩 벡터를 이용한 서버리스 추천 검색 구현하기
Amazon Web Services Korea
 
AWS Summit Seoul 2023 | 스타트업의 서버리스 기반 SaaS 데이터 처리 및 데이터웨어하우스 구축 사례
AWS Summit Seoul 2023 | 스타트업의 서버리스 기반 SaaS 데이터 처리 및 데이터웨어하우스 구축 사례AWS Summit Seoul 2023 | 스타트업의 서버리스 기반 SaaS 데이터 처리 및 데이터웨어하우스 구축 사례
AWS Summit Seoul 2023 | 스타트업의 서버리스 기반 SaaS 데이터 처리 및 데이터웨어하우스 구축 사례
Amazon Web Services Korea
 
AWS Summit Seoul 2023 | Amazon EKS 데이터 전송 비용 절감 및 카오스 엔지니어링 적용 사례
AWS Summit Seoul 2023 | Amazon EKS 데이터 전송 비용 절감 및 카오스 엔지니어링 적용 사례AWS Summit Seoul 2023 | Amazon EKS 데이터 전송 비용 절감 및 카오스 엔지니어링 적용 사례
AWS Summit Seoul 2023 | Amazon EKS 데이터 전송 비용 절감 및 카오스 엔지니어링 적용 사례
Amazon Web Services Korea
 
AWS Summit Seoul 2023 | 실시간 CDC 데이터 처리! Modern Transactional Data Lake 구축하기
AWS Summit Seoul 2023 | 실시간 CDC 데이터 처리! Modern Transactional Data Lake 구축하기AWS Summit Seoul 2023 | 실시간 CDC 데이터 처리! Modern Transactional Data Lake 구축하기
AWS Summit Seoul 2023 | 실시간 CDC 데이터 처리! Modern Transactional Data Lake 구축하기
Amazon Web Services Korea
 
AWS Summit Seoul 2023 | 12가지 디자인 패턴으로 알아보는 클라우드 네이티브 마이크로서비스 아키텍처
AWS Summit Seoul 2023 | 12가지 디자인 패턴으로 알아보는 클라우드 네이티브 마이크로서비스 아키텍처AWS Summit Seoul 2023 | 12가지 디자인 패턴으로 알아보는 클라우드 네이티브 마이크로서비스 아키텍처
AWS Summit Seoul 2023 | 12가지 디자인 패턴으로 알아보는 클라우드 네이티브 마이크로서비스 아키텍처
Amazon Web Services Korea
 
AWS Summit Seoul 2023 | AWS에서 OpenTelemetry 기반의 애플리케이션 Observability 구축/활용하기
AWS Summit Seoul 2023 | AWS에서 OpenTelemetry 기반의 애플리케이션 Observability 구축/활용하기AWS Summit Seoul 2023 | AWS에서 OpenTelemetry 기반의 애플리케이션 Observability 구축/활용하기
AWS Summit Seoul 2023 | AWS에서 OpenTelemetry 기반의 애플리케이션 Observability 구축/활용하기
Amazon Web Services Korea
 

More from Amazon Web Services Korea (20)

Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
 
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
 
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
 
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
 
From Insights to Action, How to build and maintain a Data Driven Organization...
From Insights to Action, How to build and maintain a Data Driven Organization...From Insights to Action, How to build and maintain a Data Driven Organization...
From Insights to Action, How to build and maintain a Data Driven Organization...
 
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
 
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
 
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
 
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
 
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
 
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
 
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
 
[Keynote] Data Driven Organizations with AWS Data - 발표자: Agnes Panosian, Head...
[Keynote] Data Driven Organizations with AWS Data - 발표자: Agnes Panosian, Head...[Keynote] Data Driven Organizations with AWS Data - 발표자: Agnes Panosian, Head...
[Keynote] Data Driven Organizations with AWS Data - 발표자: Agnes Panosian, Head...
 
AWS Summit Seoul 2023 | Amazon Neptune 및 Elastic을 이용한 추천 서비스 및 검색 플랫폼 구축하기
AWS Summit Seoul 2023 | Amazon Neptune 및 Elastic을 이용한 추천 서비스 및 검색 플랫폼 구축하기AWS Summit Seoul 2023 | Amazon Neptune 및 Elastic을 이용한 추천 서비스 및 검색 플랫폼 구축하기
AWS Summit Seoul 2023 | Amazon Neptune 및 Elastic을 이용한 추천 서비스 및 검색 플랫폼 구축하기
 
AWS Summit Seoul 2023 | 생성 AI 모델의 임베딩 벡터를 이용한 서버리스 추천 검색 구현하기
AWS Summit Seoul 2023 | 생성 AI 모델의 임베딩 벡터를 이용한 서버리스 추천 검색 구현하기AWS Summit Seoul 2023 | 생성 AI 모델의 임베딩 벡터를 이용한 서버리스 추천 검색 구현하기
AWS Summit Seoul 2023 | 생성 AI 모델의 임베딩 벡터를 이용한 서버리스 추천 검색 구현하기
 
AWS Summit Seoul 2023 | 스타트업의 서버리스 기반 SaaS 데이터 처리 및 데이터웨어하우스 구축 사례
AWS Summit Seoul 2023 | 스타트업의 서버리스 기반 SaaS 데이터 처리 및 데이터웨어하우스 구축 사례AWS Summit Seoul 2023 | 스타트업의 서버리스 기반 SaaS 데이터 처리 및 데이터웨어하우스 구축 사례
AWS Summit Seoul 2023 | 스타트업의 서버리스 기반 SaaS 데이터 처리 및 데이터웨어하우스 구축 사례
 
AWS Summit Seoul 2023 | Amazon EKS 데이터 전송 비용 절감 및 카오스 엔지니어링 적용 사례
AWS Summit Seoul 2023 | Amazon EKS 데이터 전송 비용 절감 및 카오스 엔지니어링 적용 사례AWS Summit Seoul 2023 | Amazon EKS 데이터 전송 비용 절감 및 카오스 엔지니어링 적용 사례
AWS Summit Seoul 2023 | Amazon EKS 데이터 전송 비용 절감 및 카오스 엔지니어링 적용 사례
 
AWS Summit Seoul 2023 | 실시간 CDC 데이터 처리! Modern Transactional Data Lake 구축하기
AWS Summit Seoul 2023 | 실시간 CDC 데이터 처리! Modern Transactional Data Lake 구축하기AWS Summit Seoul 2023 | 실시간 CDC 데이터 처리! Modern Transactional Data Lake 구축하기
AWS Summit Seoul 2023 | 실시간 CDC 데이터 처리! Modern Transactional Data Lake 구축하기
 
AWS Summit Seoul 2023 | 12가지 디자인 패턴으로 알아보는 클라우드 네이티브 마이크로서비스 아키텍처
AWS Summit Seoul 2023 | 12가지 디자인 패턴으로 알아보는 클라우드 네이티브 마이크로서비스 아키텍처AWS Summit Seoul 2023 | 12가지 디자인 패턴으로 알아보는 클라우드 네이티브 마이크로서비스 아키텍처
AWS Summit Seoul 2023 | 12가지 디자인 패턴으로 알아보는 클라우드 네이티브 마이크로서비스 아키텍처
 
AWS Summit Seoul 2023 | AWS에서 OpenTelemetry 기반의 애플리케이션 Observability 구축/활용하기
AWS Summit Seoul 2023 | AWS에서 OpenTelemetry 기반의 애플리케이션 Observability 구축/활용하기AWS Summit Seoul 2023 | AWS에서 OpenTelemetry 기반의 애플리케이션 Observability 구축/활용하기
AWS Summit Seoul 2023 | AWS에서 OpenTelemetry 기반의 애플리케이션 Observability 구축/활용하기
 

CI/CD 를 AWS 에서 손쉽게 구현해보자! ::: AWS Game Master 온라인 시리즈 #1

  • 1. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS Korea Game Tech Mar. 2021 AWS Game Master 온라인 시리즈#1 - AWS로 게임 개발 시작하기  2부: CI/CD를 AWS에서 손쉽게 구현해보자!
  • 2. © 2021, Amazon Web Services, Inc. or its Affiliates. 2부: CI/CD를 AWS에서 손쉽게 구현해보자! Code Family AWS Solutions Architect 구성완
  • 3. © 2021, Amazon Web Services, Inc. or its Affiliates. Agenda • 사전 실습 준비 1 • CI / CD • 배포 전략 • 사전 실습 준비 2 • AWS CI / CD – Code Series • 게임 Artifacts CI / CD • 게임 Artifacts CI / CD 실습
  • 4. © 2021, Amazon Web Services, Inc. or its Affiliates. Hands on Labs 사전 준비 EC2 Window server 설치
  • 5. © 2021, Amazon Web Services, Inc. or its Affiliates. 실습 사전 준비 1. AWS Console에서 진행 2. GitHub, Unity 계정 필요 3. Microsoft Remote Desktop 설치 필요
  • 6. © 2021, Amazon Web Services, Inc. or its Affiliates. CI / CD란? CI? Continuous Integration (지속적인 통합) CD? Continuous Delivery, Continuous Deployment (지속적인 전달, 배포)
  • 7. © 2021, Amazon Web Services, Inc. or its Affiliates. Monolith 배포 lifecycle Services Developers Delivery pipelines Monitor Build Test Release
  • 8. © 2021, Amazon Web Services, Inc. or its Affiliates. Microservice 배포 lifecycle Developers Services Delivery pipelines Monitor Build Test Release Monitor Build Test Release Monitor Build Test Release Monitor Build Test Release Monitor Build Test Release Monitor Build Test Release
  • 9. © 2021, Amazon Web Services, Inc. or its Affiliates. 배포 프로세스 단계 • 소스 코드 병합 • 새로운 코드 리뷰 • 코드 컴파일 • Unit test • Style check • 컨테이너 이미지 생성 및 배포 패키지 • Production 환경에 배포 • 빠른 에러 탐지를 위한 모니터링 • Integration test with other systems • Load test • UI test • Security test Source Build Test Production
  • 10. © 2021, Amazon Web Services, Inc. or its Affiliates. 1. 새로운 코드가 준비되면 자동으로 새로운 빌드가 시작 2. 일관 되고 반복 가능한 환경에서 코드를 빌드, 테스트 3. 지속적인 배포가 가능한 Artifacts 를 준비 4. 지속적인 빌드 실패에 대한 피드백 Continuous Integration Source Build Test Production Continuous integration
  • 11. © 2021, Amazon Web Services, Inc. or its Affiliates. Continuous delivery Source Build Test Production Continuous Delivery, Deployment 1. 자동으로 변경된 부분을 테스트하기 위한 staging 환경에 배포 2. 고객에게 영향을 주지 않고 안전하게 배포 가능 3. 배포 빈도가 증가, 배포 시간이 감소로 빠르게 새로운 빌드를 고객에게 제공 4. 배포 실패율이 감소 Continuous deployment
  • 12. © 2021, Amazon Web Services, Inc. or its Affiliates. CI / CD 기능의 핵심정리 자동화 • 더 빠른 배포 주기, 쉬운 빌드 과정, 실패율 낮아짐 • 개발자의 효율성 증가 일관된 환경 • 언제든지 배포 가능한 일관된 Artifacts 안전한 배포 • 고객에게 영항이 (거의) 없는 배포 – 무중단 배포 • 롤백의 용이성
  • 13. © 2021, Amazon Web Services, Inc. or its Affiliates. 배포 전략 In-place (rolling update) Blue-Green 배포 Canary
  • 14. © 2021, Amazon Web Services, Inc. or its Affiliates. In-place 배포 Elastic Load balancer V1 V1 V1 V1 Elastic Load balancer V2 V1 V1 V1 Elastic Load balancer V2 V2 V1 V1 Elastic Load balancer V2 V2 V2 V2
  • 15. © 2021, Amazon Web Services, Inc. or its Affiliates. In-place 배포 장점 • All-at-once보다 안전하게 배포 가능 • 무중단 배포가 가능 • 추가적인 컴퓨팅 리소스가 필요 없음 단점 • 에러 발생시 고객 영향도가 낮은 편 • 롤백에 많은 시간이 소요 - Container 기반으로 극복 가능 • 새로운 서비스와 공존이 가능할 때 가능한 배포 방법
  • 16. © 2021, Amazon Web Services, Inc. or its Affiliates. Blue - Green 배포 Elastic Load Balancer V1 V2
  • 17. © 2021, Amazon Web Services, Inc. or its Affiliates. Blue - Green 배포 Elastic Load Balancer V1 V2
  • 18. © 2021, Amazon Web Services, Inc. or its Affiliates. Blue - Green 배포 장점 • 무중단 배포가 가능 • 배포 전 Production 환경에서 테스트 가능 • 롤백이 매우 빠르고 편리 단점 • 배포시 최소 2배의 컴퓨팅 리소스 필요 - Cloud환경에서 극복 가능 • 경우에 따라 새로운 서비스와 공존이 가능할 때 가능한 배포 방법
  • 19. © 2021, Amazon Web Services, Inc. or its Affiliates. Canary 배포 Elastic Load Balancer V1 V2 95% 5%
  • 20. © 2021, Amazon Web Services, Inc. or its Affiliates. Canary 배포 Elastic Load Balancer V1 V2 50% 50%
  • 21. © 2021, Amazon Web Services, Inc. or its Affiliates. Canary 배포 Elastic Load Balancer V1 V2 0% 100%
  • 22. © 2021, Amazon Web Services, Inc. or its Affiliates. Canary 배포 장점 • 위험을 최소화하여 에러 탐지 가능 • A/B 테스트, 성능 모니터링 • In-place, Blue-Green 배포에 적용 가능 단점 • 배포 시간이 증가할 수 있음
  • 23. © 2021, Amazon Web Services, Inc. or its Affiliates. Hands on Labs 사전 준비 Unity, Jenkins 설치
  • 24. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS Code services Source Build Test Deploy Monitor Software 배포 단계: AWS CodeCommit AWS CodeBuild AWS CodeDeploy AWS CodePipeline AWS CodeStar AWS X-Ray Amazon CloudWatch AWS CodeBuild
  • 25. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS CodeStar – Pipeline 생성 • 몇 분 안에 IDE, 빌드, 테스트 및 배포를 위한 파이프라인 구성 • Lambda, EC2, Elastic Beanstalk 프로젝트 템플릿으로 시작 • Java, JavaScript, PHP, Ruby, C#, Python등 다양한 언어를 사용하여 시작 • 대시보드에서 개발 프로세스의 모든 단계를 추적 • 엑세스 권한을 손쉽게 관리(IAM) • Jira와 통합 가능
  • 26. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS CodeStar – Pipeline 생성 (예시) 이미 만들어진 template을 사용하여 매우 쉽게 프로비저닝 가능
  • 27. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS CodeStar – Pipeline 생성 (예시) CodeStar 대시보드
  • 28. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS CodePipeline – Pipeline • 빠르고 안정적인 서비스 배포를 위한 CI / CD 서비스 • 배포 프로세스를 모델링 및 시각화 • 코드가 변경될 때마다 코드를 빌드, 테스트, 배포 • Third-party tool과 AWS 서비스를 통합할 수 있음
  • 29. © 2021, Amazon Web Services, Inc. or its Affiliates. • Amazon EKS(Elastic Kubernetes Service)에 배포하는 과정 • 3가지 stage (Source, Build, Deploy - Lambda) AWS CodePipeline – Pipeline (예시)
  • 30. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS CodeCommit - Source • 완전 관리형 소스 제어 서버 • 고가용성 아키텍쳐 • 무제한 레포지토리(최대 1000개, 요청시 무제한 지원) • AWS CLI, SDK 뿐만 아니라 모든 Git 명령어를 지원하며, 기존 Git 도구와 연동 가능
  • 31. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS CodeBuild – Build • 소스 컴파일, 테스트, 소프트웨어 패키징을 위한 완전 관리형 빌드 서비스 • 여러 빌드를 동시에 처리가능 • 빌드 서버의 유지보수가 불필요 • 빌드를 완료할 때 까지 걸리는 시간(분)만 비용을 지불 • CloudWatch Events 를 통한 빌드 모니터링
  • 32. © 2021, Amazon Web Services, Inc. or its Affiliates. buildspec.yaml 일부 • Spring Java, Docker Container 빌드 • 빌드가 완료된 Docker Image를 ECR(Elastic Container Registry)에 배포 AWS CodeBuild – Build (예시)
  • 33. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS CodeDeploy - Deploy • 모든 인스턴스 및 Lambda에 대한 배포 자동화 • 복잡한 어플리케이션 업데이트 작업을 처리 • 무중단 배포를 위한 여러 배포 기능 제공 • 실패 시 자동 롤백 기능 • EC2, Lambda, ECS, 그리고 On-premises 서버에 배포 가능
  • 34. © 2021, Amazon Web Services, Inc. or its Affiliates. appspec.yaml • CodeStar로 생성한 Java Spring 프로젝트 AWS CodeDeploy – Deploy (예시)
  • 35. © 2021, Amazon Web Services, Inc. or its Affiliates. Game Artifacts 배포 Pipeline Source Build Test Production AWS CodeCommit AWS CodePipeline Third party on EC2 (ex Jenkins) Amazon S3 Amazon SNS AWS Device Farm
  • 36. © 2021, Amazon Web Services, Inc. or its Affiliates. AWS Device Farm • 다양한 물리적 디바이스를 사용하여 테스트 가능 • AWS의 내장 테스트 도구를 실행하거나 Appium, Calabash 및 Espresso와 같은 오픈 소스 테스트 프레임워크를 선택하여 테스트를 사용자 정의 • Android Studio, Jenkins 같은 통합 환경 및 IDE에 통합가능
  • 37. © 2021, Amazon Web Services, Inc. or its Affiliates. 실습 – Unity Build Pipeline for Android Source Build Production AWS CodePipeline Amazon S3 http://unity-build-lab.s3-website.ap-northeast-2.amazonaws.com Third party on EC2 (ex Jenkins)
  • 38. © 2021, Amazon Web Services, Inc. or its Affiliates. Hands on Labs
  • 39. © 2021, Amazon Web Services, Inc. or its Affiliates. Recipe & Estimate
  • 40. © 2021, Amazon Web Services, Inc. or its Affiliates. Recipe and Estimate (https://calculator.aws/#/) Scenario) QA 프로세스를 갖춘 소규모 게임 스튜디오 • 개발 단계 : 클라이언트 빌드 실습으로 비용 발생 없음 • 검증 단계 : 한 달 기간, 빌드 파이프라인 (배포 대상 서비스) 최대 10개 기준 o Amazon EC2(T3.large / Linux / SSD) + AWS CodePipeline + Amazon S3(1TB) = $113.26/월 o AWS Pricing Calculator • 서비스 단계 : 한 달 기간, 빌드 파이프라인 (배포 대상 서비스) 최대 3개 기준 o Amazon EC2(T3.large / Linux / SSD) + AWS CodePipeline + Amazon S3(1TB) = $108.26/월 o AWS Pricing Calculator • Total estimate : $221.52 (약 260,000)
  • 41. © 2021, Amazon Web Services, Inc. or its Affiliates. Thank you!