AWS 모바일 서비스로
성공하는 모바일 앱 만들기
윤석찬 | 아마존웹서비스 코리아
테크에반젤리스트
v	
  
모바일 앱을 만들기전에 해야할 두가지 질문?
어떻게 모바일 앱을 특별
(Unique)하게 만들건가요?	
  
시간은 어디에 더 집중해서
써야 할까요?	
  
==	
  
v	
  
Your
Mobile
App
사용자 인증
사용자 권한 부여
사용자 행동 분석
미디어의 저장 및 공유
인증정보 단말간 공유
미디어 전송
공유 데이터의 저장
실시간 데이터 스트림
처리
재방문 추적
푸시 알림 전송
모바일앱
요구사항
v	
  
모바일 개발자 가라사대…
직면한 문제점
플랫폼 파편화
확장성 높은 동기화의 어려움
앱 관리 및 운영 비용 증가
핵심 UX 만드는데도 시간 증가
사용자에게 줄 핵심 기능 구현 시간 저하
앱개발은 만만한 작업이 아니다!
모바일 앱 코드	
  
사용자 인증 및 관리
사용자 데이터 싱크
비동기 커뮤니케이션
활성 디바이스 분석
사용자 행태 분석
사용자 참여 분석
푸시 노티피케이션
사용자 이벤트 기능처리
플랫폼 독립적 모바일 백엔드
데이터 유효성 및 전송
파일 및 미디어 저장 
공유 데이터베이스 스토리지	
  
데이터 수집	
  
기타등등…	
  	
  
v	
  
AWS 가라사대…
모바일 앱 코드	
  
사용자 인증 및 관리
사용자 데이터 싱크
비동기 커뮤니케이션
활성 디바이스 분석
사용자 행태 분석
사용자 참여 분석
푸시 노티피케이션
사용자 이벤트 기능처리
플랫폼 독립적 모바일 백엔드
데이터 유효성 및 전송
파일 및 미디어 저장 
공유 데이터베이스 스토리지	
  
데이터 수집	
  
기타등등…	
  	
  
Amazon Cognito
Amazon Mobile Analytics
Amazon SNS Mobile Push
AWS Lambda
Mobile-optimized Connectors
(Amazon Kinesis, Amazon S3,
Amazon DynamoDB, Amazon SQS)
Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push
Amazon Kinesis
Recorder
DynamoDB
Mapper
S3 Transfer
Manager
SQS Client Amazon SES
Client
AWS 글로벌 인프라
핵심 빌딩 블럭
클라우드 서비스
모바일 최적화
커넥터
모바일 최적화
서비스
모바일 앱, 게임, IoT 디바이스
AWS 모바일 SDK, API 엔드포인, AWS 관리 콘솔
컴퓨팅 스토리지 네트워크 데이터 분석 데이터베이스
통합 SDK
AWS Lambda
Lambda
Functions
λ
 λ
λ
λ
AWS 모바일 빌딩 블럭
v	
  
Your
Mobile
App
사용자 인증
사용자 권한 부여
사용자 행동 분석
미디어의 저장 및 공유
인증정보 단말간 공유
미디어 전송
공유 데이터의 저장
실시간 데이터 스트림
처리
재방문 추적
푸시 알림 전송
모바일앱
요구사항
v	
  
AWS Mobile SDK
Amazon Mobile
Analytics
Amazon Cognito
(Sync)
AWS Identity and
Access Management
Amazon Cognito
(Identity Broker)
Amazon S3
Transfer Manager
Amazon CloudFront
(Device Detection)
Amazon DynamoDB
(Object Mapper)
Amazon Kinesis
(Recorder)
Amazon Mobile
Analytics
Amazon SNS
Mobile Push
Your
Mobile
App
사용자 인증
사용자 권한 부여
사용자 행동 분석
미디어의 저장 및 공유
인증정보 단말간 공유
미디어 전송
공유 데이터의 저장
실시간 데이터 스트림 처리
재방문 추적
푸시 알림 전송
AWS Mobile SDK
v	
  
AWS Mobile SDK
Amazon Mobile
Analytics
Amazon Cognito
(Sync)
AWS Identity and
Access Management
Amazon Cognito
(Identity Broker)
Amazon S3
Transfer Manager
Amazon CloudFront
(Device Detection)
Amazon DynamoDB
(Object Mapper)
Amazon Kinesis
(Recorder)
Amazon Mobile
Analytics
Amazon SNS
Mobile Push
Your
Mobile
App
사용자 인증
사용자 권한 부여
사용자 행동 분석
미디어의 저장 및 공유
인증정보 단말간 공유
미디어 전송
공유 데이터의 저장
실시간 데이터 스트림 처리
재방문 추적
푸시 알림 전송
AWS Mobile SDK
v	
  
Amazon Cognito 소개
간단한 인증 방식 제
공 및 접근 관리
모바일 및 AWS 전체 서
비스에 적용 가능한 안
전한 아이덴티티 관리
디바이스 및 플랫폼
간 데이터 동기화
가장 안전한 베스
트 프랙티스 적용
디바이스 및 플랫폼 관
계 없이 사용자 인증 및
데이터 동기화
다양한 소셜 로그인 방
식을 통해 쉽게 로그인
가능
Guest
 Your own 
Auth
v	
  
아이덴티티
제공자
사용자
아이덴티티철수 영희 민수
모든 디바이스
모든 플랫폼
모든 AWS
서비스
Amazon Cognito: 사용자 인증 
Mobile
Analytics
S3
 DynamoDB
 Kinesis
다양한 소셜 로그인 제공 
트위터, 페이스북, 구글플러스 및 아마존 인증
을 손쉽게 인증할 수 있음
디바이스 및 플랫폼간 인식 가능
다양한 디바이스와 운영체제에서도 사용자 인
증이 가능함
안전한 인증 체계 구축
모바일 디바이스에서 안전하게 AWS 서비스에
접근가능하며 IAM(Identity and Access
Management)사용 가능
v	
  
Amazon Cognito: 게스트 사용자 지원
Visitor
Preferences
Cognito
Store
Guest
EC2
 S3
 DynamoDB
 Kinesis
게스트 사용자 접근 
90%의 단순 앱 사용자를 위해 계정 생성이나 로
그인없이도 AWS 서비스를 안전하게 접근 가능
클라우드 데이터 저장 
손님에서 가입 및 로그인 하면 끊김없이 데이터
저장 가능
보안 베스트 프랙티스 활용
가입 및 로그인 후에도 사용자 권한은 일시적이고
제한적으로 접근하게 되며 AWS 보안 규정에 따
라 안전하게 관리 가능
iOS
 Android
 JavaScript
v	
  
Amazon Cognito: 모바일 보안 체계
EC2
 S3
 DynamoDB
 Kinesis
AWS Credentials 보호
AWS Access Key나 Access Credential을 모바일앱
에 포함하지 않고, 임시 크리덴셜을 부여받음
임시 토큰 기반 인증 
일시적이고 제한된 권한만 가진 토큰을 무작위로
생성 전달하며 이를 삭제할 수 있음
세부적인 AWS 접속 허용 
기존 IAM 사용자 권한에 따라서 제한적인 AWS
접근 권한을 조절 가능.
자체 인증 시스템 사용
자체 인증을 가지고 있는 경우에도,
GetOpenIdTokeForDeveloperIden;ty()	
  를 통해
