20150724 제10회 부산 모바일 포럼 - 모바일 및 iot 환경을 위한 aws 클라우드...

89
모바일 IoT 환경을 위한 AWS 클라우드 랫폼의 진화 김상필 솔루션즈 아키텍트([email protected] ) 201572410부산 모바일 포럼

Upload: amazon-web-services-korea

Post on 14-Aug-2015

687 views

Category:

Technology


0 download

TRANSCRIPT

모바일 및 IoT 환경을 위한 AWS 클라우드 플랫폼의 진화

김상필 솔루션즈 아키텍트([email protected]) 2015년 7월 24일

제10회 부산 모바일 포럼  

모바일 개발… 전통적인 모습…

Mobile  Web  

iPhone  /  iPad  app  

Android  app  

시간과 노력 :    클라이언트 개발    서버 개발 인프라 구축  

Servers  

Databases  

Storages  

모바일 개발 … AWS를 쓴다면…

SDK  /  AP

I  

시간과 노력 :    클라이언트 개발 서버 개발 인프라 구축  

Mobile  Web  

iPhone  /  iPad  app  

Android  app  

모바일 개발 … AWS를 직접 백엔드로 활용하면…

SDK  /  AP

I  

시간과 노력 :    클라이언트 개발 서버 개발 인프라 구축  

Mobile  Web  

iPhone  /  iPad  app  

Android  app  

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 접근 권한을 조절 가능.

자체 인증 시스템 사용 자체 인증을 가지고 있는 경우에도, GetOpenIdTokeForDeveloperIdentity() 를 통해 활용 가능

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 Active Users (MAU) 2. Daily Active Users (DAU) 3. New Users, 4. Daily Sessions, 5. Sticky Factor, 6. 1-Day Retention, 7. Avg. Revenue per DAU, 8. Daily Paying Users, 9. Avg. Paying DAU

v  

고객 유지(User Retention) 마케팅 이벤트 및 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  AWSMobileAnalytics 객체 초기화! AWS 관리 콘솔에서 확인 가능

이벤트 전송. 만약 호출되지 않으면 주기적으로 자동 호출

커스텀 이벤트 추가 하기

[eventClient submitEvents];

id<AWSMobileAnalyticsEventClient> eventClient = analytics.eventClient; id<AWSMobileAnalyticsEvent> level1Event = [eventClient createEventWithEventType:@"level1Complete"];

AWSMobileAnalytics* analytics = [AWSMobileAnalytics defaultAWSMobileAnalyticsWithIdentifier:@"someuniqueid"];

Mobile Analytics 적용 코드 예제

v  

분석 데이터 저장

mobile client

Amazon S3

Amazon Mobile Analytics

v  

v  

Redshift로 저장

mobile client

Amazon S3

Amazon Redshift

Amazon Mobile Analytics

외부 데이터  

v  

서드파티를 활용한 시각화

mobile client

Amazon S3

Amazon Redshift

Amazon Mobile Analytics

외부 데이터  

v  

사례: Forza Football 앱

• 전 세계 2위의 축구 관련 앱 • 420여개의 축구리그 정보 업데이트 • 경기 결과 및 하이라이트 푸시 제공

40  

국가별 사용자 성장세 분석

41  

인구별 사용자 분포 분석

42  

사용자 행동 분석

43  

디바이스 분포 분석

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 Redshift

Kinesis enabled Apps on

EC2

AWS Mobile SDK

Amazon Kinesis Connector for Mobile Apps For sophisticated

User Behavior Real-time 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 및 자바 코드로 함수 구현

•  서버 관리 부담 없음

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 만들기

hRps://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 Lambda S3

v  

AWS Mobile SDK

다운로드: http://aws.amazon.com/ko/mobile/sdk

v  

모바일 빌딩블럭: 사진 공유 앱을 생각해 봅시다!

v  

AWS Region

AUTHEN

TICATED  (ASSUMED  RO

LE)  

서버없는 모바일 앱 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  AnalyPcs  

Amazon  

DynamoDB  

Amazon  

Cognito  

Amazon  

IAM   Amazon  

S3  

Geo  Look  up  

Amazon  

SNS  Mobile    Push  

Amazon  

RedshiQ  

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/ObjecIve-­‐C

NodeJS Proxy

Grove  Starter  Kit Grove  LED Grove  Tilt Grove  Piezo Grove  BuNon Grove  Accelerometer Grove  Temperator Grove  NFC Grove  Infrared Grove  Touch Grove  Light Grove  Relay

HackDay  Dashboard Team  Leaderboard Team  Dashboard

JavaScript

hRp://bit.ly/aws-­‐iot-­‐hack    

AWS IoT 클라우드 백엔드

AWS C-SDK Experimental

for Arduino-style IoT Devices

C-SDK – Native AWS Libraries, Direct Access to AWS Services from Devices

hRps://github.com/awslabs/aws-­‐sdk-­‐arduino  

Hardware Cloud Backend Visualization

Amazon "Cognito"

Amazon SNS"

Kinesis"Streams"

DynamoDB"Tables"

Amazon S3"Buckets"

Kinesis"Workers"

HackDay Dashboard"Team Leaderboard"Team Dashboard"

Intel Edison with AWS Arduino C-SDK – Direct Access to AWS Services

Arduino"SDK"

cloudformation"

Grove Starter Kit"(Sensors and Actuators)"

Python() Node.js

JavaScript Amazon S3

Bucket

사례 : Major League Baseball Advanced Media

•  MLBAM Uses AWS to Power its Statcast Player-Tracking Platform

•  This cool new video experience, powered by AWS, demonstrates for fans how high-resolution cameras and radar equipment precisely track the position of the ball and all of the players on the field during a baseball game. The equipment captures 20,000 position metrics for the ball every second. It also captures 30 position metrics for each player every second.

사례 : Major League Baseball Advanced Media

사례 : Major League Baseball Advanced Media

•  This equipment measures –  the ball’s flight path 20,000 times / second –  the location of each player 30 times / second –  produces 7TB of data per game –  17 PB of game data per season

•  MLBAM uses AWS (incl. Kinesis, S3, EMR, EC2, etc.) to create video overlays and new performance metrics (e.g. Route Efficiency) to measure player performance.

•  Using these metrics, StatCast helps answer the age-old question of which players make easy plays look hard, and which players make hard plays look easy.

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 모바일 무료 서비스

hRp://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

다양한 교육 프로그램

질의응답  

감사합니다