Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

AWS 클라우드로 천만명 웹 서비스 확장하기 - 윤석찬 백승현 - AWS Summit 2016

4,590 views

Published on

5월 17일 서울COEX에서 열린 AWS Summit Seoul 2016에서 윤석찬 테크니컬 에반젤리스트 및 디스패치 백승현 님이 발표하신 "AWS 클라우드로 천만명 웹 서비스 확장하기" 발표자료입니다

Published in: Technology
  • Be the first to comment

AWS 클라우드로 천만명 웹 서비스 확장하기 - 윤석찬 백승현 - AWS Summit 2016

  1. 1. AWS 클라우드로 천만명 웹 서비스 확장하기 윤석찬% 5KG코리아 테크에반젤리스트 백승현% 디스패치 7HC
  2. 2. 목차 § AWS 기본 지식 3가지 § 사용자 증가에 따른 클라우드 확장 방법 § 스케일 업을 통한 수직적 확장 § 부하 분산 및 멀티 5M를 통한 수평적 확장 § 높은 성능과 i용성을 위한 w급 아키텍처 § 오토 스케일링 § 고객 사례: 디스패치 § 클라우드 네이티브 전략 § 인프라 자동화 및 모니터링 § 새로운 흐름3 서버 없는(GRrbRrlRss# 아키텍처 § 마무리
  3. 3. 멋진 클라우드 아키텍처를 위한 AWS 기본 지식 3가지
  4. 4. US-WEST (Oregon) EU (Ireland) ASIA PACIFIC (Tokyo) US-WEST (N. California) SOUTH AMERICA (Sao Paulo) US-EAST (N. Virginia) AWS GOVCLOUD (US) ASIA PACIFIC (Sydney) ASIA PACIFIC (Singapore) CHINA (Beijing) 12 Regions 33 Availability Zones 55 Edge Locations EU (Frankfurt) ASIA PACIFIC (Seoul) 고가용성 글로벌 클라우드 인프라1
  5. 5. Availability Zone Availability Zone Edge Locations Seoul Region 고가용성 글로벌 클라우드 인프라 Amazon Route 53 Amazon CloudFront User 1
  6. 6. vCPU 32 GPU 4 g2.8xlarge = $2.6 per hour (버지니아 기준) x 50 vCPU 1,600 GPU 200 g2.8xlarge x 50 = $130 per hour 언제나 원하는 대로 사용한 만큼2 스팟인스턴스를 쓴다면? = $13 per hour
  7. 7. $aws ec2-run-instances ami-b232d0db --instance-count 50 --instance-type g2.8xlarge --region us-east-1 $aws ec2-stop-instances i-10a64379 i-10a64280 ... 언제나 원하는 대로 사용한 만큼2
  8. 8. AWS 클라우드의 다양하고 폭넓은 서비스 고객 및 기술 지원 영업 지원 wp지원 프로페셔널 컨설팅 교육 및 인증 보안 및 빌링 시스템 파트너 생태v 솔루션 아키텍트 엔터프라이즈 i상 테스크톱 기업용 공유 도구 기업용 이메일 백업 및 복구 글로벌 리전 (FRTVon# i용 영역 (5M# 콘텐츠 배포 지점(9QTRs# 인프라 핵심 서비스 컴퓨팅 JAs% 5ato&sPNlVnT% LoNQ 6NlNnPVnT% 7ontNVnRrs% 7loaQ SanPtVons 스토리지 COWRPt% 6loPXs% :VlR% 5rPUVbNl% IZport(9dport 데이터베이스 FRlNtVonNl% BoGEL% 7NPUVnT% AVTrNtVon 네트워킹 JD7% 8L% 8BG 콘텐츠 배포 (78B# 하이브리드 환경 데이터 백업 통합 앱 o발 환u 전용 회선 연t 통합 인증 통합 리소스 관리 네트워크 통합 서비스 접근 제어 사용자 인증 관리 암호 키 관리 및 저장 모니터링 로그 기업 자원 설정 및 보w 리소스 사용량 및 l사 보안 및 규정 준수 기업 내 규정 준수 웹 방화벽 비지니 스 앱 비지니스 인텔리전스 데이터베이스 8RbCps 도구 네트워킹보안 스토리지 IoT 규칙 엔진 디바이스 쉐도우 디바이스 G8? 레지스트리 디바이스 s이트웨이 o발 및 운영 도구모바일 서비스앱 서비스데이터 분석 데이터웨어 하우스 HNQoop( GpNrX 실시k 데이터 저장 머신 러닝 9lNstVP GRNrPU 서비스 알람 및 큐 서비스 워크 플로우 풀텍스트 r색 9ZNVl 전송 동영상 변환 원 클릭 앱 o발 모바일 인증 기기 동기화 모바일 앱 테스트 푸시 알림 8RbCps 리소스 관리 앱 라이프사이클 관리 도구 콘테이너 서비스 클라우드 함수 리소스 템플릿 5DI GNtRcNe 실시k 데이터 분석 비지니스 인텔리전스 모바일 분석 모바일 허브 마켓 플레이스 3
  9. 9. 비지니스 요구 사항에 맞는 0)여o 이상의 서비스 조립을 통해 유연한 활용 i능 AWS 클라우드의 다양하고 폭넓은 서비스 AWS 활용 = Building Block 조립 3
  10. 10. 이제 시작해볼까요? 첫날! 첫 사용자!
  11. 11. 1 user You
  12. 12. 첫날! 첫 사용자 1명 Amazon Route 53 • 도메인 네임 서비스 • 글로벌 부하 분산 • 5KG 7loaQ에 최적화 Amazon Elastic Compute Cloud • 하나의 인스턴스(i상 서버# 구성 • 웹 서버 • 데이터베이스 • 시스템 운영 • 파일 저장h. EC2 instance Elastic IP User Amazon Route 53
  13. 13. 서버 트래픽↗ “좀 더 성능 좋은 인스턴스!” 스케일업(Scale-Up) 손 쉽s 인스턴스 타입을 변u함으로서 서비스 확장 i능 다양한 인스턴스 타입 • 7DI기반 • 메모리 기반 • I(C 기반 • 스토리지 기반 2 vCPU 8 GiB Memory $0.12/hour m4.large m4.xlarge 4 vCPU 16 GiB Memory $0.239/hour m3.2xlarge 8 vCPU 32 GiB Memory $0.479/hour 서울 리전 기준 Uttp3((Ncs.NZNfon.PoZ(Xo(RP+(prVPVnT
  14. 14. vertically 손쉬운 수직적 확장 가능
  15. 15. Users >10
  16. 16. 사용자 10+ 문제점 • Bo :NVlobRr • Bo FRQanQNnPe “한 바구니에 계란을 모두 담지 말자!” EC2 instance Elastic IP User Amazon Route 53 X
  17. 17. 사용자 10+ 해법 I 기능에 따라 인스턴스의 역할을 나눈다! • 웹 서버용 인스턴스 • 86용 인스턴스 Web Instance Database Instance Elastic IP User Amazon Route 53
  18. 18. 직접 운영 관리 서비스 선택 Amazon EC2 직접 설치 원하는 데이터 베이스를 선택 하여 운영 라이센스(백업 등 직접 운영 데이터베이스 선택 사항 Amazon RDS AeGEL AVProsoSt GEL CrNPlR DostTrRGEL MariaDB Amazon Aurora 라이센스(백업등 선택적 제공 Amazon DynamoDB GG8 스토리지기반 BoGEL 서비스 빠른 처리속도 중단없는 확장성 및 관리 필요 없음 Amazon Redshift 대용량 병렬 페타바이트급 데이터웨어 서비스 빠르w n력한 확장성 제공
  19. 19. Amazon Aurora를 추천합니다! ü AeGEL 호환 및 .배 성능 향상 ü 자동 스토리지 확장 ü 자동 장애 l지 및 복구 ü 5ZNfon G,에 지속 증분 백업 ü 1(1) 비용으로 상용 86 급 성능 ü 서울 리전 사용 i능 (,월 ,1일# Data Plane LoTTVnT + GtorNTR GEL HrNnsNPtVons 7NPUVnT 5ZNfon G,
  20. 20. RDB? NoSQL?
  21. 21. > 한해에 5 TB 이상이신가요? m작스럽s 데이터i 증i하시나요4 OK! BoGEL을 w려하세요.
  22. 22. Amazon DynamoDB도 추천합니다! ü 손 쉬운 관리형 BoGEL 서비스 ü 일관된 응답시k g 1)밀리초 미만 ü 읽기 및 쓰기 용량 제어 i능 ü 무제한 스토리지 제공 ü 프로비저닝한 용량 만큼만 과금 ü 서울 리전 사용 i능
  23. 23. Time DBTableSize MS SQL DB Table Size의 증가 DB latency 증가 고객 사례: 모바일 게임 데이터베이스
  24. 24. Time DBTableSize DynamoDB Table Size DynamoDB Latency 10ms Latency Amazon DynamoDB 고객 사례: HIT에서 DynamoDB 적용
  25. 25. Users >100
  26. 26. 사용자 >100 Web instance Elastic IP RDS DB instance User Amazon Route 53해법 II 기능에 따라 인스턴스의 역할을 나눈다! 편리한 86 운영을 위해 Amazon RDS 선택!
  27. 27. 사용자 >100 문제점 만약 웹 서버에 문제i 생긴다면4 • 장애 복구의 어려움 • 증설의 어려움 Web instance Elastic IP RDS DB instance X User Amazon Route 53
  28. 28. Users >1,000
  29. 29. 사용자 > 1000+ Elastic Load Balancing 확장성 높은 부하 분산 서비스 Multi-AZ 서버 구성 i용 영역을 통한 wi용성 확보 데이터베이스 이중화 F8G의 마스터&스탠바이를 AaltV& 5M에 구성 Web Instance RDS DB Instance Active (Multi-AZ) Availability Zone Availability Zone Web Instance RDS DB Instance Standby (Multi-AZ) Elastic Load Balancing User Amazon Route 53
  30. 30. Users >10,000+
  31. 31. 사용자: 10,000 -100,0000+ RDS DB Instance Active (Multi-AZ) Availability Zone Availability Zone RDS DB Instance Standby (Multi-AZ) Elastic Load Balancing RDS DB Instance Read Replica RDS DB Instance Read Replica RDS DB Instance Read Replica RDS DB Instance Read Replica Web Instance Web Instance Web Instance Web Instance Web Instance Web Instance Web Instance Web Instance User Amazon Route 53
  32. 32. horizontally vertically
  33. 33. 높은 성능과 i용성을 위한 고급 클라우드 아키텍처
  34. 34. Web Instance RDS DB Instance Active (Multi-AZ) Availability Zone Elastic Load Balancing 1. 성능을 위한 로드 분산 User Amazon Route 53 웹 서버 및 데이터베이스의 로드 분산 왜 해야 하나? • 애플리케이션에 집중 • i벼운 배포 i능 • 비용 절l i능 무엇을? • 정적 및 동적 콘텐츠 • 86에 부담되는 핫 아이템
  35. 35. Web Instance RDS DB Instance Active (Multi-AZ) Availability Zone Elastic Load Balancing 방법 1 정적 콘텐츠 Amazon S3 및 CloudFront로 이전 • 7GG(JG 파일 및 사용자 업로드 이미지 등 • 무제한 저장소 및 콘텐츠 배포 네트워크 활용 i능 1. 성능을 위한 로드 분산 User Amazon Route 53 Amazon CloudFront Amazon S3
  36. 36. Web Instance RDS DB Instance Active (Multi-AZ) Availability Zone Elastic Load Balancer Amazon S3 ElastiCache DynamoDB User Amazon Route 53 Amazon CloudFront 방법 2 Amazon ElasticCache 및 DynomoDB 활용 • 자주 사용하거나 업데이트i 잦은 데이터는 BoGEL 서비스나 인 메모리 기반 캐시 서비스 (ARZPNPURQ% FRQVs# 활용 1. 성능을 위한 로드 분산
  37. 37. 방법 3 동적 콘텐츠에 대해서도 Amazon CloudFront 활용 Web Instance RDS DB Instance Active (Multi-AZ) Availability Zone Elastic Load Balancer Amazon S3 ElastiCache DynamoDB User Amazon Route 53 Amazon CloudFront 1. 성능을 위한 로드 분산Response Time Server Load Response Time Server Load Response Time Server Load No CDN CDN for Static Content CDN for Static & Dynamic Content
  38. 38. 이제 i용성 높은 아키텍처를 위해 오토 스케일링을 적용해 봅시다!
  39. 39. 59 Small @ $0.08/hr = $4.72 2. 가용성을 위한 오토스케일링 ü 7DI 사용률 혹은 네트워크 트래픽에 따라 자동 스케일&인(아웃 ü 수요 x선에 따라 인스턴스 사용 i능하므로 비용 절l i능
  40. 40. 59 Small @ $0.08/hr = $4.72 $ aws autoscaling create-auto-scaling-group --auto-scaling-group-name MyGroup --launch-configuration-name MyConfig --min-size 1 --max-size 10 --availability-zones ap-northeast-2a, ap-northeast-2b 2. 가용성을 위한 오토스케일링
  41. 41. 백승현 7HC
  42. 42. 디스 패치 소개 2011년 3월 서비스 시작 페이스북 좋아요! 1,100,000 달성 (+)1/. ..# 연k 3억 페이지뷰 일k 600,000 IJ
  43. 43. 왜 AWS를 사용하게 되었나요? • 특종 기사i 올라왔을 때% 트래픽을 처리하기 어려움 • 외주를 통한 기존 데이터센터 인프라 운영으로 비용 증i AWS 클라우드, 이렇게 바뀌었습니다! • 특종기사에도 끄떡없는 트래픽 대응력 제공 • 개발 및 운영 내재화를 통한 비용 효율화
  44. 44. What Happen
  45. 45. What Happen
  46. 46. What Happen SCOOP(10x) ordinary
  47. 47. 9월 11월 6 Time EC2 instances [단독] “우리 지금 만나”… 아 이 유· 장 기하 , 뮤 지 션 커플의 탄생 [단독] 강용석, 홍콩 스캔들 증거…그가 답해야 할 의혹 5 70 50 10월8월 급작스런 트래픽 대응 사례
  48. 48. AWS 클라우드 기반 디스패치 서비스 구조 Auto Scaling group Availability Zone www.dispatch.co.kr security group security group root volume data volume image.dispatch.co.kr Elastic Load Balancing Amazon S3 bucket logs Amazon EBS snapshot CloudFront distribution EC2 instance web app server Amazon Route 53 EC2 instance web app server RDS RDSRDS
  49. 49. 세가지 클라우드 최적화 기법 Auto Scaling group Availability Zone security group EC2 instance web app server Apache Nginx 웹서버 경량화 1 EC2 instance web app server EC2 instance web app server RDS RDSRDS ElastiCache (WebServer) ElastiCache (Database) 캐시 도입 2 M4.large T2.medium R3.xlarge M3.medium 인스턴스 타입변경 3
  50. 50. 세가지 클라우드 최적화 기법 Auto Scaling group Availability Zone security group EC2 instance web app server Apache Nginx EC2 instance web app server RDS Multi-AZ ElastiCache (WebServer) ElastiCache (Database) M4.large T2.medium R3.xlarge M3.medium 70% 비용 감소!
  51. 51. Cost Down ORSorR NStRr &.) ANn Post developer infra manager
  52. 52. Users >1,000,000
  53. 53. Availability Zone Amazon S3 Availability Zone Elastic Load Balancing DynamoDB RDS DB Instance Read Replica Web Instance Web Instance Web Instance ElastiCache RDS DB Instance Read Replica Web Instance Web Instance Web Instance ElastiCacheRDS DB Instance Standby (Multi-AZ) RDS DB Instance Active (Multi-AZ) User Amazon Route 53 Amazon CloudFront 사용자: 1,000,000+
  54. 54. 비지니스에만 집중하기 위한 클라우드 네이티브 전략
  55. 55. 애플리케이션 개발 앱 배포 관리 모니터링 캐싱 Web | DB | API 가상 서버 여러분이 필요한 것만 집중합시다! AWS
  56. 56. 모니터링구축배포테스트빌드코딩 5KG 9lNstVP 6RNnstNlX 5KG CpsKorXs 5KG 7loaQ:orZNtVon 5KG 7oQRDVpRlVnR 5KG 7oQR7oZZVt 5KG 7loaQKNtPU 5KG 7oQR8Rploe 편리성 1. 인프라 및 서비스 앱 배포 자동화
  57. 57. Host Level Metrics Aggregate Level Metrics 2. AWS 자원 모니터링 및 로그 분석 5KG 7loaQKNtPU 5ZNfon 9lNstVPsRNrPU GRrbVPR
  58. 58. 3. 서비스 재활용 Don’t reinvent the Wheel: ü 텍스트 r색 구현 ü 메시지 큐 서비스 구현 ü 대량 이메일 전송 ü 워크플로 기반 구현 ü 동영상 인코딩 5KG의 다양한 애플리케이션 서비스를 이용하여 o발 비용 l소! Amazon CloudSearch Amazon Elastic Transcoder Amazon SESAmazon SQS Amazon SWF
  59. 59. 3. 서비스 재활용 모바일도 또 만들지 말자: ü 소셜 로그인 및 모바일 인증 ü 모바일 앱 데이터 분석 ü 푸시 노티피케이션 ü 모바일 앱 테스트 ü 빠른 모바일 앱 o발 ü IoH 기기k 통신 및 5KG 연동 5KG의 다양한 애플리케이션 서비스를 이용하여 o발 비용 l소! Amazon Cognito Amazon Mobile Analytics Amazon SNS AWS Device Farm AWS Mobile Hub AWS IoT
  60. 60. Users >5,000,000
  61. 61. RDS DB Instance Active (Multi-AZ) Availability Zone Elastic Load Balancer RDS DB Instance Read Replica RDS DB Instance Read Replica Web Instance Web Instance Web Instance Web Instance Amazon S3 DynamoDB Amazon SQS ElastiCache Worker Instance Worker Instance Amazon CloudWatch Internal App Instance Internal App Instance Amazon SES User Amazon Route 53 Amazon CloudFront 사용자: 500만+
  62. 62. AoOVlR 7lVRnt FoatR ., 7loaQ:ront 5ZNfon G, GtNtVP 7ontRnts ! LoTs 7loaQKNtPU 9lNstVP LoNQ 6NlNnPVnT F8G (AaltV&5M# 9lNstV7NPUR 9lNstV7NPUR 5DI GRrbRrs 5DI GRrbRrs KorXRrs ! AE KorXRrs ! AE sRrbRrs 5KG HoXeo rRTVon 5bNVlNOVlVte MonR #1 5bNVlNOVlVte MonR #+ 5nsVOlR CrVTVn&5PPRss IQRntVte GVTnRQ&IFL 8enNZo86 F8G 86 고객 사례: 비트앱 FRQsUVSt
  63. 63. Dr. Werner Vogels, Amazon.com CTO re:Invent 2015 Keynote
  64. 64. 10% 15% 7% 12% 20% 9% 1. 콘테이너를 통한 EC2 인스턴스 효율화 App 1 App 2 App 3 App 4 App 5 App 6 6 12 34 5 Amazon EC2 Container Service
  65. 65. 2. AWS Lambda를 통한 서버없는 아키텍처 ② Amazon S3 파일 업로드 ③ AWS Lambda 코드 실행 ① 큰 이미지 업로드 ④ 압축 및 크기 변경 ⑤ 저장
  66. 66. Weeks 3. 클라우드 컴퓨팅 기술의 변화 Minutes Amazon EC2 Seconds Amazon EC2 Containers Services Milliseconds AWS LambdaOn-Premises
  67. 67. 4. 마이크로서비스(Microservice) • 내부 서비스를 작s 분리하여 느슨하s 연t • 작은 서비스k 인터랙션 t합제거 (QRPoaplVnT# 후% 5DI로 통신 • 클라우드 기반으로 확장성 및 증설을 염두하여 기능 o발
  68. 68. AWS 기반 마이크로 서비스 빌딩 블럭 이벤트를 기반한 코딩 함수 실행 서비스k 5DI 인증(캐싱 용이 콘테이너를 통한 빠른 앱 배포
  69. 69. Users >10,000,000
  70. 70. 천만 사용자를 위한 십계명 1. AaltV&5M 아키텍처로 wi용성 확보 +. 부하 분산을 통해 성능 극대화 ,. 아키텍처 전 영역에서 증설 l안 -. 내외부의 캐시를 적극 활용 .. 오토스케일링 사용% 두번 사용!
  71. 71. 천만 사용자를 위한 십계명 .. 8RbCps를 통해 운영을 자동화 /. 한 z에서 모니터링(통v(분석 0. 직접 만들지 말w 5KG 서비스 활용 1. 애플리케이션 성능 튜닝 필요 2. 마이크로 서비스로 전환 10.클라우드 네이티브- 돈과 시간 절약
  72. 72. What’s Next? http://bit.ly/awskr-webinar AWS 온라인 세미나 https://www.qwiklab.com/lab_catalogue 무료 온라인 실습 하기 EC2/ELB/RDS/S3/CloudFront/AutoScaling/Beanstalk
  73. 73. What’s Next? “아마존 웹 서비스” 검색 후 “AWSKRUG” 검색 후 한국 사용자모임 커뮤니티 가입
  74. 74. Thank you! u청해 주셔서 l사합니다!

×