활용 가능
v	
  
Amazon Cognito: 인증 체계도
Iden;typool	
  
Iden;ty	
  
Providers	
  
같은 보안 정책을
공유하는 아이덴티티풀
Access	
  Policy	
  
Access	
  to	
  AWS	
  
Services	
  iden;typool	
  
Unauthen;cated	
  
Iden;;es	
  
authen;cated	
  
iden;;es	
  
AWS IAM Roles
AWS	
  Account	
  
웹 아이덴티티풀
S3
DynamoDB
Get Delete Put
v	
  
Amazon Cognito: 데이터 동기화
User Data
Storage and
Sync
iOS/Android/FireOS
k/v data
Identity pool
앱데이터, 환경 설정 및 상태 저장 
로그인 이후에 앱 및 디바이스 데이터를
디바이스 및 플랫폼과 관계 없이 한 줄의
코드로 저장
오프라인 지원
데이터는 로컬 SQLite DB에 먼저 저장하
므로 인터넷 접속과 관계 없이 사용 가능
백엔드 없이 이용 
간단한 SDK를 이용하여 서버 사이드 코
드가 필요 없음
사례: Concrete Software 
Amazon Cognito를 이용하여 보다
빠르고 사용자 경험이 좋은 모바
일 게임을 만들 수 있었습니다.
Keith A. Pichelman
CEO, Concrete Software
”
“ •  다중 디바이스 및 플랫폼을 통해 중단없는
(seamless) 사용자 경험 제공 필요
•  백엔드 서버 없이도 클라우드에 게임 진행 사항
저장 및 디바이스별 동기화
문제점
해결법
•  Amazon Cognito를 통해 안전하게 AWS 자
원에 접근 가능
•  Cognito Sync를 통해 백엔드 인프라 없이도
사용자 디바이스의 캐싱하고 클라우드에 저
장하는 유연성 제공
단계1: Identity Pool 생성
단계2: 기본 IAM Role 생성
v	
  
단계3: SDK 다운로드 및 샘플 코드 적용
v	
  
Amazon Cognito: 동기화 기능 예제
CredentialsProvider 및 CognitoClient 초기화
데이터 동기화 
원하는 데이터 셋이나 키/밸류 설정
provider = new CognitoCachingCredentialsProvider (context, AWS_ACCOUNT_ID, ! !
!COGNITO_POOL_ID, COGNITO_ROLE_UNAUTH, COGNITO_ROLE_AUTH, Regions.US_EAST_1);!
!
cognito = new CognitoSyncManager (context, Regions.US_EAST_1, provider);!
dataset.synchronize(new SyncCallback(){..});!
!
cognito.openOrCreateDataset(datasetName);!
dataset.put(key, value);!
v	
  
DataSet *dataset = [syncClient openOrCreateDataSet:@"myDataSet"];
NSString *value = [dataset readStringForKey:@"myKey"];
[dataset putString:@"my value" forKey:@"myKey"];	
  
AWSCognitoSyncClient *syncClient = [[AWSCognitoSyncClient alloc]
initWithConfiguration: configuration];	
  
[dataset synchronize];
Amazon Cognito: 동기화 기능 예제
CredentialsProvider 및 CognitoClient 초기화
데이터 동기화 
원하는 데이터 셋이나 키/밸류 설정
v	
  
AWS Mobile SDK
Amazon Mobile
Analytics
Amazon Cognito
(Sync)
AWS Identity and
Access Management
Amazon Cognito
(Identity Broker)
Amazon S3
Transfer Manager
Amazon CloudFront
(Device Detection)
Amazon DynamoDB
(Object Mapper)
Amazon Kinesis
(Recorder)
Amazon Mobile
Analytics
Amazon SNS
Mobile Push
Your
Mobile
App
사용자 인증
사용자 권한 부여
사용자 행동 분석
미디어의 저장 및 공유
인증정보 단말간 공유
미디어 전송
공유 데이터의 저장
실시간 데이터 스트림 처리
재방문 추적
푸시 알림 전송
AWS Mobile SDK
v	
  
v	
  
Amazon Mobile Analytics
비용이 저렴
하다!
다양한 통계 분석을	
  
60분 이내에 	
  
수행 가능	
  
빠르다!
수백만의 사용자로 부터
오는 수십억건 데이터도
무료로 분석 가능!  
데이터는
나의것!
“간단하고도 비용 효율적인 모바일 앱 분석 도구”
수집된 데이터는 
모두 자신의
AWS    자원에 저장!
v	
  
주요 지표
(한라인코드로만도 추가 가능)
1. Monthly	
  Ac;ve	
  Users	
  (MAU)	
  	
  
2. Daily	
  Ac;ve	
  Users	
  (DAU)	
  	
  
3. New	
  Users,	
  	
  
4. Daily	
  Sessions,	
  	
  
5. S;cky	
  Factor,	
  	
  
6. 1-­‐Day	
  Reten;on,	
  	
  
7. Avg.	
  Revenue	
  per	
  DAU,	
  	
  
8. Daily	
  Paying	
  Users,	
  
9. Avg.	
  Paying	
  DAU
v	
  
사용자 리텐션 	
  
	
  
마케팅 이벤트 및 UI	
  변경, 신기능 추가 등에
대한 사용자 반응을 신속하게 체크 가능	
  
	
  	
  
v	
  
Mobile Analytics 적용 코드 예제
앱 코드에서 MobileAnalyticsManager 초기화
별도 원하는 추가 이벤트 수집의 경우 선언
OnResume() 혹은 OnPause() 추가
private static MobileAnalyticsManager analytics;!
analytics = MobileAnalyticsManager.getOrCreateInstance(!
this.getApplicationContext(),"yourCompany.yourAppId",
! ! Regions.YOUR_REGION, config, cognitoProvider );!
EventClient eventClient = analytics.getEventClient();!
MobileAnalyticsEvent visitEvent = eventClient.createEvent("speedSet");!
eventClient.recordEvent(visitEvent);!
analytics.getSessionClient().resumeSession();!
analytics.getSessionClient().pauseSession();!
Analytics.getEventClient().submitEvents();!
v	
  
Mobile Analytics 적용 코드 예제 
AWSMobileAnalytics 객체 초기화! AWS 관리 콘솔에서 확인 가능~
이벤트 전송. 만약 호출되지 않으면 주기적으로 자동 호출
커스텀 이벤트 추가 하기
[eventClient submitEvents];!
id<AWSMobileAnalyticsEventClient> eventClient =
analytics.eventClient;!
id<AWSMobileAnalyticsEvent> level1Event = [eventClient
createEventWithEventType:@"level1Complete"];!
AWSMobileAnalytics* analytics = [AWSMobileAnalytics !
!defaultAWSMobileAnalyticsWithIdentifier:@"someuniqueid"];!
v	
  
분석 데이터 저장
mobile
client
Amazon
S3
Amazon Mobile
Analytics
v	
  
v	
  
