5. 서비스 소개
- 인도 선불 유심의 밸런스(잔량) 확인 및 충전
- 일 단위 데이터 사용량 통계정보
- 자동 잔액 알림, 충전 기능
- 리워드 광고 (CPI, CPC, CPM)
- 개인별 통신 패턴 분석기능을 기반으로 한 요금제
추천, 즉각적인 충전 플랫폼, E-Wallet (결제와 송금)
등 핀테크 서비스로 비즈니스를 확장 진행 중
7. 3만에서 5천만
3만 15만 100만 1,000만 2,000만 3,000만 5,000만
2015.06 2015.08 2016.01 2016.07 2016.10 2017.01 2017.05
밸런스 체크
서비스 시험 단계
Wallet License
PCI-DSS
인프라 보안
RBI 보안 감사
인도 전 지역 확대
데이터 분석 강화
충전 기능 제공
인력 채용 본격화
월렛 비즈니스 준비
지역 확대
델리 + 4개지역
Hybrid Cloud
8. 3만
AWS 가 뭔가요? (A)아마도 (W)웹 (S)서비스?
• 개발자 5인 (안드로이드 2명, 서버 3명)
• 서비스 시험 단계
• 인도 델리만 서비스
• 3만 다운로드 유저 대상 로그 수집 및 분석을 통한 전략 구상
• AWS Account 처음 겟!
9. 3만 - 인프라
ELB
Public Subnet
API 인증
API 로그
MySQL
users
Production VPC
IGW
Internet
AWS CLOUD
10. 3만 – 문제점 개선
아무것도 없었다.
• 로컬 빌드 후 war 를 tomcat 에 복사 배포…-> Jenkins 구성
• 유저 관리를 위한 CMS 개발
• 네트워크가 느리고 불안정. 3rd API call latency 이슈
-> 비동기 처리 Queue (RabbitMQ) 사용
• 어라 로그 서버가 죽어있었네… -> CloudWatch Alarm
• 개발 기술 문서 관리 및 이슈 트래킹을 위한 JIRA, Confluence
11. 15만
지역 확대로 인한 가입자 증가 대비
• 일일 가입자 1,000에서 3,000 으로 점차 증가
• 밸런스 (데이터 및 통화) 충전 기능 제공
• 인도 델리 외 Tier-1 4개 지역 확대 준비
12. 15만 - 인프라
ELB
Public Subnet
APIs
API Logs
MySQL
Master
users
Production VPC
IGW
Internet
AWS CLOUD
MySQL
Slave
Workers Memcached
RabbitMQ
Jenkins
JIRA
WIKI
CMS
CloudWatch alarm SNS Notification SQS
13. 15만 – 문제점 개선
사용자 확보를 위한 준비
• 지역 확대 후 사용자가 몰리면 어떻게 하지? -> Auto Scaling 구성
• Auto Scaling 는 인스턴스가 자동으로 뜨는데 버전 관리는?
-> Jenkins Release 버전 빌드 시 S3 업로드
-> Auto Scaling Hooks, Bash Shell S3 최종 배포 본 다운 후 실행
• 로그데이터 증가로 DB 분리
• 사용자 인증 토큰 Memcached 저장
14. 100만
델리 외 4개 지역 오픈
• 50만에서 100만까지 7일 (100만 달성 후 프로모션 중단)
• 인도 플레이 스토어 라이프 스타일 1위
• 일일 가입자 15만 (7일째)
15. 100 만 - 인프라
ELB
Public Subnet
APIs
API Logs
MySQL
Master
users
Production VPC
IGW
Internet
AWS CLOUD
MySQL
Slave
Workers Memcached
RabbitMQ
Jenkins
JIRA
WIKI
CMS
t2.medium*3
t2.medium*2
t2.medium
t2.medium
t2.micro
S3 CloudWatch alarm SNS Notification
16. 100 만 – 문제점 개선
사용자가 많아지니 알 수 없는 불안
• EC2 설치 MySQL 스케일 업 필요
-> RDS 이관 결정 ( AWS DMS 를 사용 중단시간 약 5분 )
• 사용자 로그 데이터 ELK (Elasticsearch+Logstash+Kibana)로 분리
• 개발자(5명)만 있으니 운영 부담을 줄이기 위해 AWS 최대한 활용
-> RabbitMQ 에서 SQS
-> 설치형 Memcached 에서 Elasticache memcached
17. 1,000 만
인도 전 지역 서비스 확대
• Payment Gateway 연동으로 신용카드 충전 서비스 시작
• 서버 API Spring Boot 로 변경
• 광고 적용 (CPI, CPC, CPM)
• 치팅과의 전쟁
-> APK 디컴파일 및 API 분석 후 다양한 방법으로 포인트 획득 시도
-> IP Block, API Signature 적용, Device 중복 검증
-> 루팅 Device 비율이 40% 이상으로 Android_ID, IMEI, Sim Serial
등 모든 정보를 조작해서 가입 시도.
18. 1,000 만 - 인프라
ELB
Public Subnet
APIs
API Logs
users
Production VPC
IGW
Internet
AWS CLOUD
Workers
Jenkins
JIRA
WIKI
CMS
RDS Memcached
RedisRDS
Workers
S3 SQSCloudWatch alarm SNS Notification
19. 1,000 만 – 문제점 개선
• 다양한 치팅과 Payment Gateway 연동으로 보안의 중요성 인식
-> 결제/충전 서버를 Private Subnet 으로, NAT Gateway 사용
• 대용량 로그 분석 시작. GA(google analytics) 대체 시스템 구성
-> AWS EMR Spark , Kinesis 구성, Zeppelin 으로 분석
DAU, MAU 등 통계 등 실시간 모니터링
• Database 부하를 줄이기 위해 Cache. AWS Elasticache Redis
• SSL 인증서 만료로 ACM (AWS Certificate Manager) 사용
성능, 보안, 데이터 분석
20. 2,000 만
인도 시장 상황 변화로 속도전!! 인력 채용 본격화
• 개발/운영/마케팅 등 다양한 포지션 인력 채용 본격화
• 개발팀 9인 (인프라 담당 없음)
• 결제/광고 매출 늘리기
• 사용자 확보를 위한 다양한 프로모션 시도
21. 2,000 만 - 인프라
ELB
Public subnet
Internet
gateway
API Workers
Auto Scaling
JIRA,CMS,WIKI … ETC
RDS
MemcachedRedis
RDS
API
Auto Scaling
Private subnet
NAT
Gateway API - Payment
Auto Scaling group Auto Scaling group
Worker - Payment
Production VPC
AWS CLOUD
ELB
S3
SQS
CloudWatch
SNS
Internet
gateway
EMR
Kinesis
Route53
Quick
Sight
22. 2,000 만 - 문제점
• API 서버 Monolithic -> Microservice Architecture 로 변화
-> Spring Boot + Spring Cloud
• 치터(어뷰저)를 차단할 시스템 필요
-> 데이터 기반 FDS 개발 준비
• 통계 시스템 개발 속도가 요구사항을 따라가지 못함
-> AWS QuickSight
• DNS 관리
-> Route53
시스템 개선 (1억 유저 대비)
23. 3,000 만
E-Wallet 서비스로
• 서비스 품질 개선
• RBI Wallet License (인도중앙은행)
• PCI-DSS 인증
• 인프라 및 시스템 보안 요구사항
24. 3,000 만 - 인프라
ELB
Public subnet
Internet
gateway
API
Gateway
Workers
Auto Scaling
JIRA,CMS,WIKI … ETC
RDS
MemcachedRedis
RDSAPIs
Auto Scaling
Private subnet
NAT
Gateway API - Payment
Auto Scaling group Auto Scaling group
Worker - Payment
Production VPC
AWS CLOUD
ELB
S3
SQS
CloudWatch
SNS
Internet
gateway
EMR
Kinesis
Route53
Quick
Sight
Discovery
25. 3,000 만 – 문제점 개선
보안 감사
• Singapole Region -> Mumbai Region 이관
• VPC 구성 부터 다시 (Security Group,Network ACL,Route Table …)
• 통합 모니터링 및 알람 -> Cloud Watch, Zabbix + Grafana
• 접근 제어 -> IAM Role, OpenVPN
• 취약점 분석 -> AWS Inspector
• 웹 방화벽 -> Cloud Front + WAF
• 감사로그 -> CloudWatch Logs, VPC Flow Log, Cloud Trail, Cloud Config
• 백업 -> S3
32. 5,000 만 – 문제점 개선
• Hybrid Cloud 아키텍쳐 구성 중..
• AWS Cloud - Direct Connect - IDC
현재 진행 중....
33. 마무리
회고
1. 3천만 까지 큰 어려움 없이 인프라 확장
2. 서비스가 성장하기 시작하면 인프라 변경이 부담 (잘
모를 땐 설정 변경도 무섭다) 미리 인프라 아키텍처를
고민하자.
3. AWS 설명서(사용자 가이드) 부터 시작
4. AWS Cloud 에서 Wallet 서비스는 기술적 보안
요구사항은 대부분 만족 하지만 일부 규제로 인해
Hybrid 형태로 변경