SlideShare a Scribd company logo
1 of 110
©2008 NEXON Corporation All Rights Reserved.
모바일 게임을 만들기 위한
AWS 고군분투기
2018년 4월 12일 넥슨토크
게임클라우드개발팀
최용호
©2008 NEXON Corporation All Rights Reserved.
발표자 소개
• 최용호
• (전) Vinus Entertainment 서버팀
• (현) 넥슨 인프라실 게임클라우드개발팀
• 자바카페 커뮤니티 운영진
©2008 NEXON Corporation All Rights Reserved.
게임 소개
©2008 NEXON Corporation All Rights Reserved.
발표 순서
자동화에 대한 고민
네트워크 구성에 대한 고민
서비스 선택에 대한 고민
부하 테스트에 대한 고민
게임 데이터 활용에 대한 고민
최종 아키텍처
©2008 NEXON Corporation All Rights Reserved.
자동화에 대한 고민
©2008 NEXON Corporation All Rights Reserved.
개발 환경
©2008 NEXON Corporation All Rights Reserved.
기존의 개발 환경 구성 방식
OS 설치
(리눅스)
패키지
업데이트
설치 가이드
확인
설치 가이드
확인
프로그램
설치
설치 가이드
확인
OS 환경설정
프로그램
설정
©2008 NEXON Corporation All Rights Reserved.
기존의 환경 구성 방식
OS 설치
(리눅스)
패키지
업데이트
설치 가이드
확인
설치 가이드
확인
프로그램
설치
설치 가이드
확인
OS 환경설정
프로그램
설정
설치 가이드에 변경이 발생하면?
©2008 NEXON Corporation All Rights Reserved.
기존의 환경 구성 방식
OS 설치
(리눅스)
패키지
업데이트
설치 가이드
확인
설치 가이드
확인
프로그램
설치
설치 가이드
확인
OS 환경설정
프로그램
설정
재설정 및 재설치 필요
©2008 NEXON Corporation All Rights Reserved.
자동화 해줄 무언가가 필요
©2008 NEXON Corporation All Rights Reserved.
Docker
©2008 NEXON Corporation All Rights Reserved.
서비스 별로 디렉토리를 만들어 Docker 파일 관리
©2008 NEXON Corporation All Rights Reserved.
Docker 파일과 설정 파일들
©2008 NEXON Corporation All Rights Reserved.
©2008 NEXON Corporation All Rights Reserved.
©2008 NEXON Corporation All Rights Reserved.
compose 명령을 최대한
간편하게 하기 위한 스크립트
©2008 NEXON Corporation All Rights Reserved.
빌드 및 배포
©2008 NEXON Corporation All Rights Reserved.
배포 절차
Build Server
©2008 NEXON Corporation All Rights Reserved.
배포 절차
Build Server
EC2 instance contents
Tomcat
©2008 NEXON Corporation All Rights Reserved.
배포 절차
Build Server
Building
EC2 instance contents
Tomcat
©2008 NEXON Corporation All Rights Reserved.
배포 절차
Build Server
W A
R
EC2 instance contents
Tomcat
©2008 NEXON Corporation All Rights Reserved.
배포 절차
Build Server
W A
R
EC2 instance contents
Tomcat
SCP
©2008 NEXON Corporation All Rights Reserved.
자동화 해줄 무언가가 필요
©2008 NEXON Corporation All Rights Reserved.
Jenkins
©2008 NEXON Corporation All Rights Reserved.
My Company Private Network
Jenkins
Server
EC2 instance contents
mariadb
redistomcat
Operating
Tool
tomcat
Game
각 서버 빌드 및 배포
개발 서버 배포
©2008 NEXON Corporation All Rights Reserved.
My Company Private Network
Jenkins
Server
S3
Elastic Beanstalk container
instances
1. 빌드 된 war파일 업로드
2. 배포
3. 업로드 된 war 파일로 배포 수행
라이브 서버 배포
©2008 NEXON Corporation All Rights Reserved.
tomcat
mariadb redis
Logstash elasticse
arch
kibanahttpd
Client
Pinpoint-
hbase
Pinpoint-
collector
Pinpoint-
web
Docker-
compose
Docker-
compose
Docker-
compose
Amazon
ECR
Jenkin
s
Kibana와 Pinpoint를 통해 서버 상태 확인
Docker Image들은 ECR을 사용하여
버전 관리
사내 서버들의 빌드 및 배포는
Jenkins를 통해 자동화
사내 개발 환경 아키텍처
©2008 NEXON Corporation All Rights Reserved.
네트워크 구성에 대한 고민
©2008 NEXON Corporation All Rights Reserved.
VPC
©2008 NEXON Corporation All Rights Reserved.
Availability Zone 1 Availability Zone 2
VPC
©2008 NEXON Corporation All Rights Reserved.
Availability Zone 1 Availability Zone 2
VPC
subnet subnet
©2008 NEXON Corporation All Rights Reserved.
Availability Zone 1 Availability Zone 2
VPC
subnet subnet
©2008 NEXON Corporation All Rights Reserved.
Availability Zone 1
Private subnet
Public subnet
Availability Zone 2
Private subnet
Public subnet
VPC
©2008 NEXON Corporation All Rights Reserved.
Availability Zone 1
Private subnet
Public subnet
Availability Zone 2
Private subnet
Public subnet
VPC
Elastic
Load balancer
User
Admin
instance
instance instance
Bastion
©2008 NEXON Corporation All Rights Reserved.
서비스 선택에 대한 고민
©2008 NEXON Corporation All Rights Reserved.
사내 환경과 동일하게
AWS에서도 Docker로 구성할 수 있을까?
©2008 NEXON Corporation All Rights Reserved.
Amazon ECS
©2008 NEXON Corporation All Rights Reserved.
검토 당시 서울리전에서
제공되지 않아 포기
Amazon ECS
©2008 NEXON Corporation All Rights Reserved.
직접 EC2 인스턴스에
Docker를 구성해서 사용해보자
©2008 NEXON Corporation All Rights Reserved.
©2008 NEXON Corporation All Rights Reserved.
Swarm
Manager AMI
Swarm
Worker AMI
Docker Swarm 노드 AMI로 생성
©2008 NEXON Corporation All Rights Reserved.
Swarm
Manager AMI
Swarm
Worker AMI
Join
인스턴스 생성 시
UserData 스크립트를 통해 join
Worker AMI는 인스턴스 구동 시 UserData 사용
©2008 NEXON Corporation All Rights Reserved.
Scale
Docker scale 명령으로 컨테이너 확장
©2008 NEXON Corporation All Rights Reserved.
docker service create --name test-tomcat --publish 8080:8080 --
reserve-cpu 1 tomcat
docker service scale test-tomcat=100
Docker Swarm에서 Auto Scaling?
©2008 NEXON Corporation All Rights Reserved.
©2008 NEXON Corporation All Rights Reserved.
Amazon
Elastic
Beanstalk
©2008 NEXON Corporation All Rights Reserved.
Elastic Benastalk 워크 플로우
Application
생성
Environment
생성
Application
Version
업로드
Application
Version
배포
©2008 NEXON Corporation All Rights Reserved.
Elastic Beanstalk 구성
Application
©2008 NEXON Corporation All Rights Reserved.
Elastic Beanstalk 구성
Environment
©2008 NEXON Corporation All Rights Reserved.
Environment 설정
©2008 NEXON Corporation All Rights Reserved.
Environment 구성 저장 기능
©2008 NEXON Corporation All Rights Reserved.
Application 버전 관리 및 배포
©2008 NEXON Corporation All Rights Reserved.
주의해서 변경해야 할 설정들
• 오토스케일링의 시작 구성(Launch Configuration
• VPC 설정
• 인스턴스 type 변경
• AMI 변경
• SSH key 변경
• 등등.. 더 있을 수도..
©2008 NEXON Corporation All Rights Reserved.
부하테스트에 대한 고민
©2008 NEXON Corporation All Rights Reserved.
원하는 만큼 확장 가능한 부하테스트가 목표
instances
instance
instance
instance
Classic
Load
Balancer
©2008 NEXON Corporation All Rights Reserved.
Spot
Instance
instances
부하 전달
Spot
Instance
Spot
Instance
Classic
Load
Balancer
비용 절감을 위해 스팟 인스턴스 사용
©2008 NEXON Corporation All Rights Reserved.
Spot
Instance
ssm
Run Command
instances
부하 전달
Spot
Instance
Spot
Instance
Classic
Load
Balancer
System Management를 사용한 스크립트 실행
©2008 NEXON Corporation All Rights Reserved.
instance
Spot
Instance
ssm
Run Command
instances
부하 전달
Loadtest
Server
Spot
Instance
Spot
Instance
스팟 인스턴스를 생성하고,
생성된 인스턴스들에 대한 상태 확인과
명령을 내리기 위한 서버
Classic
Load
Balancer
명령을 내리기 위한 툴 제작
©2008 NEXON Corporation All Rights Reserved.
부하테스트를 위한 툴
©2008 NEXON Corporation All Rights Reserved.
Jmeter의 진행 상황 수집을 위한 로그
©2008 NEXON Corporation All Rights Reserved.
성능 측정을 위한 툴 - pinpoint
©2008 NEXON Corporation All Rights Reserved.
성능 측정을 위한 툴 - X-Ray
©2008 NEXON Corporation All Rights Reserved.
게임 데이터 활용에 대한 고민
©2008 NEXON Corporation All Rights Reserved.
지표 데이터 설계
사용자 계정
캐릭터
무기
아이템
상점
...
가입
로그인
구매
판매
...
Title SubTitle
©2008 NEXON Corporation All Rights Reserved.
지표 데이터 예
상점
노점상 뽑기 전투
아이템
재화
Title
SubTitle
©2008 NEXON Corporation All Rights Reserved.
데이터 계층 구조
스테이지 클리어
재화 획득
아이템 획득
캐릭터 획득
경험치 획득
퀘스트 달성
...
ID : 10000
ID : 10001, parentID : 10000
ID : 10002, parentID : 10000
ID : 10003, parentID : 10000
ID : 10004, parentID : 10000
ID : 10005, parentID : 10000
©2008 NEXON Corporation All Rights Reserved.
데이터를 어디에 저장하고,
어떻게 시각화를 할까?
©2008 NEXON Corporation All Rights Reserved.
데이터 수집/가공/저장/시각화 - 엘라스틱스택
©2008 NEXON Corporation All Rights Reserved.
{
"id": "b46adf7e5bf14c4ca18868f930e2670f",
"uid": 5824735036189904000,
"nickname": "yongho",
"title": "GOODS",
"subTitle": "TAKE",
"detail": {
"gold": 120,
"diamondBonus": 0,
"diamondCash": 0,
"survivalCoin": 0,
"pvpCoin": 0,
"stamina": 1,
"supplies": 0,
"component": 0,
"exp": 0
},
"parentId": "d9388af36d63482b851e33f78225a9be",
"parentTitle": "STAGE",
"parentSubTitle": "CLEAR",
"timestamp": "2017-11-08T06:00:19.551Z",
"loglevel": "TRACE"
}
엘라스틱서치에 기록된 데이터
재화 획득
©2008 NEXON Corporation All Rights Reserved.
{
"id": "b46adf7e5bf14c4ca18868f930e2670f",
"uid": 5824735036189904000,
"nickname": "yongho",
"title": "GOODS",
"subTitle": "TAKE",
"detail": {
"gold": 120,
"diamondBonus": 0,
"diamondCash": 0,
"survivalCoin": 0,
"pvpCoin": 0,
"stamina": 1,
"supplies": 0,
"component": 0,
"exp": 0
},
"parentId": "d9388af36d63482b851e33f78225a9be",
"parentTitle": "STAGE",
"parentSubTitle": "CLEAR",
"timestamp": "2017-11-08T06:00:19.551Z",
"loglevel": "TRACE"
}
엘라스틱서치에 기록된 데이터
스테이지 클리어를 통해 재화 획득
©2008 NEXON Corporation All Rights Reserved.
{
"id": "b46adf7e5bf14c4ca18868f930e2670f",
"uid": 5824735036189904000,
"nickname": "yongho",
"title": "GOODS",
"subTitle": "TAKE",
"detail": {
"gold": 120,
"diamondBonus": 0,
"diamondCash": 0,
"survivalCoin": 0,
"pvpCoin": 0,
"stamina": 1,
"supplies": 0,
"component": 0,
"exp": 0
},
"parentId": "d9388af36d63482b851e33f78225a9be",
"parentTitle": "STAGE",
"parentSubTitle": "CLEAR",
"timestamp": "2017-11-08T06:00:19.551Z",
"loglevel": "TRACE"
}
특정 행위에 연관된 다른 행위들 확인
©2008 NEXON Corporation All Rights Reserved.
엘라스틱스택을 활용한 데이터 파이프라인
Web
Server
EC2
Instance
filebeat
©2008 NEXON Corporation All Rights Reserved.
엘라스틱스택을 활용한 데이터 파이프라인
Web
Server
EC2
Instance
EC2
Instance
filebeat
logstash
©2008 NEXON Corporation All Rights Reserved.
엘라스틱스택을 활용한 데이터 파이프라인
Web
Server
EC2
Instance
EC2
Instance
EC2
Instance
filebeat
logstash elasticsearch
©2008 NEXON Corporation All Rights Reserved.
어떻게 머신 사양을 선택하고,
언제 엘라스틱서치 노드를 추가해야할까?
©2008 NEXON Corporation All Rights Reserved.
한대의 머신에서 한계치 측정
원활하게 동작하는 상태 (r4.large)
©2008 NEXON Corporation All Rights Reserved.
한대의 머신에서 한계치 측정
GC가 급격하게 발생하면서 CPU가 바빠짐
©2008 NEXON Corporation All Rights Reserved.
한대의 머신에서 한계치 측정
©2008 NEXON Corporation All Rights Reserved.
장애가 발생하면 어떻게 하지?
©2008 NEXON Corporation All Rights Reserved.
장애 대응
Web
Server
EC2
Instance
EC2
Instance
EC2
Instance
filebeat
logstash elasticsearch
©2008 NEXON Corporation All Rights Reserved.
장애 대응
Web
Server
EC2
Instance
EC2
Instance
EC2
Instance
filebeat
logstash elasticsearch
©2008 NEXON Corporation All Rights Reserved.
장애 대응
Web
Server
EC2
Instance
EC2
Instance
EC2
Instance
filebeat
logstash elasticsearch
©2008 NEXON Corporation All Rights Reserved.
관리할게 너무 많음…ㅠㅠ
©2008 NEXON Corporation All Rights Reserved.
Amazon
Elasticsearch
Service
©2008 NEXON Corporation All Rights Reserved.
데이터 파이프라인을 AWS로 이전
ElasticsearchAmazon
Kinesis
Streams
Lambda
function
Amazon
Kinesis–
enabled app
©2008 NEXON Corporation All Rights Reserved.
Filebeat 대신 Kienesis Agent
ElasticsearchAmazon
Kinesis
Streams
Lambda
function
Amazon
Kinesis–
enabled app
©2008 NEXON Corporation All Rights Reserved.
Logstash 대신 Kinesis와 Lambda
ElasticsearchAmazon
Kinesis
Streams
Lambda
function
Amazon
Kinesis–
enabled app
©2008 NEXON Corporation All Rights Reserved.
Elasticsearch 대신 Amazon Elasticsearch
ElasticsearchAmazon
Kinesis
Streams
Lambda
function
Amazon
Kinesis–
enabled app
©2008 NEXON Corporation All Rights Reserved.
Lambda 샘플 코드 제공
https://docs.aws.amazon.com/ko_kr/elasticsearch-service/latest/developerguide/es-
aws-integrations.html
https://github.com/aws-samples/amazon-elasticsearch-lambda-
samples
©2008 NEXON Corporation All Rights Reserved.
엘라스틱서치에서
데이터가 유실되면 어떻게 하지?
©2008 NEXON Corporation All Rights Reserved.
데이터 이중화
S3Amazon
Kinesis–
enabled app
©2008 NEXON Corporation All Rights Reserved.
파일로그 확인 - Athena
S3 Amazon
Athena
Amazon
Kinesis–
enabled app
©2008 NEXON Corporation All Rights Reserved.
로그를 위한 S3 버킷 구조
로그레벨 / 연도 / 월 / 일 / *.txt
©2008 NEXON Corporation All Rights Reserved.
로그를 위한 S3 버킷 구조
2018년 2월의 DEBUG 레벨 로그 파일들
일자별로 로그 파일 관리
©2008 NEXON Corporation All Rights Reserved.
Athena 테이블 생성
S3 버킷 경로 지정.
파일 스캔 범위를
좁힐 수록 성능 향상
©2008 NEXON Corporation All Rights Reserved.
Athena 테이블 구조
Athena에서는 월별, 일자별로 테이블을 생성하여 파일 탐색 범위를 최소화
©2008 NEXON Corporation All Rights Reserved.
Athena 테이블 구조
일자별로 테이블을 생성해서 스캔 범위 축소
©2008 NEXON Corporation All Rights Reserved.
테이블이 너무 많아짐…ㅠㅠ
©2008 NEXON Corporation All Rights Reserved.
Athena 테이블 파티션 생성
©2008 NEXON Corporation All Rights Reserved.
Athena 테이블 파티션 등록
Alter Table trace_partitioned add Partition (year=2018, month=4, day=18)
LOCATION ‘s3://hive-live-log/TRACE/2018/04/18/’
파티션 등록
©2008 NEXON Corporation All Rights Reserved.
Athena 테이블 파티션 쿼리
Alter Table trace_partitioned add Partition (year=2018, month=4, day=18)
LOCATION ‘s3://hive-live-log/TRACE/2018/04/18/’
파티션 등록
Select * from trace_partitioned where timestamp between timestamp '2018-04-
18 00:00:00.000' and timestamp '2018-04-19 00:00:00.000’
and year = 2018 and month = 4 and day = 18
파티션 쿼리
©2008 NEXON Corporation All Rights Reserved.
데이터 시각화
©2008 NEXON Corporation All Rights Reserved.
데이터 시각화 - 키바나
대외비 대외비 대외비 대외비
대외비 대외비
©2008 NEXON Corporation All Rights Reserved.
대외비 대외비 대외비 대외비
대외비 대외비
데이터 시각화 - 키바나
인덱스만 남기는 실수
어떠한 아이템인지 알아볼 수 없음
©2008 NEXON Corporation All Rights Reserved.
대외비 대외비 대외비 대외비
대외비 대외비
데이터 시각화 - 키바나
인덱스만 남기는 실수
어떠한 아이템인지 알아볼 수 없음
잔존율과 같이 로직이
필요한 경우에는 키바나로 불가능
©2008 NEXON Corporation All Rights Reserved.
키바나만으로 불가능한 기능들을 위한 툴
©2008 NEXON Corporation All Rights Reserved.
최종 아키텍처
©2008 NEXON Corporation All Rights Reserved.
VPC
Availability Zone 1
Private subnet
Public subnet
Availability Zone 2
Private subnet
Public subnet
Elastic Beanstalk container
Auto Scaling group
instance instanceAurora ElastiCache
Redis
ElastiCache
Redis
Aurora
instance
Classic
Load
Balancer
NAT
Gateway
Route 53
User
CloudFront S3
ElasticsearchAmazon
Kinesis
Streams
Lambda
function
Web
Serv
er
Web
Server
Operating
Tool
instance
Statistics
Server
Amazon
CloudWatch
SMS
API Provider
Admin
Amazon
Athena
Log data
Statistics
data
Client Resource
instance
Bastion
X-ray
©2008 NEXON Corporation All Rights Reserved.
Q & A
©2008 NEXON Corporation All Rights Reserved.
감사합니다

More Related Content

Similar to [넥슨토크] 모바일게임 하이브 런칭기 (2018)

모바일 게임을 만들기 위한 AWS 활용 고군분투기::최용호::AWS Summit Seoul 2018
모바일 게임을 만들기 위한 AWS 활용 고군분투기::최용호::AWS Summit Seoul 2018모바일 게임을 만들기 위한 AWS 활용 고군분투기::최용호::AWS Summit Seoul 2018
모바일 게임을 만들기 위한 AWS 활용 고군분투기::최용호::AWS Summit Seoul 2018Amazon Web Services Korea
 
[DDD] 모바일 게임을 만들기 위한 AWS 고군분투기 (2019)
[DDD] 모바일 게임을 만들기 위한 AWS 고군분투기 (2019)[DDD] 모바일 게임을 만들기 위한 AWS 고군분투기 (2019)
[DDD] 모바일 게임을 만들기 위한 AWS 고군분투기 (2019)용호 최
 
빠르고 안정적인 게임 시장 진출을 위한 클라우드 전략 - 최용호
빠르고 안정적인 게임 시장 진출을 위한 클라우드 전략 - 최용호빠르고 안정적인 게임 시장 진출을 위한 클라우드 전략 - 최용호
빠르고 안정적인 게임 시장 진출을 위한 클라우드 전략 - 최용호용호 최
 
[AWS Summit 2018] 모바일 게임을 만들기 위한 AWS 고군분투기
[AWS Summit 2018] 모바일 게임을 만들기 위한 AWS 고군분투기[AWS Summit 2018] 모바일 게임을 만들기 위한 AWS 고군분투기
[AWS Summit 2018] 모바일 게임을 만들기 위한 AWS 고군분투기용호 최
 
마이크로 서비스를 위한 AWS의 다양한 컨테이너 옵션 l 이창수 솔루션즈 아키텍트
마이크로 서비스를 위한 AWS의 다양한 컨테이너 옵션 l 이창수 솔루션즈 아키텍트마이크로 서비스를 위한 AWS의 다양한 컨테이너 옵션 l 이창수 솔루션즈 아키텍트
마이크로 서비스를 위한 AWS의 다양한 컨테이너 옵션 l 이창수 솔루션즈 아키텍트Amazon Web Services Korea
 
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1Amazon Web Services Korea
 
AWS Elastic Beanstalk 활용하여 수 분만에 코드 배포하기 (최원근, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS Elastic Beanstalk 활용하여 수 분만에 코드 배포하기 (최원근, AWS 솔루션즈 아키텍트) :: AWS DevDay2018AWS Elastic Beanstalk 활용하여 수 분만에 코드 배포하기 (최원근, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS Elastic Beanstalk 활용하여 수 분만에 코드 배포하기 (최원근, AWS 솔루션즈 아키텍트) :: AWS DevDay2018Amazon Web Services Korea
 
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개OpenStack Korea Community
 
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...Amazon Web Services Korea
 
[AWSKRUG] 모바일게임 하이브 런칭기 (2018)
[AWSKRUG] 모바일게임 하이브 런칭기 (2018)[AWSKRUG] 모바일게임 하이브 런칭기 (2018)
[AWSKRUG] 모바일게임 하이브 런칭기 (2018)용호 최
 
AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...
AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...
AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...Amazon Web Services Korea
 
모바일 게임 하이브 런칭기 - 최용호
모바일 게임 하이브 런칭기 - 최용호모바일 게임 하이브 런칭기 - 최용호
모바일 게임 하이브 런칭기 - 최용호용호 최
 
AWS Kubernetes 서비스 자세히 살펴보기 (정영준 & 이창수, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS Kubernetes 서비스 자세히 살펴보기 (정영준 & 이창수, AWS 솔루션즈 아키텍트) :: AWS DevDay2018AWS Kubernetes 서비스 자세히 살펴보기 (정영준 & 이창수, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS Kubernetes 서비스 자세히 살펴보기 (정영준 & 이창수, AWS 솔루션즈 아키텍트) :: AWS DevDay2018Amazon Web Services Korea
 
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021Amazon Web Services Korea
 
AWS 관리형 서비스를 중심으로 한 NCSOFT 와 Reality Reflection의 클라우드 사용기 - AWS Summit Seoul ...
AWS 관리형 서비스를 중심으로 한 NCSOFT 와 Reality Reflection의 클라우드 사용기 - AWS Summit Seoul ...AWS 관리형 서비스를 중심으로 한 NCSOFT 와 Reality Reflection의 클라우드 사용기 - AWS Summit Seoul ...
AWS 관리형 서비스를 중심으로 한 NCSOFT 와 Reality Reflection의 클라우드 사용기 - AWS Summit Seoul ...Amazon Web Services Korea
 
AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018Amazon Web Services Korea
 
클라우드 시작하기 - 장기웅, AWS 테크니컬 트레이너 :: AWSome Day 온라인 컨퍼런스
클라우드 시작하기 - 장기웅, AWS 테크니컬 트레이너 :: AWSome Day 온라인 컨퍼런스클라우드 시작하기 - 장기웅, AWS 테크니컬 트레이너 :: AWSome Day 온라인 컨퍼런스
클라우드 시작하기 - 장기웅, AWS 테크니컬 트레이너 :: AWSome Day 온라인 컨퍼런스Amazon Web Services Korea
 
AWS Fault Injection Simulator를 통한 실전 카오스 엔지니어링 - 윤석찬 AWS 수석 테크에반젤리스트 / 김신 SW엔...
AWS Fault Injection Simulator를 통한 실전 카오스 엔지니어링 - 윤석찬 AWS 수석 테크에반젤리스트 / 김신 SW엔...AWS Fault Injection Simulator를 통한 실전 카오스 엔지니어링 - 윤석찬 AWS 수석 테크에반젤리스트 / 김신 SW엔...
AWS Fault Injection Simulator를 통한 실전 카오스 엔지니어링 - 윤석찬 AWS 수석 테크에반젤리스트 / 김신 SW엔...Amazon Web Services Korea
 
삼성전자 5G Core CNF를 위한 클라우드 여정 이야기 - 최우형 AWS 솔루션즈 아키텍트 / 구동영 프로, 삼성전자 :: AWS Su...
삼성전자 5G Core CNF를 위한 클라우드 여정 이야기 - 최우형 AWS 솔루션즈 아키텍트 / 구동영 프로, 삼성전자 :: AWS Su...삼성전자 5G Core CNF를 위한 클라우드 여정 이야기 - 최우형 AWS 솔루션즈 아키텍트 / 구동영 프로, 삼성전자 :: AWS Su...
삼성전자 5G Core CNF를 위한 클라우드 여정 이야기 - 최우형 AWS 솔루션즈 아키텍트 / 구동영 프로, 삼성전자 :: AWS Su...Amazon Web Services Korea
 
[AWS Migration Workshop] SQL Server Performance on AWS
[AWS Migration Workshop]  SQL Server Performance on AWS[AWS Migration Workshop]  SQL Server Performance on AWS
[AWS Migration Workshop] SQL Server Performance on AWSAmazon Web Services Korea
 

Similar to [넥슨토크] 모바일게임 하이브 런칭기 (2018) (20)

모바일 게임을 만들기 위한 AWS 활용 고군분투기::최용호::AWS Summit Seoul 2018
모바일 게임을 만들기 위한 AWS 활용 고군분투기::최용호::AWS Summit Seoul 2018모바일 게임을 만들기 위한 AWS 활용 고군분투기::최용호::AWS Summit Seoul 2018
모바일 게임을 만들기 위한 AWS 활용 고군분투기::최용호::AWS Summit Seoul 2018
 
[DDD] 모바일 게임을 만들기 위한 AWS 고군분투기 (2019)
[DDD] 모바일 게임을 만들기 위한 AWS 고군분투기 (2019)[DDD] 모바일 게임을 만들기 위한 AWS 고군분투기 (2019)
[DDD] 모바일 게임을 만들기 위한 AWS 고군분투기 (2019)
 
빠르고 안정적인 게임 시장 진출을 위한 클라우드 전략 - 최용호
빠르고 안정적인 게임 시장 진출을 위한 클라우드 전략 - 최용호빠르고 안정적인 게임 시장 진출을 위한 클라우드 전략 - 최용호
빠르고 안정적인 게임 시장 진출을 위한 클라우드 전략 - 최용호
 
[AWS Summit 2018] 모바일 게임을 만들기 위한 AWS 고군분투기
[AWS Summit 2018] 모바일 게임을 만들기 위한 AWS 고군분투기[AWS Summit 2018] 모바일 게임을 만들기 위한 AWS 고군분투기
[AWS Summit 2018] 모바일 게임을 만들기 위한 AWS 고군분투기
 
마이크로 서비스를 위한 AWS의 다양한 컨테이너 옵션 l 이창수 솔루션즈 아키텍트
마이크로 서비스를 위한 AWS의 다양한 컨테이너 옵션 l 이창수 솔루션즈 아키텍트마이크로 서비스를 위한 AWS의 다양한 컨테이너 옵션 l 이창수 솔루션즈 아키텍트
마이크로 서비스를 위한 AWS의 다양한 컨테이너 옵션 l 이창수 솔루션즈 아키텍트
 
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
 
AWS Elastic Beanstalk 활용하여 수 분만에 코드 배포하기 (최원근, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS Elastic Beanstalk 활용하여 수 분만에 코드 배포하기 (최원근, AWS 솔루션즈 아키텍트) :: AWS DevDay2018AWS Elastic Beanstalk 활용하여 수 분만에 코드 배포하기 (최원근, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS Elastic Beanstalk 활용하여 수 분만에 코드 배포하기 (최원근, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
 
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개
 
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...
 
[AWSKRUG] 모바일게임 하이브 런칭기 (2018)
[AWSKRUG] 모바일게임 하이브 런칭기 (2018)[AWSKRUG] 모바일게임 하이브 런칭기 (2018)
[AWSKRUG] 모바일게임 하이브 런칭기 (2018)
 
AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...
AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...
AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...
 
모바일 게임 하이브 런칭기 - 최용호
모바일 게임 하이브 런칭기 - 최용호모바일 게임 하이브 런칭기 - 최용호
모바일 게임 하이브 런칭기 - 최용호
 
AWS Kubernetes 서비스 자세히 살펴보기 (정영준 & 이창수, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS Kubernetes 서비스 자세히 살펴보기 (정영준 & 이창수, AWS 솔루션즈 아키텍트) :: AWS DevDay2018AWS Kubernetes 서비스 자세히 살펴보기 (정영준 & 이창수, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS Kubernetes 서비스 자세히 살펴보기 (정영준 & 이창수, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
 
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
 
AWS 관리형 서비스를 중심으로 한 NCSOFT 와 Reality Reflection의 클라우드 사용기 - AWS Summit Seoul ...
AWS 관리형 서비스를 중심으로 한 NCSOFT 와 Reality Reflection의 클라우드 사용기 - AWS Summit Seoul ...AWS 관리형 서비스를 중심으로 한 NCSOFT 와 Reality Reflection의 클라우드 사용기 - AWS Summit Seoul ...
AWS 관리형 서비스를 중심으로 한 NCSOFT 와 Reality Reflection의 클라우드 사용기 - AWS Summit Seoul ...
 
AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
 
클라우드 시작하기 - 장기웅, AWS 테크니컬 트레이너 :: AWSome Day 온라인 컨퍼런스
클라우드 시작하기 - 장기웅, AWS 테크니컬 트레이너 :: AWSome Day 온라인 컨퍼런스클라우드 시작하기 - 장기웅, AWS 테크니컬 트레이너 :: AWSome Day 온라인 컨퍼런스
클라우드 시작하기 - 장기웅, AWS 테크니컬 트레이너 :: AWSome Day 온라인 컨퍼런스
 
AWS Fault Injection Simulator를 통한 실전 카오스 엔지니어링 - 윤석찬 AWS 수석 테크에반젤리스트 / 김신 SW엔...
AWS Fault Injection Simulator를 통한 실전 카오스 엔지니어링 - 윤석찬 AWS 수석 테크에반젤리스트 / 김신 SW엔...AWS Fault Injection Simulator를 통한 실전 카오스 엔지니어링 - 윤석찬 AWS 수석 테크에반젤리스트 / 김신 SW엔...
AWS Fault Injection Simulator를 통한 실전 카오스 엔지니어링 - 윤석찬 AWS 수석 테크에반젤리스트 / 김신 SW엔...
 
삼성전자 5G Core CNF를 위한 클라우드 여정 이야기 - 최우형 AWS 솔루션즈 아키텍트 / 구동영 프로, 삼성전자 :: AWS Su...
삼성전자 5G Core CNF를 위한 클라우드 여정 이야기 - 최우형 AWS 솔루션즈 아키텍트 / 구동영 프로, 삼성전자 :: AWS Su...삼성전자 5G Core CNF를 위한 클라우드 여정 이야기 - 최우형 AWS 솔루션즈 아키텍트 / 구동영 프로, 삼성전자 :: AWS Su...
삼성전자 5G Core CNF를 위한 클라우드 여정 이야기 - 최우형 AWS 솔루션즈 아키텍트 / 구동영 프로, 삼성전자 :: AWS Su...
 
[AWS Migration Workshop] SQL Server Performance on AWS
[AWS Migration Workshop]  SQL Server Performance on AWS[AWS Migration Workshop]  SQL Server Performance on AWS
[AWS Migration Workshop] SQL Server Performance on AWS
 

More from 용호 최

작업공간 - 나만을 위한 카페를 찾는 카페 유목민을 위한 서비스
작업공간 - 나만을 위한 카페를 찾는 카페 유목민을 위한 서비스작업공간 - 나만을 위한 카페를 찾는 카페 유목민을 위한 서비스
작업공간 - 나만을 위한 카페를 찾는 카페 유목민을 위한 서비스용호 최
 
내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - CI/CD
내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - CI/CD내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - CI/CD
내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - CI/CD용호 최
 
내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - 백엔드 아키텍처
내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - 백엔드 아키텍처내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - 백엔드 아키텍처
내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - 백엔드 아키텍처용호 최
 
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호용호 최
 
개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호용호 최
 
Terraform 입문 - 최용호
Terraform 입문 - 최용호Terraform 입문 - 최용호
Terraform 입문 - 최용호용호 최
 
ElasticStack으로 다양한 수집 아키텍처 구성하기
ElasticStack으로 다양한 수집 아키텍처 구성하기ElasticStack으로 다양한 수집 아키텍처 구성하기
ElasticStack으로 다양한 수집 아키텍처 구성하기용호 최
 
데이터 수집부터 시각화까지
데이터 수집부터 시각화까지데이터 수집부터 시각화까지
데이터 수집부터 시각화까지용호 최
 
[For.D] 개발자 경력을 위한 소프트 스킬 (2019)
[For.D] 개발자 경력을 위한 소프트 스킬 (2019)[For.D] 개발자 경력을 위한 소프트 스킬 (2019)
[For.D] 개발자 경력을 위한 소프트 스킬 (2019)용호 최
 
[자바카페] Elasticsearch Aggregation (2018)
[자바카페] Elasticsearch Aggregation (2018)[자바카페] Elasticsearch Aggregation (2018)
[자바카페] Elasticsearch Aggregation (2018)용호 최
 
[GCP Summit 2018] Kubernetes with Nginx and Elasticsearch on GCP
[GCP Summit 2018] Kubernetes with Nginx and Elasticsearch on GCP[GCP Summit 2018] Kubernetes with Nginx and Elasticsearch on GCP
[GCP Summit 2018] Kubernetes with Nginx and Elasticsearch on GCP용호 최
 
[넥슨] kubernetes 소개 (2018)
[넥슨] kubernetes 소개 (2018)[넥슨] kubernetes 소개 (2018)
[넥슨] kubernetes 소개 (2018)용호 최
 
[자바카페] Infra CI (2018)
[자바카페] Infra CI (2018)[자바카페] Infra CI (2018)
[자바카페] Infra CI (2018)용호 최
 
[자바카페] 람다 아키텍처, 더 깊이 살펴보기
[자바카페] 람다 아키텍처, 더 깊이 살펴보기[자바카페] 람다 아키텍처, 더 깊이 살펴보기
[자바카페] 람다 아키텍처, 더 깊이 살펴보기용호 최
 
[자바카페] 람다 일괄처리 계층 사례
[자바카페] 람다 일괄처리 계층 사례[자바카페] 람다 일괄처리 계층 사례
[자바카페] 람다 일괄처리 계층 사례용호 최
 
[자바카페] 람다 일괄처리 계층
[자바카페] 람다 일괄처리 계층[자바카페] 람다 일괄처리 계층
[자바카페] 람다 일괄처리 계층용호 최
 
[자바카페] Amazon Elastic Beanstalk 소개 (2017)
[자바카페] Amazon Elastic Beanstalk 소개 (2017)[자바카페] Amazon Elastic Beanstalk 소개 (2017)
[자바카페] Amazon Elastic Beanstalk 소개 (2017)용호 최
 
[자바카페] 자바 객체지향 프로그래밍 (2017)
[자바카페] 자바 객체지향 프로그래밍 (2017)[자바카페] 자바 객체지향 프로그래밍 (2017)
[자바카페] 자바 객체지향 프로그래밍 (2017)용호 최
 
Solr 디렉토리 구조와 관리 콘솔
Solr 디렉토리 구조와 관리 콘솔Solr 디렉토리 구조와 관리 콘솔
Solr 디렉토리 구조와 관리 콘솔용호 최
 
[Solr 스터디] Solr 설정 및 색인 (2017)
[Solr 스터디] Solr 설정 및 색인 (2017)[Solr 스터디] Solr 설정 및 색인 (2017)
[Solr 스터디] Solr 설정 및 색인 (2017)용호 최
 

More from 용호 최 (20)

작업공간 - 나만을 위한 카페를 찾는 카페 유목민을 위한 서비스
작업공간 - 나만을 위한 카페를 찾는 카페 유목민을 위한 서비스작업공간 - 나만을 위한 카페를 찾는 카페 유목민을 위한 서비스
작업공간 - 나만을 위한 카페를 찾는 카페 유목민을 위한 서비스
 
내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - CI/CD
내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - CI/CD내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - CI/CD
내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - CI/CD
 
내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - 백엔드 아키텍처
내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - 백엔드 아키텍처내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - 백엔드 아키텍처
내 주변 작업하기 좋은 카페 찾아주는 웹앱 "작업공간" - 백엔드 아키텍처
 
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호
 
개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호
 
Terraform 입문 - 최용호
Terraform 입문 - 최용호Terraform 입문 - 최용호
Terraform 입문 - 최용호
 
ElasticStack으로 다양한 수집 아키텍처 구성하기
ElasticStack으로 다양한 수집 아키텍처 구성하기ElasticStack으로 다양한 수집 아키텍처 구성하기
ElasticStack으로 다양한 수집 아키텍처 구성하기
 
데이터 수집부터 시각화까지
데이터 수집부터 시각화까지데이터 수집부터 시각화까지
데이터 수집부터 시각화까지
 
[For.D] 개발자 경력을 위한 소프트 스킬 (2019)
[For.D] 개발자 경력을 위한 소프트 스킬 (2019)[For.D] 개발자 경력을 위한 소프트 스킬 (2019)
[For.D] 개발자 경력을 위한 소프트 스킬 (2019)
 
[자바카페] Elasticsearch Aggregation (2018)
[자바카페] Elasticsearch Aggregation (2018)[자바카페] Elasticsearch Aggregation (2018)
[자바카페] Elasticsearch Aggregation (2018)
 
[GCP Summit 2018] Kubernetes with Nginx and Elasticsearch on GCP
[GCP Summit 2018] Kubernetes with Nginx and Elasticsearch on GCP[GCP Summit 2018] Kubernetes with Nginx and Elasticsearch on GCP
[GCP Summit 2018] Kubernetes with Nginx and Elasticsearch on GCP
 
[넥슨] kubernetes 소개 (2018)
[넥슨] kubernetes 소개 (2018)[넥슨] kubernetes 소개 (2018)
[넥슨] kubernetes 소개 (2018)
 
[자바카페] Infra CI (2018)
[자바카페] Infra CI (2018)[자바카페] Infra CI (2018)
[자바카페] Infra CI (2018)
 
[자바카페] 람다 아키텍처, 더 깊이 살펴보기
[자바카페] 람다 아키텍처, 더 깊이 살펴보기[자바카페] 람다 아키텍처, 더 깊이 살펴보기
[자바카페] 람다 아키텍처, 더 깊이 살펴보기
 
[자바카페] 람다 일괄처리 계층 사례
[자바카페] 람다 일괄처리 계층 사례[자바카페] 람다 일괄처리 계층 사례
[자바카페] 람다 일괄처리 계층 사례
 
[자바카페] 람다 일괄처리 계층
[자바카페] 람다 일괄처리 계층[자바카페] 람다 일괄처리 계층
[자바카페] 람다 일괄처리 계층
 
[자바카페] Amazon Elastic Beanstalk 소개 (2017)
[자바카페] Amazon Elastic Beanstalk 소개 (2017)[자바카페] Amazon Elastic Beanstalk 소개 (2017)
[자바카페] Amazon Elastic Beanstalk 소개 (2017)
 
[자바카페] 자바 객체지향 프로그래밍 (2017)
[자바카페] 자바 객체지향 프로그래밍 (2017)[자바카페] 자바 객체지향 프로그래밍 (2017)
[자바카페] 자바 객체지향 프로그래밍 (2017)
 
Solr 디렉토리 구조와 관리 콘솔
Solr 디렉토리 구조와 관리 콘솔Solr 디렉토리 구조와 관리 콘솔
Solr 디렉토리 구조와 관리 콘솔
 
[Solr 스터디] Solr 설정 및 색인 (2017)
[Solr 스터디] Solr 설정 및 색인 (2017)[Solr 스터디] Solr 설정 및 색인 (2017)
[Solr 스터디] Solr 설정 및 색인 (2017)
 

[넥슨토크] 모바일게임 하이브 런칭기 (2018)

  • 1. ©2008 NEXON Corporation All Rights Reserved. 모바일 게임을 만들기 위한 AWS 고군분투기 2018년 4월 12일 넥슨토크 게임클라우드개발팀 최용호
  • 2. ©2008 NEXON Corporation All Rights Reserved. 발표자 소개 • 최용호 • (전) Vinus Entertainment 서버팀 • (현) 넥슨 인프라실 게임클라우드개발팀 • 자바카페 커뮤니티 운영진
  • 3. ©2008 NEXON Corporation All Rights Reserved. 게임 소개
  • 4. ©2008 NEXON Corporation All Rights Reserved. 발표 순서 자동화에 대한 고민 네트워크 구성에 대한 고민 서비스 선택에 대한 고민 부하 테스트에 대한 고민 게임 데이터 활용에 대한 고민 최종 아키텍처
  • 5. ©2008 NEXON Corporation All Rights Reserved. 자동화에 대한 고민
  • 6. ©2008 NEXON Corporation All Rights Reserved. 개발 환경
  • 7. ©2008 NEXON Corporation All Rights Reserved. 기존의 개발 환경 구성 방식 OS 설치 (리눅스) 패키지 업데이트 설치 가이드 확인 설치 가이드 확인 프로그램 설치 설치 가이드 확인 OS 환경설정 프로그램 설정
  • 8. ©2008 NEXON Corporation All Rights Reserved. 기존의 환경 구성 방식 OS 설치 (리눅스) 패키지 업데이트 설치 가이드 확인 설치 가이드 확인 프로그램 설치 설치 가이드 확인 OS 환경설정 프로그램 설정 설치 가이드에 변경이 발생하면?
  • 9. ©2008 NEXON Corporation All Rights Reserved. 기존의 환경 구성 방식 OS 설치 (리눅스) 패키지 업데이트 설치 가이드 확인 설치 가이드 확인 프로그램 설치 설치 가이드 확인 OS 환경설정 프로그램 설정 재설정 및 재설치 필요
  • 10. ©2008 NEXON Corporation All Rights Reserved. 자동화 해줄 무언가가 필요
  • 11. ©2008 NEXON Corporation All Rights Reserved. Docker
  • 12. ©2008 NEXON Corporation All Rights Reserved. 서비스 별로 디렉토리를 만들어 Docker 파일 관리
  • 13. ©2008 NEXON Corporation All Rights Reserved. Docker 파일과 설정 파일들
  • 14. ©2008 NEXON Corporation All Rights Reserved.
  • 15. ©2008 NEXON Corporation All Rights Reserved.
  • 16. ©2008 NEXON Corporation All Rights Reserved. compose 명령을 최대한 간편하게 하기 위한 스크립트
  • 17. ©2008 NEXON Corporation All Rights Reserved. 빌드 및 배포
  • 18. ©2008 NEXON Corporation All Rights Reserved. 배포 절차 Build Server
  • 19. ©2008 NEXON Corporation All Rights Reserved. 배포 절차 Build Server EC2 instance contents Tomcat
  • 20. ©2008 NEXON Corporation All Rights Reserved. 배포 절차 Build Server Building EC2 instance contents Tomcat
  • 21. ©2008 NEXON Corporation All Rights Reserved. 배포 절차 Build Server W A R EC2 instance contents Tomcat
  • 22. ©2008 NEXON Corporation All Rights Reserved. 배포 절차 Build Server W A R EC2 instance contents Tomcat SCP
  • 23. ©2008 NEXON Corporation All Rights Reserved. 자동화 해줄 무언가가 필요
  • 24. ©2008 NEXON Corporation All Rights Reserved. Jenkins
  • 25. ©2008 NEXON Corporation All Rights Reserved. My Company Private Network Jenkins Server EC2 instance contents mariadb redistomcat Operating Tool tomcat Game 각 서버 빌드 및 배포 개발 서버 배포
  • 26. ©2008 NEXON Corporation All Rights Reserved. My Company Private Network Jenkins Server S3 Elastic Beanstalk container instances 1. 빌드 된 war파일 업로드 2. 배포 3. 업로드 된 war 파일로 배포 수행 라이브 서버 배포
  • 27. ©2008 NEXON Corporation All Rights Reserved. tomcat mariadb redis Logstash elasticse arch kibanahttpd Client Pinpoint- hbase Pinpoint- collector Pinpoint- web Docker- compose Docker- compose Docker- compose Amazon ECR Jenkin s Kibana와 Pinpoint를 통해 서버 상태 확인 Docker Image들은 ECR을 사용하여 버전 관리 사내 서버들의 빌드 및 배포는 Jenkins를 통해 자동화 사내 개발 환경 아키텍처
  • 28. ©2008 NEXON Corporation All Rights Reserved. 네트워크 구성에 대한 고민
  • 29. ©2008 NEXON Corporation All Rights Reserved. VPC
  • 30. ©2008 NEXON Corporation All Rights Reserved. Availability Zone 1 Availability Zone 2 VPC
  • 31. ©2008 NEXON Corporation All Rights Reserved. Availability Zone 1 Availability Zone 2 VPC subnet subnet
  • 32. ©2008 NEXON Corporation All Rights Reserved. Availability Zone 1 Availability Zone 2 VPC subnet subnet
  • 33. ©2008 NEXON Corporation All Rights Reserved. Availability Zone 1 Private subnet Public subnet Availability Zone 2 Private subnet Public subnet VPC
  • 34. ©2008 NEXON Corporation All Rights Reserved. Availability Zone 1 Private subnet Public subnet Availability Zone 2 Private subnet Public subnet VPC Elastic Load balancer User Admin instance instance instance Bastion
  • 35. ©2008 NEXON Corporation All Rights Reserved. 서비스 선택에 대한 고민
  • 36. ©2008 NEXON Corporation All Rights Reserved. 사내 환경과 동일하게 AWS에서도 Docker로 구성할 수 있을까?
  • 37. ©2008 NEXON Corporation All Rights Reserved. Amazon ECS
  • 38. ©2008 NEXON Corporation All Rights Reserved. 검토 당시 서울리전에서 제공되지 않아 포기 Amazon ECS
  • 39. ©2008 NEXON Corporation All Rights Reserved. 직접 EC2 인스턴스에 Docker를 구성해서 사용해보자
  • 40. ©2008 NEXON Corporation All Rights Reserved.
  • 41. ©2008 NEXON Corporation All Rights Reserved. Swarm Manager AMI Swarm Worker AMI Docker Swarm 노드 AMI로 생성
  • 42. ©2008 NEXON Corporation All Rights Reserved. Swarm Manager AMI Swarm Worker AMI Join 인스턴스 생성 시 UserData 스크립트를 통해 join Worker AMI는 인스턴스 구동 시 UserData 사용
  • 43. ©2008 NEXON Corporation All Rights Reserved. Scale Docker scale 명령으로 컨테이너 확장
  • 44. ©2008 NEXON Corporation All Rights Reserved. docker service create --name test-tomcat --publish 8080:8080 -- reserve-cpu 1 tomcat docker service scale test-tomcat=100 Docker Swarm에서 Auto Scaling?
  • 45. ©2008 NEXON Corporation All Rights Reserved.
  • 46. ©2008 NEXON Corporation All Rights Reserved. Amazon Elastic Beanstalk
  • 47. ©2008 NEXON Corporation All Rights Reserved. Elastic Benastalk 워크 플로우 Application 생성 Environment 생성 Application Version 업로드 Application Version 배포
  • 48. ©2008 NEXON Corporation All Rights Reserved. Elastic Beanstalk 구성 Application
  • 49. ©2008 NEXON Corporation All Rights Reserved. Elastic Beanstalk 구성 Environment
  • 50. ©2008 NEXON Corporation All Rights Reserved. Environment 설정
  • 51. ©2008 NEXON Corporation All Rights Reserved. Environment 구성 저장 기능
  • 52. ©2008 NEXON Corporation All Rights Reserved. Application 버전 관리 및 배포
  • 53. ©2008 NEXON Corporation All Rights Reserved. 주의해서 변경해야 할 설정들 • 오토스케일링의 시작 구성(Launch Configuration • VPC 설정 • 인스턴스 type 변경 • AMI 변경 • SSH key 변경 • 등등.. 더 있을 수도..
  • 54. ©2008 NEXON Corporation All Rights Reserved. 부하테스트에 대한 고민
  • 55. ©2008 NEXON Corporation All Rights Reserved. 원하는 만큼 확장 가능한 부하테스트가 목표 instances instance instance instance Classic Load Balancer
  • 56. ©2008 NEXON Corporation All Rights Reserved. Spot Instance instances 부하 전달 Spot Instance Spot Instance Classic Load Balancer 비용 절감을 위해 스팟 인스턴스 사용
  • 57. ©2008 NEXON Corporation All Rights Reserved. Spot Instance ssm Run Command instances 부하 전달 Spot Instance Spot Instance Classic Load Balancer System Management를 사용한 스크립트 실행
  • 58. ©2008 NEXON Corporation All Rights Reserved. instance Spot Instance ssm Run Command instances 부하 전달 Loadtest Server Spot Instance Spot Instance 스팟 인스턴스를 생성하고, 생성된 인스턴스들에 대한 상태 확인과 명령을 내리기 위한 서버 Classic Load Balancer 명령을 내리기 위한 툴 제작
  • 59. ©2008 NEXON Corporation All Rights Reserved. 부하테스트를 위한 툴
  • 60. ©2008 NEXON Corporation All Rights Reserved. Jmeter의 진행 상황 수집을 위한 로그
  • 61. ©2008 NEXON Corporation All Rights Reserved. 성능 측정을 위한 툴 - pinpoint
  • 62. ©2008 NEXON Corporation All Rights Reserved. 성능 측정을 위한 툴 - X-Ray
  • 63. ©2008 NEXON Corporation All Rights Reserved. 게임 데이터 활용에 대한 고민
  • 64. ©2008 NEXON Corporation All Rights Reserved. 지표 데이터 설계 사용자 계정 캐릭터 무기 아이템 상점 ... 가입 로그인 구매 판매 ... Title SubTitle
  • 65. ©2008 NEXON Corporation All Rights Reserved. 지표 데이터 예 상점 노점상 뽑기 전투 아이템 재화 Title SubTitle
  • 66. ©2008 NEXON Corporation All Rights Reserved. 데이터 계층 구조 스테이지 클리어 재화 획득 아이템 획득 캐릭터 획득 경험치 획득 퀘스트 달성 ... ID : 10000 ID : 10001, parentID : 10000 ID : 10002, parentID : 10000 ID : 10003, parentID : 10000 ID : 10004, parentID : 10000 ID : 10005, parentID : 10000
  • 67. ©2008 NEXON Corporation All Rights Reserved. 데이터를 어디에 저장하고, 어떻게 시각화를 할까?
  • 68. ©2008 NEXON Corporation All Rights Reserved. 데이터 수집/가공/저장/시각화 - 엘라스틱스택
  • 69. ©2008 NEXON Corporation All Rights Reserved. { "id": "b46adf7e5bf14c4ca18868f930e2670f", "uid": 5824735036189904000, "nickname": "yongho", "title": "GOODS", "subTitle": "TAKE", "detail": { "gold": 120, "diamondBonus": 0, "diamondCash": 0, "survivalCoin": 0, "pvpCoin": 0, "stamina": 1, "supplies": 0, "component": 0, "exp": 0 }, "parentId": "d9388af36d63482b851e33f78225a9be", "parentTitle": "STAGE", "parentSubTitle": "CLEAR", "timestamp": "2017-11-08T06:00:19.551Z", "loglevel": "TRACE" } 엘라스틱서치에 기록된 데이터 재화 획득
  • 70. ©2008 NEXON Corporation All Rights Reserved. { "id": "b46adf7e5bf14c4ca18868f930e2670f", "uid": 5824735036189904000, "nickname": "yongho", "title": "GOODS", "subTitle": "TAKE", "detail": { "gold": 120, "diamondBonus": 0, "diamondCash": 0, "survivalCoin": 0, "pvpCoin": 0, "stamina": 1, "supplies": 0, "component": 0, "exp": 0 }, "parentId": "d9388af36d63482b851e33f78225a9be", "parentTitle": "STAGE", "parentSubTitle": "CLEAR", "timestamp": "2017-11-08T06:00:19.551Z", "loglevel": "TRACE" } 엘라스틱서치에 기록된 데이터 스테이지 클리어를 통해 재화 획득
  • 71. ©2008 NEXON Corporation All Rights Reserved. { "id": "b46adf7e5bf14c4ca18868f930e2670f", "uid": 5824735036189904000, "nickname": "yongho", "title": "GOODS", "subTitle": "TAKE", "detail": { "gold": 120, "diamondBonus": 0, "diamondCash": 0, "survivalCoin": 0, "pvpCoin": 0, "stamina": 1, "supplies": 0, "component": 0, "exp": 0 }, "parentId": "d9388af36d63482b851e33f78225a9be", "parentTitle": "STAGE", "parentSubTitle": "CLEAR", "timestamp": "2017-11-08T06:00:19.551Z", "loglevel": "TRACE" } 특정 행위에 연관된 다른 행위들 확인
  • 72. ©2008 NEXON Corporation All Rights Reserved. 엘라스틱스택을 활용한 데이터 파이프라인 Web Server EC2 Instance filebeat
  • 73. ©2008 NEXON Corporation All Rights Reserved. 엘라스틱스택을 활용한 데이터 파이프라인 Web Server EC2 Instance EC2 Instance filebeat logstash
  • 74. ©2008 NEXON Corporation All Rights Reserved. 엘라스틱스택을 활용한 데이터 파이프라인 Web Server EC2 Instance EC2 Instance EC2 Instance filebeat logstash elasticsearch
  • 75. ©2008 NEXON Corporation All Rights Reserved. 어떻게 머신 사양을 선택하고, 언제 엘라스틱서치 노드를 추가해야할까?
  • 76. ©2008 NEXON Corporation All Rights Reserved. 한대의 머신에서 한계치 측정 원활하게 동작하는 상태 (r4.large)
  • 77. ©2008 NEXON Corporation All Rights Reserved. 한대의 머신에서 한계치 측정 GC가 급격하게 발생하면서 CPU가 바빠짐
  • 78. ©2008 NEXON Corporation All Rights Reserved. 한대의 머신에서 한계치 측정
  • 79. ©2008 NEXON Corporation All Rights Reserved. 장애가 발생하면 어떻게 하지?
  • 80. ©2008 NEXON Corporation All Rights Reserved. 장애 대응 Web Server EC2 Instance EC2 Instance EC2 Instance filebeat logstash elasticsearch
  • 81. ©2008 NEXON Corporation All Rights Reserved. 장애 대응 Web Server EC2 Instance EC2 Instance EC2 Instance filebeat logstash elasticsearch
  • 82. ©2008 NEXON Corporation All Rights Reserved. 장애 대응 Web Server EC2 Instance EC2 Instance EC2 Instance filebeat logstash elasticsearch
  • 83. ©2008 NEXON Corporation All Rights Reserved. 관리할게 너무 많음…ㅠㅠ
  • 84. ©2008 NEXON Corporation All Rights Reserved. Amazon Elasticsearch Service
  • 85. ©2008 NEXON Corporation All Rights Reserved. 데이터 파이프라인을 AWS로 이전 ElasticsearchAmazon Kinesis Streams Lambda function Amazon Kinesis– enabled app
  • 86. ©2008 NEXON Corporation All Rights Reserved. Filebeat 대신 Kienesis Agent ElasticsearchAmazon Kinesis Streams Lambda function Amazon Kinesis– enabled app
  • 87. ©2008 NEXON Corporation All Rights Reserved. Logstash 대신 Kinesis와 Lambda ElasticsearchAmazon Kinesis Streams Lambda function Amazon Kinesis– enabled app
  • 88. ©2008 NEXON Corporation All Rights Reserved. Elasticsearch 대신 Amazon Elasticsearch ElasticsearchAmazon Kinesis Streams Lambda function Amazon Kinesis– enabled app
  • 89. ©2008 NEXON Corporation All Rights Reserved. Lambda 샘플 코드 제공 https://docs.aws.amazon.com/ko_kr/elasticsearch-service/latest/developerguide/es- aws-integrations.html https://github.com/aws-samples/amazon-elasticsearch-lambda- samples
  • 90. ©2008 NEXON Corporation All Rights Reserved. 엘라스틱서치에서 데이터가 유실되면 어떻게 하지?
  • 91. ©2008 NEXON Corporation All Rights Reserved. 데이터 이중화 S3Amazon Kinesis– enabled app
  • 92. ©2008 NEXON Corporation All Rights Reserved. 파일로그 확인 - Athena S3 Amazon Athena Amazon Kinesis– enabled app
  • 93. ©2008 NEXON Corporation All Rights Reserved. 로그를 위한 S3 버킷 구조 로그레벨 / 연도 / 월 / 일 / *.txt
  • 94. ©2008 NEXON Corporation All Rights Reserved. 로그를 위한 S3 버킷 구조 2018년 2월의 DEBUG 레벨 로그 파일들 일자별로 로그 파일 관리
  • 95. ©2008 NEXON Corporation All Rights Reserved. Athena 테이블 생성 S3 버킷 경로 지정. 파일 스캔 범위를 좁힐 수록 성능 향상
  • 96. ©2008 NEXON Corporation All Rights Reserved. Athena 테이블 구조 Athena에서는 월별, 일자별로 테이블을 생성하여 파일 탐색 범위를 최소화
  • 97. ©2008 NEXON Corporation All Rights Reserved. Athena 테이블 구조 일자별로 테이블을 생성해서 스캔 범위 축소
  • 98. ©2008 NEXON Corporation All Rights Reserved. 테이블이 너무 많아짐…ㅠㅠ
  • 99. ©2008 NEXON Corporation All Rights Reserved. Athena 테이블 파티션 생성
  • 100. ©2008 NEXON Corporation All Rights Reserved. Athena 테이블 파티션 등록 Alter Table trace_partitioned add Partition (year=2018, month=4, day=18) LOCATION ‘s3://hive-live-log/TRACE/2018/04/18/’ 파티션 등록
  • 101. ©2008 NEXON Corporation All Rights Reserved. Athena 테이블 파티션 쿼리 Alter Table trace_partitioned add Partition (year=2018, month=4, day=18) LOCATION ‘s3://hive-live-log/TRACE/2018/04/18/’ 파티션 등록 Select * from trace_partitioned where timestamp between timestamp '2018-04- 18 00:00:00.000' and timestamp '2018-04-19 00:00:00.000’ and year = 2018 and month = 4 and day = 18 파티션 쿼리
  • 102. ©2008 NEXON Corporation All Rights Reserved. 데이터 시각화
  • 103. ©2008 NEXON Corporation All Rights Reserved. 데이터 시각화 - 키바나 대외비 대외비 대외비 대외비 대외비 대외비
  • 104. ©2008 NEXON Corporation All Rights Reserved. 대외비 대외비 대외비 대외비 대외비 대외비 데이터 시각화 - 키바나 인덱스만 남기는 실수 어떠한 아이템인지 알아볼 수 없음
  • 105. ©2008 NEXON Corporation All Rights Reserved. 대외비 대외비 대외비 대외비 대외비 대외비 데이터 시각화 - 키바나 인덱스만 남기는 실수 어떠한 아이템인지 알아볼 수 없음 잔존율과 같이 로직이 필요한 경우에는 키바나로 불가능
  • 106. ©2008 NEXON Corporation All Rights Reserved. 키바나만으로 불가능한 기능들을 위한 툴
  • 107. ©2008 NEXON Corporation All Rights Reserved. 최종 아키텍처
  • 108. ©2008 NEXON Corporation All Rights Reserved. VPC Availability Zone 1 Private subnet Public subnet Availability Zone 2 Private subnet Public subnet Elastic Beanstalk container Auto Scaling group instance instanceAurora ElastiCache Redis ElastiCache Redis Aurora instance Classic Load Balancer NAT Gateway Route 53 User CloudFront S3 ElasticsearchAmazon Kinesis Streams Lambda function Web Serv er Web Server Operating Tool instance Statistics Server Amazon CloudWatch SMS API Provider Admin Amazon Athena Log data Statistics data Client Resource instance Bastion X-ray
  • 109. ©2008 NEXON Corporation All Rights Reserved. Q & A
  • 110. ©2008 NEXON Corporation All Rights Reserved. 감사합니다