Redshift로 저장
mobile
client
Amazon
S3
Amazon
Redshift
Amazon Mobile
Analytics
External	
  data	
  
v	
  
서드파티를 활용한 시각화 
mobile
client
Amazon
S3
Amazon
Redshift
Amazon Mobile
Analytics
External	
  data	
  
v	
  
사례: Forza Football 앱
•  전 세계 2위의 축구 관련 앱
•  420여개의 축구리그 정보 업데이트
•  경기 결과 및 하이라이트 푸시 제공
37	
  
국가별 사용자 성장세 분석
38	
  
인구별 사용자 분포 분석
39	
  
사용자 행동 분석
40	
  
디바이스 분포 분석
v	
  
AWS Mobile SDK
Amazon Mobile
Analytics
Amazon Cognito
(Sync)
AWS Identity and
Access Management
Amazon Cognito
(Identity Broker)
Amazon S3
Transfer Manager
Amazon CloudFront
(Device Detection)
Amazon DynamoDB
(Object Mapper)
Amazon Kinesis
(Recorder)
Amazon Mobile
Analytics
Amazon SNS
Mobile Push
Your
Mobile
App
사용자 인증
사용자 권한 부여
사용자 행동 분석
미디어의 저장 및 공유
인증정보 단말간 공유
미디어 전송
공유 데이터의 저장
실시간 데이터 스트림 처리
재방문 추적
푸시 알림 전송
AWS Mobile SDK
v	
  
S3 Connector: 모바일 전송 관리
S3  Connector
멀티 파트 데이터 업로드(photos,  videos,  audio)
빠른 다운로드(e.g.  assets)
자동 재시작
중단/재시작/취소 기능 제공 
네이티브 OS  친화적 
앱스토어 출시 사이클과 상관 없이 동
적으로 자원을 업데이트할 수 있었으며,	
  
170MB가 넘는 다바이스별 이미지를 모
바일에서 직접 다운르도하여 서버 확장
성을 고려할 필요가 없이 더 품질 높은
고해상도 이미지 전송도 가능	
  
Amazon S3 connector를 통해 동적으
로 게임 자원을 백그라운드로 다운로드
하여 사용자 경험이 늘어났습니다. Douglas Hare
CEO, Outplay Entertainment
”
“
v	
  
S3에 이미지 관리 예제
// Creating the transfer manager !
TransferManager transferManager = new
TransferManager(credentialProvider);!
!
// Upload image !
Upload upload = transferManager.upload(BUCKET_NAME, fileName, file); !
// Download image !
Download = transferManager.download(BUCKET_NAME, mKey, file); !
!
// Pause, and Resume!
try {!
PersistableDownload persistableDownload = download.pause();!
//do something if we didn’t abort!
} catch(PauseException e) {!
//do something if we aborted!
}
download = transferManager.resumeDownload(persistableDownload);!
v	
  
AWS Mobile SDK
Amazon Mobile
Analytics
Amazon Cognito
(Sync)
AWS Identity and
Access Management
Amazon Cognito
(Identity Broker)
Amazon S3
Transfer Manager
Amazon CloudFront
(Device Detection)
Amazon DynamoDB
(Object Mapper)
Amazon Kinesis
(Recorder)
Amazon Mobile
Analytics
Amazon SNS
Mobile Push
Your
Mobile
App
사용자 인증
사용자 권한 부여
사용자 행동 분석
미디어의 저장 및 공유
인증정보 단말간 공유
미디어 전송
공유 데이터의 저장
실시간 데이터 스트림 처리
재방문 추적
푸시 알림 전송
AWS Mobile SDK
v	
  
Amazon SNS
Cross-platform
Mobile Push 
Internet
Apple APNS
Google GCM
Amazon ADM
Windows WNS and
MPNS
Baidu CP
With Amazon SNS,
developers can
send push
notifications on
multiple platforms
and reach mobile
users around the
world
Amazon SNS 모바일 푸시
Android Phones and Tablets
Apple iPhones and iPads
Kindle Fire Devices
Android Phones and Tablets in China
iOS
Windows Desktop and Windows Phone
Devices
단계1: 토픽(Topic) 생성
단계2: 애플리케이션(Application) 등록
단계3: SDK 다운로드 및 샘플 코드 적용
v	
  
사례: Path앱 모바일 푸시
35	
  AWS	
  EC2	
  m3.xlarge	
  instances	
  	
  
Home-­‐rolled	
  code	
  based	
  on	
  Tornado	
  
6	
  Load	
  	
  
Balancers	
  
2010년에 창업 및 2개 앱 3개 플랫폼
20개 언어로 서비스 500만 동시 접속
자 및 수십억 월간 임프레션
Path	
  Daily	
  SNS	
  Mobile	
  Push	
  
Deliveries	
  (millions)	
  
v	
  
AWS Mobile SDK
Amazon Mobile
Analytics
Amazon Cognito
(Sync)
AWS Identity and
Access Management
Amazon Cognito
(Identity Broker)
Amazon S3
Transfer Manager
Amazon CloudFront
(Device Detection)
Amazon DynamoDB
(Object Mapper)
Amazon Kinesis
(Recorder)
Amazon Mobile
Analytics
Amazon SNS
Mobile Push
Your
Mobile
App
사용자 인증
사용자 권한 부여
사용자 행동 분석
미디어의 저장 및 공유
인증정보 단말간 공유
미디어 전송
공유 데이터의 저장
실시간 데이터 스트림 처리
재방문 추적
푸시 알림 전송
AWS Mobile SDK
철수 영희
민수
Amazon DynamoDB Connector: Object Mapper
•  지연 속도 없이 빠르게 데이터 추가
및 높은 성능을 가진 DynamoDB를
앱에서 간단한 코드로 접근 가능	
  
•  모바일 클라이언트 데이터를 그대
로 싱크 가능	
  
•  멀티 디바이스에서 쉽게 이용 가능 	
  
게임 점수	
  
철수 	
   1500	
  
영희 	
   800	
  
민수 	
   750	
  
v	
  
Amazon	
  
Kinesis	
  
