안-정적인 모바일 서비스 만들기

58
Safe and Dynamic mobile service via Amazon CloudFront 박현우, 스마트스터디 아마존 서비스 한국 사용자 모임 Mar 8, 2014

Upload: aws-korea-ug

Post on 14-Nov-2014

1.342 views

Category:

Documents


0 download

DESCRIPTION

AWS 한국 사용자모임 세미나 SmartStudy CTO 박현우

TRANSCRIPT

Page 1: 안-정적인 모바일 서비스 만들기

Safe and Dynamic mobile service via Amazon CloudFront

박현우, 스마트스터디 아마존 웹 서비스 한국 사용자 모임

Mar 8, 2014

Page 2: 안-정적인 모바일 서비스 만들기

Safe and Dynamic mobile service via Amazon CloudFront

박현우, 스마트스터디 아마존 웹 서비스 한국 사용자 모임

Mar 8, 2014

Page 3: 안-정적인 모바일 서비스 만들기

안정적인

Page 4: 안-정적인 모바일 서비스 만들기

안 정적인

Page 5: 안-정적인 모바일 서비스 만들기

Safe

Page 6: 안-정적인 모바일 서비스 만들기

and

Page 7: 안-정적인 모바일 서비스 만들기

Dynamic

Page 8: 안-정적인 모바일 서비스 만들기

So

Page 9: 안-정적인 모바일 서비스 만들기

Safe

함부로 써도 고장나지 않는 내 실수로 망가지지 않는 잊고 살아도 잘 동작하는

Page 10: 안-정적인 모바일 서비스 만들기

Safe

Durable Stable

Fire-and-forget

Page 11: 안-정적인 모바일 서비스 만들기

Dynamic

내용이 다양하고 자주자주 변경될 수 있는 원할 때 신속히 바꿀 수 있는

Page 12: 안-정적인 모바일 서비스 만들기

Dynamic

Various Non-static

Cache control

Page 13: 안-정적인 모바일 서비스 만들기

User Database

Content

Web Server Application

Page 14: 안-정적인 모바일 서비스 만들기

User MySQL

Content

Apache!httpd mod_php5

Page 15: 안-정적인 모바일 서비스 만들기

Static content

Page 16: 안-정적인 모바일 서비스 만들기

Static content

www.vop.co.kr/A00000402002.html

Page 17: 안-정적인 모바일 서비스 만들기

Static content

.html무늬만 html 인 경우도 있지만…

Page 18: 안-정적인 모바일 서비스 만들기

Static content

모두 같은 내용을 보게 되는데 왜 데이터베이스를 괴롭히나?

Page 19: 안-정적인 모바일 서비스 만들기

Static content

이왕 이렇게 된 거 정적인 json / html 로 가자

Page 20: 안-정적인 모바일 서비스 만들기

Web ServerUser Database

Static content

Application

Page 21: 안-정적인 모바일 서비스 만들기

Static content

Page 22: 안-정적인 모바일 서비스 만들기

Static content

Page 23: 안-정적인 모바일 서비스 만들기

Static content

$ ls | wc -l!1042

wowsuch json

very manyso maenual

Page 24: 안-정적인 모바일 서비스 만들기

At the beginning

AWS 속도 문제 가격에 대한 불확실함

… 일단 잘 모름

Page 25: 안-정적인 모바일 서비스 만들기

At the beginning

파일 관리는 git 배포는 rsync

AP / DNS 를 바꿔서 테스트

Page 26: 안-정적인 모바일 서비스 만들기

Testing

Production

Web Server

DNSISP

At the beginning

User

Web Server

DNSGateway

/ AP

Sync

Page 27: 안-정적인 모바일 서비스 만들기

At the beginning

http://www.slideshare.net/lqez/ss-20901287

Page 28: 안-정적인 모바일 서비스 만들기

Cons

git / rsync 불편함 롤백 거의 안 함

안정성을 위해 편리함을 거의 모두 포기 …

그런데 터질만큼 유저도 안 옴…

Page 29: 안-정적인 모바일 서비스 만들기

Pros

그런건 우리에게 있을 수 없어 …

Page 30: 안-정적인 모바일 서비스 만들기

Also

특히 유럽에서의 속도가 너무 느림 S3에 올리고 Cloudfront 로 서빙

Page 31: 안-정적인 모바일 서비스 만들기

http://www.slideshare.net/lqez/aws-smartstudy

http://www.slideshare.net/lqez/using-cloud-front-with-s3-at-smartstudy

Page 32: 안-정적인 모바일 서비스 만들기

Using S3 w/Cloudfront

속도는 개선되었지만 무엇보다 invalidation이 사람 환장하게 함

Page 33: 안-정적인 모바일 서비스 만들기

What’s wrong

코드를 테스트 하기 위한 환경과 데이터를 검증하기 위한 환경은 다르다

Page 34: 안-정적인 모바일 서비스 만들기
Page 35: 안-정적인 모바일 서비스 만들기

Back to the basic

Testing Production

Dynamic Static

Page 36: 안-정적인 모바일 서비스 만들기

Back to the basic

ELB + EC2 S3 + CF

Dynamic Static

Page 37: 안-정적인 모바일 서비스 만들기

Testing

Production

S3

RDS

Hybrid

User

ELB EC2

CF

Export

Page 38: 안-정적인 모바일 서비스 만들기

Clever

스마트스터디 API 서비스 통칭

Page 39: 안-정적인 모바일 서비스 만들기

ONE

스마트스터디 통합 앱 관리 시스템

Page 40: 안-정적인 모바일 서비스 만들기

CleverTesting

Production

S3

RDS

User

ELB EC2

CF

Page 41: 안-정적인 모바일 서비스 만들기

CleverTesting

Production

S3

RDS

User

ELB EC2

CF

Page 42: 안-정적인 모바일 서비스 만들기

CleverTesting

RDSELB EC2 RDSELB EC2RDSELB EC2

RDSELB EC2RDSELB EC2

RDSELB EC2RDSELB EC2

Page 43: 안-정적인 모바일 서비스 만들기

Testing

Clever!Notice

Clever!App

Clever!Log

Clever!Push

Clever / ONE

SMARTSTUDY!ONE

Page 44: 안-정적인 모바일 서비스 만들기
Page 45: 안-정적인 모바일 서비스 만들기
Page 46: 안-정적인 모바일 서비스 만들기
Page 47: 안-정적인 모바일 서비스 만들기
Page 48: 안-정적인 모바일 서비스 만들기
Page 49: 안-정적인 모바일 서비스 만들기
Page 50: 안-정적인 모바일 서비스 만들기
Page 51: 안-정적인 모바일 서비스 만들기
Page 52: 안-정적인 모바일 서비스 만들기
Page 53: 안-정적인 모바일 서비스 만들기

Trap card

BOTO• ACL • Meta data

Cache-control Content-type

Page 54: 안-정적인 모바일 서비스 만들기

Trap card

Django• ELB + uWSGI • Content-length

ConditionalGetMiddleware

Page 55: 안-정적인 모바일 서비스 만들기

http://uwsgi-docs.readthedocs.org/en/latest/HTTP.html#can-i-use-uwsgi-s-http-capabilities-in-production

Page 56: 안-정적인 모바일 서비스 만들기

Trap card

Cloudfront • Minimum TTL

Page 57: 안-정적인 모바일 서비스 만들기

Minimum TTL 1시간 미만은 의도대로 동작하지 않음

Page 58: 안-정적인 모바일 서비스 만들기

Safe and Dynamic mobile service via Amazon CloudFront

박현우, 스마트스터디 아마존 웹 서비스 한국 사용자 모임

Mar 8, 2014