20141021 aws cloud taekwon - customer session: lycl

26
Getting to Use AWS Most 언니의파우치

Upload: amazon-web-services-korea

Post on 23-Jun-2015

831 views

Category:

Technology


3 download

DESCRIPTION

LYCL의 서진원 님께서 발표해 주신 내용입니다.

TRANSCRIPT

Page 1: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

Getting to Use AWS Most 언니의파우치

Page 2: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

언니의파우치

언니의파우치는 상업적이지 않고 개인에게 꼭 맞은 화장품 리뷰를 추천해주는 화장품 소셜 리뷰 서비스 입니다.

Page 3: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

언니의파우치

팔로우 기능을 이용하여, 원하는 사용자의 화장품 리뷰를 구독 화장품 리뷰로 다른 사용자와 소통

뷰티 SNS를 통해 화장품 리뷰 생성

Page 4: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

언니의파우치

사용자가 원하는 화장품 리뷰 콘텐츠를 에디터가 선별하여 제공 검색을 통해서 화장품 리뷰 콘텐츠 제공

화장품 리뷰 큐레이션

Page 5: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

Baas에서 자체 서버 이전

• 초기 리소스 부족으로 빠른 서비스 개발을 위해 백엔드를 Baas로 구축 • 서비스의 성장으로 자유롭게 커스텀이 가능한 자체 서버 구축 필요

Page 6: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

AWS로 서버 구축 결정

• 여러 클라우드 업체 중 오랜 기간 동안 안정적인 서비스를 제공 • 개발자 1명, 서버 구축 기간 약 1개월 • Baas에서 사용한 기능을 빠르게 개발할 수 있는 여러 서비스 제공

Page 7: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

AWS 구축 이후

• 급증하는 트래픽 대응 • NoSQL DB, Storage, 푸시, 캐쉬, 메일, 검색, 분석 등 수 많은 서비스 • 모니터링 및 알림 • 일관된 API • 마케터가 이용하는 Management Console

Page 8: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

Architecture on AWS

AWS cloud

Worker TVM Cron

Elastic Beanstalk container

client

server contents

Amazon S3

DynamoDB Amazon SimpleDB

Amazon SES

Amazon SNS Amazon SQS

IAM

Page 9: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

AWS를 최대한 활용하기

Page 10: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

1. STS로 Token 인증 방식 로그인 개발

AWS Security Token Service

IAM

• 이메일, 페이스북 가입, 로그인 • Token 인증 방식으로 보안성이 높음 • 유저 별 리소스 권한 설정

client

S3 DynamoDB

(1) Token 발급 (2) AWS 서비스 접근

(1)

(2)

Page 11: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

2. SQS로 메시지 큐 방식 Async Task 기능 개발

queue

Amazon SQS

client

message

Worker

Elastic Beanstalk container

message

(1) (2)

• 시간이 걸리는 작업 또는 로그를 메시지 큐 방식으로 처리 • Worker 부하나 오류가 발생하더라도 모든 메시지 처리 • Elastic Beanstalk Container에서 Worker Type 제공

(1) 큐에 메시지 전송 (2) Worker가 메시지 처리

Page 12: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

3. NoSQL DB 구축

• NoSQL 데이터베이스 • 평균 서비스 지연 시간 1/1,000초, SSD • 데이터의 양에 제한이 없음 • 수백 대의 서버에 단일 테이블을 완벽하게 확장 가능 • 아주 제한 적인 쿼리 제공 • 서비스의 모든 원본 데이터 저장 용도

• NoSQL 데이터베이스 • 저렴한 비용, 간편한 사용 • 많은 쿼리 제공 • 서비스의 데이터 및 로그의 정렬, 필터, 검색 용도로 사용

DynamoDB

Amazon SimpleDB

Page 13: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

4. Elastic Beanstalk으로 쉬운 배포 및 확장 • Application 단위로 EC2 Instance 자동 배포 및 확장 • 프로비저닝, 로드 밸런싱, 자동 크기 조정, 모니터링 • Worker: SQS의 Queue 메시지를 처리 • TVM(Token Vending Machine): 가입, 로그인 처리 • Cron: 각종 백그라운드 기능 동작