Amazon	
  	
  
Redshi[	
  
Kinesis	
  
enabled	
  Apps	
  
on	
  EC2	
  
AWS	
  Mobile	
  
SDK	
  
Amazon Kinesis Connector for Mobile Apps
For	
  sophis;cated	
  
User	
  Behavior	
  
Real-­‐;me	
  	
  
Analysis	
  
Amazon Kinesis를 통해
실시간 사용자 액션을 직
접 모바일로 전송하여 분
석 할 수 있었습니다.
”
“
Amazon	
  	
  
EMR	
  
v	
  
AWS Mobile SDK
Amazon Mobile
Analytics
Amazon Cognito
(Sync)
AWS Identity and
Access Management
Amazon Cognito
(Identity Broker)
Amazon S3
Transfer Manager
Amazon CloudFront
(Device Detection)
Amazon DynamoDB
(Object Mapper)
Amazon Kinesis
(Recorder)
Amazon Mobile
Analytics
Amazon SNS
Mobile Push
Your
Mobile
App
사용자 인증
사용자 권한 부여
사용자 행동 분석
미디어의 저장 및 공유
인증정보 단말간 공유
미디어 전송
공유 데이터의 저장
실시간 데이터 스트림 처리
재방문 추적
푸시 알림 전송
AWS Mobile SDK
비지니스 로직 및 기능
AWS Lambda
AWS Lambda: 서버 없는 컴퓨팅 
유연한 자동 확장서버 설치 불필요
실행 시간에 따라 과금
프로그램 코드
“서버 없이도 클라우드 기반 무상태(Stateless) 함수 실행”
Stream
processing
Data
triggers
Serverless
backend
Mobile/IoT Indexing &
synchronization
Amazon EC2/ECS
•  시간단위 리소스 대여
•  유연한 인프라 설계 (OS/타입)
•  장애에 대한 고려 필요
•  인스턴스 추가를 통한 확장
•  모든 코드 및 언어로 개발 가능
•  서버 관리 부담 있음
AWS Lambda와 EC2/ECS 비교 
AWS Lambda
•  이벤트 요청에 따라서 사용
•  OS/타입 등 인프라 고려 필요 없음
•  AWS 기반 무장애 시스템
•  요청량에 따라 확장
•  Node.js 및 자바 코드로 함수 구현
•  서버 관리 부담 없음
단계1: Lambda 함수 만들기
단계2: 테스트 해보기
v	
  
단계3: 실행 경과 디버깅
활용 예제: Data Triggers- Amazon S3
S3	
  Bucket	
  Events	
  
AWS	
  Lambda	
  
λ	
  
Original	
  image	
  
Thumbnailed	
  
image	
  
활용 예제: Data Triggers-Mobile Backend
AWS	
  Lambda	
  
λ	
  Amazon	
  Cognito	
  
User	
  data	
  change	
  
Send	
  SNS	
  
no;fica;ons	
  
Update	
  	
  
DynamoDB	
  
Table	
  
v	
  
다양한 활용 예제
•  S3에 ZIP 파일 업로드시 자동 압축 해제 하기
•  S3에 동영상 파일 업로드시 인코딩 하기
•  S3에 XLS 파일 업로드시 DynamoDB로 저장하기
•  S3에 정적 블로그 호스팅 하기
•  Node.js 문자 인식 라이브러리로 이미지내 문자 인식하기
•  Node.js 크롤러를 이용한 간단한 웹 크롤러 개발하기
•  Node.js 활용 Cron Job 만들기
h`ps://github.com/awscodes/lambda-­‐snippet	
  	
  
v	
  
예제: LambdaAuth
•  예제: http://lambdauth.danilop.net
•  코드: https://github.com/danilop/LambdAuth
v	
  
예제: LambdaChat 
•  예제: http://lambda-chat.s3-website-us-east-1.amazonaws.com/
•  코드: https://github.com/cloudnative/lambda-chat
신규 뉴스 기사 및 이미지 업로
드 시 다양한 기능 수행	
  
예측 분석을 위한 실
시간 데이터 처리	
  
모바일을 위한 업로드 사
진에 대한 섬네일 제작	
  
소셜 미디어 플랫폼에서 오는
트래픽을 실시간으로 분석 	
  
블로그 콘텐츠에 대한 대
용량 분산 검색 수행	
  
실시간으로 고충 사항
을 분석하여 운영 개선	
  
기업별 활용 사례
v	
  
모바일 활용 전략
SNS
Amazon
Cognito
Amazon
Cognito
Amazon
Cognito
SNS
Lambda
Lambda Lambda
Lambda
Any
Analytics
S3 +
Amazon Redshift
Amazon
Kinesis
DynamoDB
Amazon
Cognito
Amazon
Kinesis
LambdaS3
v	
  
마지막으로… AWS Mobile SDK
다운로드:	
  hFp://aws.amazon.com/ko/mobile/sdk	
  	
  
v	
  
모바일 빌딩블럭: 사진 공유 앱을 생각해 봅시다!
v	
  
AWS Region
AUTHENTICATED	
  (ASSUMED	
  ROLE)	
  
서버없는 모바일 앱
AWS 모바일 서비스 기반

Download	
  
Photos	
  &	
  
App	
  Files	
  
Session	
  and	
  Device	
  Data,	
  User	
  Behavior	
  
Social	
  Content	
  
(Tagging,	
  Likes,	
  	
  
Comments,	
  etc.)	
  
Auto	
  Export	
  
Metadata	
  
Image	
  Manipula;on	
  
40	
  
	
  	
  
Func;on	
  
Invoked	
  
Mul;-­‐part	
  Upload	
  
User	
  Login	
  
Auto	
  with	
  Web	
  Iden;ty	
  Token	
  
User	
  
Friends	
  
AWS	
  Mobile	
  SDK	
  
Session	
  &	
  Photo	
  Metadata	
  
Role	
  Associated	
  
With	
  Iden;ty	
  Pool	
  
AWS	
  
Lambda	
  
Amazon	
  
CloudFront	
  
Amazon	
  
Mobile	
  AnalyUcs	
  
Amazon	
  
DynamoDB	
  
Amazon	
  
Cognito	
  
Amazon	
  
IAM	
   Amazon	
  
S3	
  
Geo	
  Look	
  up	
  
Amazon	
  
SNS	
  Mobile	
  	
  
Push	
  
Amazon	
  
RedshiV	
  
Targeted	
  
v	
  
Sensors	
   Devices	
   Cloud	
  Backend	
   Visualiza;on	
  
Amazon  
Cognito
Amazon  SNS
Kinesis
Streams
DynamoDB
Tables
Amazon  S3
Buckets
Kinesis
Workers
Intel  Edison/Python
Intel  Edison/NodeJS
Intel  Edison/Arduino/C++
Edison
Python(boto)
Node.js
iOS
 Android
JavaScript
Arduino
Android/Java
iOS/ObjecOve-­‐C
NodeJS
Proxy
Grove  Starter  Kit
Grove  LED
Grove  Tilt
Grove  Piezo
Grove  BuTon
Grove  Accelerometer
Grove  Temperator
Grove  NFC
Grove  Infrared
Grove  Touch
Grove  Light
Grove  Relay
HackDay  Dashboard
Team  Leaderboard
Team  Dashboard
JavaScript
h`p://bit.ly/aws-­‐iot-­‐hack	
  	
  
One more thing: AWS IoT 클라우드 백엔드
v	
  
Amazon
Cognito
Mobile
Analytics
SNS
Mobile Push
Free	
  Tier:	
  
1	
  Million	
  push	
  
messages	
  every	
  
month	
  
	
  
Free	
  Tier	
  	
  
(for	
  first	
  12	
  months):	
  
1	
  Million	
  syncs/month	
  +	
  
10GB	
  of	
  storage	
  for	
  
Amazon	
  Cognito	
  
Free	
  Tier:	
  
100	
  Million	
  events	
  
every	
  month	
  	
  
	
  
	
  
AWS 모바일 무료 서비스
h`p://aws.amazon.com/mobile	
  	
  
AWS
Lambda
Free	
  Tier	
  :	
  1M	
  free	
  
requests	
  per	
  month	
  	
  
400,000	
  GB-­‐seconds	
  
of	
  compute	
  ;me	
  per	
  
month	
  	
  
온라인 자습 및 실습
다양한 온라인 강의 자
료 및 실습을 통해 AWS
에 대한 기초적인 사용
법 및 활용 방법을 익히
실 수 있습니다.
강의식 교육
AWS 전문 강사가 진행하는 강의를
통해 AWS 클라우드로 고가용성,
비용 효율성을 갖춘 안전한 애플리
케이션을 만드는 방법을 알아보세
요. 아키텍쳐 설계 및 구현에 대한
다양한 오프라인 강의가 개설되어
있습니다.
인증 시험을 통해 클라우
드에 대한 자신의 전문 지
식 및 경험을 공인받고 개
발 경력을 제시할 수 있습
니다.
AWS 공인 자격증
http://aws.amazon.com/ko/training
다양한 교육 프로그램
AWS 웨비나 시리즈에 참여해 주셔서 감사합니다!
이번 웨비나가 여러분의 궁금증 해소에 도움이 되었길 바랍니다.
이후 이어질 설문 조사를 통해 오늘 웨비나에 대한 의견을 알려주세요.
aws-korea-marketing@amazon.com
http://twitter.com/AWSKorea
http://facebook.com/AmazonWebServices.ko
http://youtube.com/user/AWSKorea
http://slideshare.net/AWSKorea

AWS 모바일 서비스로 성공하는 모바일 앱 만들기 (윤석찬) - AWS Webiniar 2015

  • 1.
    AWS 모바일 서비스로 성공하는모바일 앱 만들기 윤석찬 | 아마존웹서비스 코리아 테크에반젤리스트
  • 2.
    v   모바일 앱을만들기전에 해야할 두가지 질문? 어떻게 모바일 앱을 특별 (Unique)하게 만들건가요?   시간은 어디에 더 집중해서 써야 할까요?   ==  
  • 3.
    v   Your Mobile App 사용자 인증 사용자권한 부여 사용자 행동 분석 미디어의 저장 및 공유 인증정보 단말간 공유 미디어 전송 공유 데이터의 저장 실시간 데이터 스트림 처리 재방문 추적 푸시 알림 전송 모바일앱 요구사항
  • 4.
    v   모바일 개발자가라사대… 직면한 문제점 플랫폼 파편화 확장성 높은 동기화의 어려움 앱 관리 및 운영 비용 증가 핵심 UX 만드는데도 시간 증가 사용자에게 줄 핵심 기능 구현 시간 저하 앱개발은 만만한 작업이 아니다! 모바일 앱 코드   사용자 인증 및 관리 사용자 데이터 싱크 비동기 커뮤니케이션 활성 디바이스 분석 사용자 행태 분석 사용자 참여 분석 푸시 노티피케이션 사용자 이벤트 기능처리 플랫폼 독립적 모바일 백엔드 데이터 유효성 및 전송 파일 및 미디어 저장 공유 데이터베이스 스토리지   데이터 수집   기타등등…    
  • 5.
    v   AWS 가라사대… 모바일앱 코드   사용자 인증 및 관리 사용자 데이터 싱크 비동기 커뮤니케이션 활성 디바이스 분석 사용자 행태 분석 사용자 참여 분석 푸시 노티피케이션 사용자 이벤트 기능처리 플랫폼 독립적 모바일 백엔드 데이터 유효성 및 전송 파일 및 미디어 저장 공유 데이터베이스 스토리지   데이터 수집   기타등등…     Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push AWS Lambda Mobile-optimized Connectors (Amazon Kinesis, Amazon S3, Amazon DynamoDB, Amazon SQS)
  • 7.
    Amazon Cognito AmazonMobile Analytics Amazon SNS Mobile Push Amazon Kinesis Recorder DynamoDB Mapper S3 Transfer Manager SQS Client Amazon SES Client AWS 글로벌 인프라 핵심 빌딩 블럭 클라우드 서비스 모바일 최적화 커넥터 모바일 최적화 서비스 모바일 앱, 게임, IoT 디바이스 AWS 모바일 SDK, API 엔드포인, AWS 관리 콘솔 컴퓨팅 스토리지 네트워크 데이터 분석 데이터베이스 통합 SDK AWS Lambda Lambda Functions λ λ λ λ AWS 모바일 빌딩 블럭
  • 8.
    v   Your Mobile App 사용자 인증 사용자권한 부여 사용자 행동 분석 미디어의 저장 및 공유 인증정보 단말간 공유 미디어 전송 공유 데이터의 저장 실시간 데이터 스트림 처리 재방문 추적 푸시 알림 전송 모바일앱 요구사항
  • 9.
    v   AWS MobileSDK Amazon Mobile Analytics Amazon Cognito (Sync) AWS Identity and Access Management Amazon Cognito (Identity Broker) Amazon S3 Transfer Manager Amazon CloudFront (Device Detection) Amazon DynamoDB (Object Mapper) Amazon Kinesis (Recorder) Amazon Mobile Analytics Amazon SNS Mobile Push Your Mobile App 사용자 인증 사용자 권한 부여 사용자 행동 분석 미디어의 저장 및 공유 인증정보 단말간 공유 미디어 전송 공유 데이터의 저장 실시간 데이터 스트림 처리 재방문 추적 푸시 알림 전송 AWS Mobile SDK
  • 10.
    v   AWS MobileSDK Amazon Mobile Analytics Amazon Cognito (Sync) AWS Identity and Access Management Amazon Cognito (Identity Broker) Amazon S3 Transfer Manager Amazon CloudFront (Device Detection) Amazon DynamoDB (Object Mapper) Amazon Kinesis (Recorder) Amazon Mobile Analytics Amazon SNS Mobile Push Your Mobile App 사용자 인증 사용자 권한 부여 사용자 행동 분석 미디어의 저장 및 공유 인증정보 단말간 공유 미디어 전송 공유 데이터의 저장 실시간 데이터 스트림 처리 재방문 추적 푸시 알림 전송 AWS Mobile SDK
  • 12.
    v   Amazon Cognito소개 간단한 인증 방식 제 공 및 접근 관리 모바일 및 AWS 전체 서 비스에 적용 가능한 안 전한 아이덴티티 관리 디바이스 및 플랫폼 간 데이터 동기화 가장 안전한 베스 트 프랙티스 적용 디바이스 및 플랫폼 관 계 없이 사용자 인증 및 데이터 동기화 다양한 소셜 로그인 방 식을 통해 쉽게 로그인 가능 Guest Your own Auth
  • 13.
    v   아이덴티티 제공자 사용자 아이덴티티철수 영희민수 모든 디바이스 모든 플랫폼 모든 AWS 서비스 Amazon Cognito: 사용자 인증 Mobile Analytics S3 DynamoDB Kinesis 다양한 소셜 로그인 제공 트위터, 페이스북, 구글플러스 및 아마존 인증 을 손쉽게 인증할 수 있음 디바이스 및 플랫폼간 인식 가능 다양한 디바이스와 운영체제에서도 사용자 인 증이 가능함 안전한 인증 체계 구축 모바일 디바이스에서 안전하게 AWS 서비스에 접근가능하며 IAM(Identity and Access Management)사용 가능
  • 14.
    v   Amazon Cognito:게스트 사용자 지원 Visitor Preferences Cognito Store Guest EC2 S3 DynamoDB Kinesis 게스트 사용자 접근 90%의 단순 앱 사용자를 위해 계정 생성이나 로 그인없이도 AWS 서비스를 안전하게 접근 가능 클라우드 데이터 저장 손님에서 가입 및 로그인 하면 끊김없이 데이터 저장 가능 보안 베스트 프랙티스 활용 가입 및 로그인 후에도 사용자 권한은 일시적이고 제한적으로 접근하게 되며 AWS 보안 규정에 따 라 안전하게 관리 가능 iOS Android JavaScript
  • 15.
    v   Amazon Cognito:모바일 보안 체계 EC2 S3 DynamoDB Kinesis AWS Credentials 보호 AWS Access Key나 Access Credential을 모바일앱 에 포함하지 않고, 임시 크리덴셜을 부여받음 임시 토큰 기반 인증 일시적이고 제한된 권한만 가진 토큰을 무작위로 생성 전달하며 이를 삭제할 수 있음 세부적인 AWS 접속 허용 기존 IAM 사용자 권한에 따라서 제한적인 AWS 접근 권한을 조절 가능. 자체 인증 시스템 사용 자체 인증을 가지고 있는 경우에도, GetOpenIdTokeForDeveloperIden;ty()  를 통해 활용 가능
  • 16.
    v   Amazon Cognito:인증 체계도 Iden;typool   Iden;ty   Providers   같은 보안 정책을 공유하는 아이덴티티풀 Access  Policy   Access  to  AWS   Services  iden;typool   Unauthen;cated   Iden;;es   authen;cated   iden;;es   AWS IAM Roles AWS  Account   웹 아이덴티티풀 S3 DynamoDB Get Delete Put
  • 17.
    v   Amazon Cognito:데이터 동기화 User Data Storage and Sync iOS/Android/FireOS k/v data Identity pool 앱데이터, 환경 설정 및 상태 저장 로그인 이후에 앱 및 디바이스 데이터를 디바이스 및 플랫폼과 관계 없이 한 줄의 코드로 저장 오프라인 지원 데이터는 로컬 SQLite DB에 먼저 저장하 므로 인터넷 접속과 관계 없이 사용 가능 백엔드 없이 이용 간단한 SDK를 이용하여 서버 사이드 코 드가 필요 없음
  • 18.
    사례: Concrete Software Amazon Cognito를 이용하여 보다 빠르고 사용자 경험이 좋은 모바 일 게임을 만들 수 있었습니다. Keith A. Pichelman CEO, Concrete Software ” “ •  다중 디바이스 및 플랫폼을 통해 중단없는 (seamless) 사용자 경험 제공 필요 •  백엔드 서버 없이도 클라우드에 게임 진행 사항 저장 및 디바이스별 동기화 문제점 해결법 •  Amazon Cognito를 통해 안전하게 AWS 자 원에 접근 가능 •  Cognito Sync를 통해 백엔드 인프라 없이도 사용자 디바이스의 캐싱하고 클라우드에 저 장하는 유연성 제공
  • 19.
  • 20.
  • 21.
    v   단계3: SDK다운로드 및 샘플 코드 적용
  • 22.
    v   Amazon Cognito:동기화 기능 예제 CredentialsProvider 및 CognitoClient 초기화 데이터 동기화 원하는 데이터 셋이나 키/밸류 설정 provider = new CognitoCachingCredentialsProvider (context, AWS_ACCOUNT_ID, ! ! !COGNITO_POOL_ID, COGNITO_ROLE_UNAUTH, COGNITO_ROLE_AUTH, Regions.US_EAST_1);! ! cognito = new CognitoSyncManager (context, Regions.US_EAST_1, provider);! dataset.synchronize(new SyncCallback(){..});! ! cognito.openOrCreateDataset(datasetName);! dataset.put(key, value);!
  • 23.
    v   DataSet *dataset= [syncClient openOrCreateDataSet:@"myDataSet"]; NSString *value = [dataset readStringForKey:@"myKey"]; [dataset putString:@"my value" forKey:@"myKey"];   AWSCognitoSyncClient *syncClient = [[AWSCognitoSyncClient alloc] initWithConfiguration: configuration];   [dataset synchronize]; Amazon Cognito: 동기화 기능 예제 CredentialsProvider 및 CognitoClient 초기화 데이터 동기화 원하는 데이터 셋이나 키/밸류 설정
  • 24.
    v   AWS MobileSDK Amazon Mobile Analytics Amazon Cognito (Sync) AWS Identity and Access Management Amazon Cognito (Identity Broker) Amazon S3 Transfer Manager Amazon CloudFront (Device Detection) Amazon DynamoDB (Object Mapper) Amazon Kinesis (Recorder) Amazon Mobile Analytics Amazon SNS Mobile Push Your Mobile App 사용자 인증 사용자 권한 부여 사용자 행동 분석 미디어의 저장 및 공유 인증정보 단말간 공유 미디어 전송 공유 데이터의 저장 실시간 데이터 스트림 처리 재방문 추적 푸시 알림 전송 AWS Mobile SDK
  • 25.
  • 26.
    v   Amazon MobileAnalytics 비용이 저렴 하다! 다양한 통계 분석을   60분 이내에   수행 가능   빠르다! 수백만의 사용자로 부터 오는 수십억건 데이터도 무료로 분석 가능!   데이터는 나의것! “간단하고도 비용 효율적인 모바일 앱 분석 도구” 수집된 데이터는 모두 자신의 AWS    자원에 저장!
  • 27.
    v   주요 지표 (한라인코드로만도추가 가능) 1. Monthly  Ac;ve  Users  (MAU)     2. Daily  Ac;ve  Users  (DAU)     3. New  Users,     4. Daily  Sessions,     5. S;cky  Factor,     6. 1-­‐Day  Reten;on,     7. Avg.  Revenue  per  DAU,     8. Daily  Paying  Users,   9. Avg.  Paying  DAU
  • 28.
    v   사용자 리텐션     마케팅 이벤트 및 UI  변경, 신기능 추가 등에 대한 사용자 반응을 신속하게 체크 가능      
  • 29.
    v   Mobile Analytics적용 코드 예제 앱 코드에서 MobileAnalyticsManager 초기화 별도 원하는 추가 이벤트 수집의 경우 선언 OnResume() 혹은 OnPause() 추가 private static MobileAnalyticsManager analytics;! analytics = MobileAnalyticsManager.getOrCreateInstance(! this.getApplicationContext(),"yourCompany.yourAppId", ! ! Regions.YOUR_REGION, config, cognitoProvider );! EventClient eventClient = analytics.getEventClient();! MobileAnalyticsEvent visitEvent = eventClient.createEvent("speedSet");! eventClient.recordEvent(visitEvent);! analytics.getSessionClient().resumeSession();! analytics.getSessionClient().pauseSession();! Analytics.getEventClient().submitEvents();!
  • 30.
    v   Mobile Analytics적용 코드 예제 AWSMobileAnalytics 객체 초기화! AWS 관리 콘솔에서 확인 가능~ 이벤트 전송. 만약 호출되지 않으면 주기적으로 자동 호출 커스텀 이벤트 추가 하기 [eventClient submitEvents];! id<AWSMobileAnalyticsEventClient> eventClient = analytics.eventClient;! id<AWSMobileAnalyticsEvent> level1Event = [eventClient createEventWithEventType:@"level1Complete"];! AWSMobileAnalytics* analytics = [AWSMobileAnalytics ! !defaultAWSMobileAnalyticsWithIdentifier:@"someuniqueid"];!
  • 31.
    v   분석 데이터저장 mobile client Amazon S3 Amazon Mobile Analytics
  • 32.
  • 33.
  • 35.
    v   서드파티를 활용한시각화 mobile client Amazon S3 Amazon Redshift Amazon Mobile Analytics External  data  
  • 36.
    v   사례: ForzaFootball 앱 •  전 세계 2위의 축구 관련 앱 •  420여개의 축구리그 정보 업데이트 •  경기 결과 및 하이라이트 푸시 제공
  • 37.
    37   국가별 사용자성장세 분석
  • 38.
  • 39.
  • 40.
  • 41.
    v   AWS MobileSDK Amazon Mobile Analytics Amazon Cognito (Sync) AWS Identity and Access Management Amazon Cognito (Identity Broker) Amazon S3 Transfer Manager Amazon CloudFront (Device Detection) Amazon DynamoDB (Object Mapper) Amazon Kinesis (Recorder) Amazon Mobile Analytics Amazon SNS Mobile Push Your Mobile App 사용자 인증 사용자 권한 부여 사용자 행동 분석 미디어의 저장 및 공유 인증정보 단말간 공유 미디어 전송 공유 데이터의 저장 실시간 데이터 스트림 처리 재방문 추적 푸시 알림 전송 AWS Mobile SDK
  • 42.
    v   S3 Connector:모바일 전송 관리 S3  Connector 멀티 파트 데이터 업로드(photos,  videos,  audio) 빠른 다운로드(e.g.  assets) 자동 재시작 중단/재시작/취소 기능 제공 네이티브 OS  친화적 앱스토어 출시 사이클과 상관 없이 동 적으로 자원을 업데이트할 수 있었으며,   170MB가 넘는 다바이스별 이미지를 모 바일에서 직접 다운르도하여 서버 확장 성을 고려할 필요가 없이 더 품질 높은 고해상도 이미지 전송도 가능   Amazon S3 connector를 통해 동적으 로 게임 자원을 백그라운드로 다운로드 하여 사용자 경험이 늘어났습니다. Douglas Hare CEO, Outplay Entertainment ” “
  • 43.
    v   S3에 이미지관리 예제 // Creating the transfer manager ! TransferManager transferManager = new TransferManager(credentialProvider);! ! // Upload image ! Upload upload = transferManager.upload(BUCKET_NAME, fileName, file); ! // Download image ! Download = transferManager.download(BUCKET_NAME, mKey, file); ! ! // Pause, and Resume! try {! PersistableDownload persistableDownload = download.pause();! //do something if we didn’t abort! } catch(PauseException e) {! //do something if we aborted! } download = transferManager.resumeDownload(persistableDownload);!
  • 44.
    v   AWS MobileSDK Amazon Mobile Analytics Amazon Cognito (Sync) AWS Identity and Access Management Amazon Cognito (Identity Broker) Amazon S3 Transfer Manager Amazon CloudFront (Device Detection) Amazon DynamoDB (Object Mapper) Amazon Kinesis (Recorder) Amazon Mobile Analytics Amazon SNS Mobile Push Your Mobile App 사용자 인증 사용자 권한 부여 사용자 행동 분석 미디어의 저장 및 공유 인증정보 단말간 공유 미디어 전송 공유 데이터의 저장 실시간 데이터 스트림 처리 재방문 추적 푸시 알림 전송 AWS Mobile SDK
  • 46.
    v   Amazon SNS Cross-platform MobilePush Internet Apple APNS Google GCM Amazon ADM Windows WNS and MPNS Baidu CP With Amazon SNS, developers can send push notifications on multiple platforms and reach mobile users around the world Amazon SNS 모바일 푸시 Android Phones and Tablets Apple iPhones and iPads Kindle Fire Devices Android Phones and Tablets in China iOS Windows Desktop and Windows Phone Devices
  • 47.
  • 48.
  • 49.
    단계3: SDK 다운로드및 샘플 코드 적용
  • 50.
    v   사례: Path앱모바일 푸시 35  AWS  EC2  m3.xlarge  instances     Home-­‐rolled  code  based  on  Tornado   6  Load     Balancers   2010년에 창업 및 2개 앱 3개 플랫폼 20개 언어로 서비스 500만 동시 접속 자 및 수십억 월간 임프레션 Path  Daily  SNS  Mobile  Push   Deliveries  (millions)  
  • 51.
    v   AWS MobileSDK Amazon Mobile Analytics Amazon Cognito (Sync) AWS Identity and Access Management Amazon Cognito (Identity Broker) Amazon S3 Transfer Manager Amazon CloudFront (Device Detection) Amazon DynamoDB (Object Mapper) Amazon Kinesis (Recorder) Amazon Mobile Analytics Amazon SNS Mobile Push Your Mobile App 사용자 인증 사용자 권한 부여 사용자 행동 분석 미디어의 저장 및 공유 인증정보 단말간 공유 미디어 전송 공유 데이터의 저장 실시간 데이터 스트림 처리 재방문 추적 푸시 알림 전송 AWS Mobile SDK
  • 52.
    철수 영희 민수 Amazon DynamoDBConnector: Object Mapper •  지연 속도 없이 빠르게 데이터 추가 및 높은 성능을 가진 DynamoDB를 앱에서 간단한 코드로 접근 가능   •  모바일 클라이언트 데이터를 그대 로 싱크 가능   •  멀티 디바이스에서 쉽게 이용 가능   게임 점수   철수   1500   영희   800   민수   750  
  • 53.
    v   Amazon   Kinesis   Amazon     Redshi[   Kinesis   enabled  Apps   on  EC2   AWS  Mobile   SDK   Amazon Kinesis Connector for Mobile Apps For  sophis;cated   User  Behavior   Real-­‐;me     Analysis   Amazon Kinesis를 통해 실시간 사용자 액션을 직 접 모바일로 전송하여 분 석 할 수 있었습니다. ” “ Amazon     EMR  
  • 54.
    v   AWS MobileSDK Amazon Mobile Analytics Amazon Cognito (Sync) AWS Identity and Access Management Amazon Cognito (Identity Broker) Amazon S3 Transfer Manager Amazon CloudFront (Device Detection) Amazon DynamoDB (Object Mapper) Amazon Kinesis (Recorder) Amazon Mobile Analytics Amazon SNS Mobile Push Your Mobile App 사용자 인증 사용자 권한 부여 사용자 행동 분석 미디어의 저장 및 공유 인증정보 단말간 공유 미디어 전송 공유 데이터의 저장 실시간 데이터 스트림 처리 재방문 추적 푸시 알림 전송 AWS Mobile SDK 비지니스 로직 및 기능 AWS Lambda
  • 56.
    AWS Lambda: 서버없는 컴퓨팅 유연한 자동 확장서버 설치 불필요 실행 시간에 따라 과금 프로그램 코드 “서버 없이도 클라우드 기반 무상태(Stateless) 함수 실행” Stream processing Data triggers Serverless backend Mobile/IoT Indexing & synchronization
  • 57.
    Amazon EC2/ECS •  시간단위리소스 대여 •  유연한 인프라 설계 (OS/타입) •  장애에 대한 고려 필요 •  인스턴스 추가를 통한 확장 •  모든 코드 및 언어로 개발 가능 •  서버 관리 부담 있음 AWS Lambda와 EC2/ECS 비교 AWS Lambda •  이벤트 요청에 따라서 사용 •  OS/타입 등 인프라 고려 필요 없음 •  AWS 기반 무장애 시스템 •  요청량에 따라 확장 •  Node.js 및 자바 코드로 함수 구현 •  서버 관리 부담 없음
  • 58.
  • 59.
  • 60.
    v   단계3: 실행경과 디버깅
  • 61.
    활용 예제: DataTriggers- Amazon S3 S3  Bucket  Events   AWS  Lambda   λ   Original  image   Thumbnailed   image  
  • 62.
    활용 예제: DataTriggers-Mobile Backend AWS  Lambda   λ  Amazon  Cognito   User  data  change   Send  SNS   no;fica;ons   Update     DynamoDB   Table  
  • 63.
    v   다양한 활용예제 •  S3에 ZIP 파일 업로드시 자동 압축 해제 하기 •  S3에 동영상 파일 업로드시 인코딩 하기 •  S3에 XLS 파일 업로드시 DynamoDB로 저장하기 •  S3에 정적 블로그 호스팅 하기 •  Node.js 문자 인식 라이브러리로 이미지내 문자 인식하기 •  Node.js 크롤러를 이용한 간단한 웹 크롤러 개발하기 •  Node.js 활용 Cron Job 만들기 h`ps://github.com/awscodes/lambda-­‐snippet    
  • 64.
    v   예제: LambdaAuth • 예제: http://lambdauth.danilop.net •  코드: https://github.com/danilop/LambdAuth
  • 65.
    v   예제: LambdaChat •  예제: http://lambda-chat.s3-website-us-east-1.amazonaws.com/ •  코드: https://github.com/cloudnative/lambda-chat
  • 66.
    신규 뉴스 기사및 이미지 업로 드 시 다양한 기능 수행   예측 분석을 위한 실 시간 데이터 처리   모바일을 위한 업로드 사 진에 대한 섬네일 제작   소셜 미디어 플랫폼에서 오는 트래픽을 실시간으로 분석   블로그 콘텐츠에 대한 대 용량 분산 검색 수행   실시간으로 고충 사항 을 분석하여 운영 개선   기업별 활용 사례
  • 67.
    v   모바일 활용전략 SNS Amazon Cognito Amazon Cognito Amazon Cognito SNS Lambda Lambda Lambda Lambda Any Analytics S3 + Amazon Redshift Amazon Kinesis DynamoDB Amazon Cognito Amazon Kinesis LambdaS3
  • 68.
    v   마지막으로… AWSMobile SDK 다운로드:  hFp://aws.amazon.com/ko/mobile/sdk    
  • 69.
    v   모바일 빌딩블럭:사진 공유 앱을 생각해 봅시다!
  • 70.
    v   AWS Region AUTHENTICATED  (ASSUMED  ROLE)   서버없는 모바일 앱 AWS 모바일 서비스 기반 Download   Photos  &   App  Files   Session  and  Device  Data,  User  Behavior   Social  Content   (Tagging,  Likes,     Comments,  etc.)   Auto  Export   Metadata   Image  Manipula;on   40       Func;on   Invoked   Mul;-­‐part  Upload   User  Login   Auto  with  Web  Iden;ty  Token   User   Friends   AWS  Mobile  SDK   Session  &  Photo  Metadata   Role  Associated   With  Iden;ty  Pool   AWS   Lambda   Amazon   CloudFront   Amazon   Mobile  AnalyUcs   Amazon   DynamoDB   Amazon   Cognito   Amazon   IAM   Amazon   S3   Geo  Look  up   Amazon   SNS  Mobile     Push   Amazon   RedshiV   Targeted  
  • 71.
    v   Sensors  Devices   Cloud  Backend   Visualiza;on   Amazon   Cognito Amazon  SNS Kinesis Streams DynamoDB Tables Amazon  S3 Buckets Kinesis Workers Intel  Edison/Python Intel  Edison/NodeJS Intel  Edison/Arduino/C++ Edison Python(boto) Node.js iOS Android JavaScript Arduino Android/Java iOS/ObjecOve-­‐C NodeJS Proxy Grove  Starter  Kit Grove  LED Grove  Tilt Grove  Piezo Grove  BuTon Grove  Accelerometer Grove  Temperator Grove  NFC Grove  Infrared Grove  Touch Grove  Light Grove  Relay HackDay  Dashboard Team  Leaderboard Team  Dashboard JavaScript h`p://bit.ly/aws-­‐iot-­‐hack     One more thing: AWS IoT 클라우드 백엔드
  • 72.
    v   Amazon Cognito Mobile Analytics SNS Mobile Push Free  Tier:   1  Million  push   messages  every   month     Free  Tier     (for  first  12  months):   1  Million  syncs/month  +   10GB  of  storage  for   Amazon  Cognito   Free  Tier:   100  Million  events   every  month         AWS 모바일 무료 서비스 h`p://aws.amazon.com/mobile     AWS Lambda Free  Tier  :  1M  free   requests  per  month     400,000  GB-­‐seconds   of  compute  ;me  per   month    
  • 73.
    온라인 자습 및실습 다양한 온라인 강의 자 료 및 실습을 통해 AWS 에 대한 기초적인 사용 법 및 활용 방법을 익히 실 수 있습니다. 강의식 교육 AWS 전문 강사가 진행하는 강의를 통해 AWS 클라우드로 고가용성, 비용 효율성을 갖춘 안전한 애플리 케이션을 만드는 방법을 알아보세 요. 아키텍쳐 설계 및 구현에 대한 다양한 오프라인 강의가 개설되어 있습니다. 인증 시험을 통해 클라우 드에 대한 자신의 전문 지 식 및 경험을 공인받고 개 발 경력을 제시할 수 있습 니다. AWS 공인 자격증 http://aws.amazon.com/ko/training 다양한 교육 프로그램
  • 74.
    AWS 웨비나 시리즈에참여해 주셔서 감사합니다! 이번 웨비나가 여러분의 궁금증 해소에 도움이 되었길 바랍니다. 이후 이어질 설문 조사를 통해 오늘 웨비나에 대한 의견을 알려주세요. aws-korea-marketing@amazon.com http://twitter.com/AWSKorea http://facebook.com/AmazonWebServices.ko http://youtube.com/user/AWSKorea http://slideshare.net/AWSKorea