Upload
ifunfactory-inc
View
156
Download
10
Embed Size (px)
Citation preview
2017iFunFactoryDevDay-GreatTechnologyForGreatGames-
Python 과 AWS를 이용하여게임 테스트환경 구축하기Great Technology For Great Games
발 표 자 : 민 영 기
m i c h a e l m i n @ i f u n f a c t o r y . c o m
2017iFunFactoryDevDay-GreatTechnologyForGreatGames-
01 왜 클라우드인가?
Flexibility for a wide range of games
32017iFunFactoryDevDay-GreatTechnologyForGreatGames-
게임 테스트Chapter 01.
Great Technology For Great Games
42017iFunFactoryDevDay-GreatTechnologyForGreatGames-
게임 테스트Chapter 01.
Great Technology For Great Games
•재미 테스트•정말 게임이 재미있나
•기능 테스트•기획한 대로, 버그 없이 만들어졌나
•부하/스트레스 테스트•서비스할 만한 성능이 되나
52017iFunFactoryDevDay-GreatTechnologyForGreatGames-
부하 테스트Chapter 01.
Great Technology For Great Games
•서버 스펙이 얼마나 좋아야 하나
•최대 동접이 몇 명인가
•동접(요청) 증가에 따른 상태 변화는?
62017iFunFactoryDevDay-GreatTechnologyForGreatGames-
부하 테스트Chapter 01.
Great Technology For Great Games
게임 서버
더미 클라이언트
72017iFunFactoryDevDay-GreatTechnologyForGreatGames-
부하 테스트Chapter 01.
Great Technology For Great Games
클라우드에서서비스 할 것도
아닌데…
그냥사무실에서
하면안 되나요?
82017iFunFactoryDevDay-GreatTechnologyForGreatGames-
부하 테스트Chapter 01.
Great Technology For Great Games
하지만…
92017iFunFactoryDevDay-GreatTechnologyForGreatGames-
부하 테스트Chapter 01.
Great Technology For Great Games
게임 서버
더미 클라이언트
102017iFunFactoryDevDay-GreatTechnologyForGreatGames-
부하 테스트용 서버Chapter 01.
Great Technology For Great Games
•스펙 좋은 서버 머신 필요
•다양한 스펙의 머신 필요
•다수의 머신 필요
112017iFunFactoryDevDay-GreatTechnologyForGreatGames-
부하 테스트Chapter 01.
Great Technology For Great Games
게임 서버
더미 클라이언트
122017iFunFactoryDevDay-GreatTechnologyForGreatGames-
더미 클라이언트Chapter 01.
Great Technology For Great Games
•코어 많은 머신 필요
•Nic 가 좋은 머신 필요
•많은, 더 많은 머신 필요
132017iFunFactoryDevDay-GreatTechnologyForGreatGames-
부하 테스트Chapter 01.
Great Technology For Great Games
게임 서버
더미 클라이언트
142017iFunFactoryDevDay-GreatTechnologyForGreatGames-
네트워크Chapter 01.
Great Technology For Great Games
•회선/사무실 라우터가 병목이 될 수도• Bandwidth•라우터의 전송 속도
•사무실 내 네턱 속도 저하로 인한 갈굼
152017iFunFactoryDevDay-GreatTechnologyForGreatGames-
유지 비용 문제Chapter 01.
Great Technology For Great Games
•성능 좋은 장비들이 필요
•성능 좋은 장비들이 많이 필요
162017iFunFactoryDevDay-GreatTechnologyForGreatGames-
질러라?Chapter 01.
Great Technology For Great Games
172017iFunFactoryDevDay-GreatTechnologyForGreatGames-
효율성Chapter 01.
Great Technology For Great Games
성능 좋은(=비싼) 장비가
많이 필요하지만
항상 필요한 건 아님
182017iFunFactoryDevDay-GreatTechnologyForGreatGames-
왜 클라우드인가Chapter 01.
Great Technology For Great Games
필요한 리소스를필요한 때에 사용하고사용한 만큼만 지불
2017iFunFactoryDevDay-GreatTechnologyForGreatGames-
02 왜AWSPython인가?
Flexibility for a wide range of games
202017iFunFactoryDevDay-GreatTechnologyForGreatGames-
부하 테스트Chapter 02.
Great Technology For Great Games
•큰 데이터를 전송해야 하는 경우가 있음
•로그•디비 덤프•기타 메타데이터
국내 데이터센터가 존재하는 서비스를 사용
212017iFunFactoryDevDay-GreatTechnologyForGreatGames-
API/SDKChapter 02.
Great Technology For Great Games
•인스턴스 컨트롤 자동화에 필요
•대부분 RESTAPI 만 제공
• RESTAPI는 요청생성, 응답 파싱이 어려움
• SDK를 제공하는 서비스 사용
222017iFunFactoryDevDay-GreatTechnologyForGreatGames-
Amazon RDSChapter 02.
Great Technology For Great Games
• AMAZONRelationalDatabaseService
• RDBMS를 서비스 형태로 제공
•스냅샷 생성, 자동 백업 등의 기능 제공
232017iFunFactoryDevDay-GreatTechnologyForGreatGames-
Amazon ElasticacheChapter 02.
Great Technology For Great Games
• In-memory메모리 스토리지
•Memcached,Redis 사용 가능
•운영 및 안정성 확보에 필요한 기능 제공•스냅샷 생성 및 백업•샤딩
242017iFunFactoryDevDay-GreatTechnologyForGreatGames-
부하 테스트Chapter 02.
Great Technology For Great Games
테스트용도로쓸모가있나요?
252017iFunFactoryDevDay-GreatTechnologyForGreatGames-
RDS/ElasticacheChapter 02.
Great Technology For Great Games
•별도의 설치과정 없이 사용 가능•모니터링 기능 지원
262017iFunFactoryDevDay-GreatTechnologyForGreatGames-
왜 Python인가Chapter 02.
Great Technology For Great Games
2017iFunFactoryDevDay-GreatTechnologyForGreatGames-
03AWS 상에 Boto3 로테스트 환경 만들기
Flexibility for a wide range of games
282017iFunFactoryDevDay-GreatTechnologyForGreatGames-
Boto3Chapter 03.
Great Technology For Great Games
• AWS의 officialpythonsdk
• Json model기반 구현
•OOP기반의 리소스 관리(일부만…) 지원
292017iFunFactoryDevDay-GreatTechnologyForGreatGames-
Session Chapter 03.
Great Technology For Great Games
•인증 정보 등을 담는 자료구조
•모든 boto3api 는 session상에서 통신
302017iFunFactoryDevDay-GreatTechnologyForGreatGames-
Resource Chapter 03.
Great Technology For Great Games
•Objectoriented, 고수준 인터페이스
• Aws상의 자원에 대응
• Ec2instance,VPC,Subnet….
312017iFunFactoryDevDay-GreatTechnologyForGreatGames-
CollectoinChapter 03.
Great Technology For Great Games
• Resource들의 묶음
•보통 resource에서 관련있는 resource관리용으로 사용
•메소드들은 Chain형태로 사용 가능
322017iFunFactoryDevDay-GreatTechnologyForGreatGames-
WaiterChapter 03.
Great Technology For Great Games
• Resource의 상태가 변경될 때까지 block
•순차적으로 실행되어야 하는스크립트작성 등의 경우에 유용
332017iFunFactoryDevDay-GreatTechnologyForGreatGames-
ClientChapter 03.
Great Technology For Great Games
•저수준 api•모든 AWSAPI 사용 가능
342017iFunFactoryDevDay-GreatTechnologyForGreatGames-
구성도Chapter 03.
Great Technology For Great Games
352017iFunFactoryDevDay-GreatTechnologyForGreatGames-
TaggingChapter 03.
Great Technology For Great Games
•리소스 별로 key의종류가 다름• Id• name
• Tagging활용추천•한 타입의 리소스를여러개관리할 때편리
• Tagging지원하지않는 리소스도 있음
362017iFunFactoryDevDay-GreatTechnologyForGreatGames-
Endpoint 관리Chapter 03.
Great Technology For Great Games
•각호스트에 aws api 설치
• ElasticIP 등 다른 리소스활용
•접속 정보를 파일에 기록각머신에 전송
372017iFunFactoryDevDay-GreatTechnologyForGreatGames-
VPC 생성Chapter 03.
Great Technology For Great Games
•보안 설정을위해 별도 생성권장
•기본적으로외부에서 접근 불가
•의존성 있는 리소스가 많아 관리 어려움
382017iFunFactoryDevDay-GreatTechnologyForGreatGames-
VPC 생성Chapter 03.
Great Technology For Great Games
•외부 접근허용위해 다음작업 필요
• Internetgateway생성 및붙임
• Routingtable에 Internetgateway추가
• Securitygroup에 정책추가 후연동
392017iFunFactoryDevDay-GreatTechnologyForGreatGames-
Chapter 03.
Great Technology For Great Games
402017iFunFactoryDevDay-GreatTechnologyForGreatGames-
Chapter 03.
Great Technology For Great Games
412017iFunFactoryDevDay-GreatTechnologyForGreatGames-
남은 과제Chapter 03.
Great Technology For Great Games
•보안 설정•데모 버전은 모든 서비스가열려 있음
•저장소 공간•게임 로그등을남기려면저장소 변경 필요
•비용• Aws 비용계산시 사용시간은 올림계산
42
Great�Technology�For�Great�GamesGreat�Technology�For�Great�Games
Q&A
2017iFunFactoryDevDay-GreatTechnologyForGreatGames-
iFunFactory Development Teams
www.ifunfactory.com
+82-70-4923-6566
THANKS!Grea t Techno l ogy Fo r G r ea t Games , i FunFac t o r y