Worker TVM Cron

Elastic Beanstalk container

Page 14: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

5. 기타

• 스토리지 서비스 • 서비스의 이미지 및 데이터 파일 저장소 • DB 백업 용도

• Amazon Simple Notification service • Android 클라이언트 앱에 푸시 메시지 기능

Amazon S3

Amazon SES

Amazon SNS

• Amazon Simple Email service • 유저에게 이메일을 보내는 기능

Page 15: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

6. 이후…

ElastiCache

Amazon Kinesis

CloudFront

캐쉬를 통한 SNS 기능 고도화 및 성능 향상

화장품 리뷰 동영상 스트리밍 개발

빅 데이터 분석을 통한 화장품 리뷰 추천 시스템 개발

Page 16: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

Q&A

감사합니다. [email protected]

WE’RE HIRING!

Page 17: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

IAM으로 사용자 계정 개발하기

페이스북 가입 이메일 가입

보안 권한

로그인

Page 18: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

IAM(Identity and Access Management)

IAM

• AWS 서비스 및 리소스 액세스 가능한 계정 관리

• IAM 역할 관리 (개별 권한 설정)

• 개별 보안 자격 증명 (액세스 키, 암호, 멀티 팩터 인증 디바이스)

• 임시 보안 자격 증명 (Federation ID, 페이스북 로그인)

Page 19: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

IAM 유저란?

• AWS Management Console에 접근 가능한 내부 직원 – 개발자, 마케터, 관리자

• AWS API로 접근 가능한 Application

– 계정 서버, 큐 서버, Cron 서버, 테스트 서버 등

Human Server

개별 보안 자격 증명 - 액세스 키, 암호, 멀티 팩터 인증 디바이스

Page 20: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

Federation ID?

• 이미 보유한 기존 ID 시스템을 사용하여 AWS에 접근

• Google, Facebook과 같은 외부 웹 ID 공급자로부터의 접근

Facebook Users Unpa Users

임시 보안 자격 증명 - Federation ID, 페이스북 로그인

Page 21: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

STS(Security Token Service)?

AWS Security Token Service

• Federation ID에 Token을 발급

• Token에는 AWS에 제한적으로 접근 가능한 권한 포함

• 최소 15분 ~ 최대 36시간 Expired time 설정 가능

Page 22: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

Token 기반 계정 시스템 개발

• 이메일, 페이스북으로 로그인

• 로그인 한 유저는 Federation ID로 Access Token을 발급

• 보안 이슈로 패스워드는 저장하지 않고, Token만 저장

• Token으로 AWS 서비스 및 리소스에 접근

• Token이 Expired되면 Token 재발급

Page 23: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

TVM(Token Vending Machine)? • Federation ID로 STS에서 Token을 얻는 예제 소스 및 문서 제공 • 각 서비스에 맞게 커스텀해서 사용

http://aws.amazon.com/articles/SDKs/4611615499399490

Page 24: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

Anonymous TVM? - 로그인 기능이 없는 서비스에서 Token 얻기

Page 25: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

Identity TVM? - 로그인 기능이 있는 서비스에서 Token 얻기

Page 26: 20141021 AWS Cloud Taekwon - Customer Session: LYCL

IAM 유저 활용

• 리소스 부족 시, 서비스 관리용 Tool 미개발 – AWS Management Console이 편리하게 제공되기 때문에 개발팀은 서비스 개발에

집중 할 수 있음

• 권한 설정으로 위험한 실수(?) 방지 가능 – 전체 직원의 IAM 계정 생성 – 마케팅팀: CS, 이벤트, 지표 관련 DB Table의 Read 권한 – 관리자: 앱 내 이벤트 생성, 화장품 세일 시 세일 제품 DB Table의 Write 권한 – 개발팀: 테스트 서버, DB, Storage의 모든 권한