aws meets android - "aws sdk for android"で開発を楽にしよう!

84
AWS meets Android "AWS SDK for Android"開発を楽にしよう!玉川憲'Ken Tamagawaエバンジェリスト、技術推進部長 Amazon Data Services Japan 株式会社 Twitter: @KenTamagawa

Upload: -ken-tamagawa-amazon-web-services

Post on 04-Jul-2015

9.599 views

Category:

Technology


1 download

DESCRIPTION

Android Bazaar and Conference 2011 Winterで話した資料に、簡単に解説を加えたものです。以下は、講演の概要。 Amazon Web Services(AWS)は、仮想サーバ、ストレージ、データベースなどを初期費用不要かつ安価な従量課金で提供するクラウドサービスのパイオニアです。AWS SDK for Androidは、モバイルアプリケーションのためのライブラリであり、開発者がモバイルアプリからAWSのサービスを使うことを非常に簡単にします。容量無制限でオブジェクトを置いただけでURLがつくAmazon Simple Storage Services(S3)を使えば、画像やビデオを高速にCDN(コンテンツ配信)できるアプリケーションを容易に作成できます。その他にも、非常に柔軟性、スケーラビリティが高いNoSQLサービスのAmazon SimpleDBや、高信頼でスケーラブルなキューイング、メッセージングを提供するAmazon SQS、Amazon SNSなど便利なサービスが揃っています。本セッションでは、アマゾンクラウドの概要、AWS SDK for Androidの解説だけでなく、デモンストレーションによりアマゾンクラウドとAWS SDK for Androidの魅力を余すところなくお伝えいたします。

TRANSCRIPT

Page 1: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

AWS meets Android

"AWS SDK for Android"で開発を楽にしよう!”

玉川憲'Ken Tamagawa(

エバンジェリスト、技術推進部長

Amazon Data Services Japan 株式会社

Twitter: @KenTamagawa

Page 2: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

玉川憲の自己紹介

• アマゾンでクラウドを啓蒙するエバンジェリスト

主な経歴

• 東大→IBM基礎研→Rational→CMU MBA/MSE→IBMエバ→AWS(イマココ)

講演のハッシュタグ#abc2011w #jawsug

2011年3月に

監訳本、インプレス様から発売予定!

Twitter: @KenTamagawa

Page 3: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Android のブラウザ or クライアントAndroid のブラウザ or クライアント+ サーバー

Android のスタンドアローンアプリAndroid のスタンドアローンアプリ

メモリ&ストレージの制約、ハードの機種依存

サーバー運用のコスト、スキル、手間、時間

ネットコンテンツが重要

Androidとクラウド

Page 4: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Android のブラウザ or クライアントAndroid のブラウザ or クライアント+ サーバー

Android のスタンドアローンアプリAndroid のスタンドアローンアプリ

メモリ&ストレージの制約、ハードの機種依存

サーバー運用のコスト、スキル、手間、時間

ネットコンテンツが重要

クラウド

Androidとクラウド

クラウドを活用することで、サーバー運用を効率化できる

Page 5: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Agenda

AndroidとAmazon

Androidとクラウド

AndroidとAWS SDK for Android

まとめ

Page 6: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

そもそもAmazonと

Androidの関係?

Page 7: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

以外と深いんです

Page 8: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Androidの本売ってますw

Page 9: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Androidのデバイスも売ってますw

Page 10: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Amazon App for Android

Page 11: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Kindle for Android

Page 12: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Kindle for Android

Page 13: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Amazon AppStore

Amazon appstore “Developer Portal”が先週USでオープン!

Page 14: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Agenda

AndroidとAmazon

Androidとクラウド

AndroidとAWS SDK for Android

まとめ

Page 15: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

アマゾンの3つのビジネス

一般消費者様向けサービス

セラー様向けサービス

開発者様&IT プロ様向けサービス

Eコマース'Amazon.co.jp(

マーケットプレイス物流サービス提供'Amazon Services(

クラウドコンピューティング

'Amazon Web Services(

Page 16: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

急成長を続けるアマゾンのクラウドサービス

数十万の顧客がAWSを使用してシステム構築

2001 2002 2003 2004 2005 2006 2007 2008

AWS Amazon.com

AWS のデータセンター利用規模がAmazon.com に並ぶ

AWS の利用規模がAmazon.com

よりボリュームも伸び率も大きい

ネットワーク帯域の利用量:

Page 17: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

急成長を続けるアマゾンのクラウドサービス

数十万の顧客がAWSを使用してシステム構築

2001 2002 2003 2004 2005 2006 2007 2008

AWS Amazon.com

AWS のデータセンター利用規模がAmazon.com に並ぶ

AWS の利用規模がAmazon.com

よりボリュームも伸び率も大きい

ネットワーク帯域の利用量:

これはAWSを使ってソフトウェア/システム開発している顧客が数十万なので、AWSベースのソフト/システムを利用してい

るエンドユーザーはものすごく数が多い

Page 18: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

自家発電が当たり前だった時代

1800年代のビール工場の発電

機。この時代、工場は自家発電していた。生産力を担保するために電気は必要。じつは、ビールの味には電気はどこで起こそうが関係ないのだけれども。

Page 19: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

今日の電力サービス

①信頼できる送電網②大規模な発電所

いつでも、必要なだけ、安価に電気を利用可能

上記の①、②が揃って、今の

時代、障害対策以外に、自家発電している工場はほとんどない。いまや、電気は、いつでも、必要なだけ、安価に、入手

できるようになった

Page 20: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

いつでも、必要なだけ、安価に

発電所

工場

送電線

電気

データセンター

インターネット

IT部門

コンピュータ

Page 21: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

いつでも、必要なだけ、安価に

発電所

工場

送電線

電気

データセンター

インターネット

IT部門

コンピュータ

同じようなパラダイムシフトがITで

起きようとしている。世界規模のデータセンターが生まれ、インターネットが信頼に足るものに。電気の場合は、1900年代のはじめの20年で一気に置き換わった。

ITの場合はどうか?

Amazonは、このITの世界に

おける電気というものはなんなのか?コンピュータリソースを適確にパッケージ化してビジネスにしたクラウドにおけるパイオニア。

Page 22: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

AWSの簡単なイメージ

データセンター

IT担当

仮想サーバ(Amazon EC2)

Windows

( スタンダード)CentOS

(ハイCPU)

Oracle DB(Linux)

(ハイメモリ)

AMI

から AMI

保存

LinuxからWindows、Oracle DBまで、様々な仮想マシンイメージ( AMI)をAWS、サード

パーティ、コミュニティが提供。個人用のAMI

を作成して限定公開も可能

時間単位で仮想サーバをレンタル。課金も時間単位。好きなCPU/メモリ/ストレージの

スペックで立ち上げる。数分間で仮想サーバは使用可能に。見積もり、調達に時間をかける必要はもはやない。

AWSのクラウドは、ア

カウントを作成すると(アマゾンのアカウント作成とほぼ同じ)、

その場ですぐに使える。書面の契約など

必要なし。

Page 23: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

AWSの簡単なイメージ

データセンター

IT担当

仮想サーバ(Amazon EC2)

Windows

( スタンダード)CentOS

(ハイCPU)

Oracle DB(Linux)

(ハイメモリ)

AWS

Management

Console

コマンドライン& API

AMI

から AMI

保存

このプログラマブルなAPIを持つこと

によりクラウドインフラの管理を自動化できる。コマンドラインツール、

APIが充実。Java、.NET、PHP、Python、RubyなどのSDKが存在。

ここの間に、人力が全く入っておらず、完全自動化されている、というのもAWSのポイ

ント。ここに人力が入りると、コストを低くできない。また、数分で立ち上げるということは不可能。API完備されているということも大切。

Page 24: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

AWSの簡単なイメージ

データセンター

IT担当

仮想サーバ(Amazon EC2)

Windows

( スタンダード)CentOS

(ハイCPU)

Oracle DB(Linux)

(ハイメモリ)

AWS

Management

Console

コマンドライン& API

SSH公開鍵認証

AMI

から

仮想デスクトップ

ターミナル

AMI

保存仮想サーバーの操作は、従来のデータセンターのサーバと変わらない。ターミナル、仮想デスクトップなど。

Page 25: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

AWSの簡単なイメージ

データセンター

IT担当

仮想サーバ(Amazon EC2)

Windows

( スタンダード)CentOS

(ハイCPU)

Oracle DB(Linux)

(ハイメモリ)

AWS

Management

Console

コマンドライン& API

SSH公開鍵認証

仮想外部ディスク(Amazon EBS)

AMI

から

仮想デスクトップ

ターミナル

AMI

保存クラウド上の外付けハードディスク。EC2にマウントし

てファイルシステムとして使える。通常のハードディスクよりも故障率が低く設

計されている。

Page 26: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

AWSの簡単なイメージ

データセンター

IT担当

仮想サーバ(Amazon EC2)

Windows

( スタンダード)CentOS

(ハイCPU)

Oracle DB(Linux)

(ハイメモリ)

AWS

Management

Console

コマンドライン& API

SSH公開鍵認証

仮想外部ディスク(Amazon EBS)仮想ストレージ

(Amazon S3)

AMI

から

仮想デスクトップ

ターミナル

AMI

保存

その他サービス

S3は、容量無制限の高機能ストレージ。Web

ベース、もしくは、簡単なAPIでUpload/Downloadでき、URL付でそのまま公開/限定公開可能。

データの耐久性は99.999999999%(11桁)を

誇る。

仮想マシンイメージ(Amazon Machine Image)も、じつはS3を使って保存

されている。

EBSも、スナップショット機

能として、任意のタイミングで、S3にバックアップをとっ

ておける。

Page 27: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

AWSの簡単なイメージ

データセンター

IT担当

仮想サーバ(Amazon EC2)

Windows

( スタンダード)CentOS

(ハイCPU)

Oracle DB(Linux)

(ハイメモリ)

AWS

Management

Console

コマンドライン& API

SSH公開鍵認証

仮想外部ディスク(Amazon EBS)仮想ストレージ

(Amazon S3)

AMI

から

仮想デスクトップ

ターミナル

AMI

保存

その他サービス

その他、DB、キューイング

のほか、様々なサービスがクラウド上に用意されて

いる。

Page 28: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

時間単位で仮想サーバを調達可能

マイクロ

スタンダード

ハイメモリ

~2ECU

クラスタコンピュート

1~8 ECU

6.5~26 ECU

33.5 ECU

1.6円/時~

7円/時~

注:US East / Linux/Unix料金 / 転送量など別料金値段は、$1を、82円換算で計算(2010年10月15日時点)

41円/時~

131円/時

ハイCPU 5~20 ECU 14円/時~

782円/月

Page 29: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

時間単位で仮想サーバを調達可能

マイクロ

スタンダード

ハイメモリ

~2ECU

クラスタコンピュート

1~8 ECU

6.5~26 ECU

33.5 ECU

1.6円/時~

7円/時~

注:US East / Linux/Unix料金 / 転送量など別料金値段は、$1を、82円換算で計算(2010年10月15日時点)

41円/時~

131円/時

ハイCPU 5~20 ECU 14円/時~

782円/月

世界230位台のスーパーコン

ピュータがクラウドで借りられる。ITの世界におけるデモ

クラシー!これまで一握りの人にしかアクセスできなかったリソースに誰もがアクセス

できるように

非常に大人気のマイクロ。Webサーバの大部分が普段はCPU使

用率が低いことを有効活用してより低価格のインスタンスを

実現

Page 30: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

1時間単位で

「すぐに」「必要なだけ」

コンピュータリソースが

調達できるということは・・・

これまでのITの世界の

常識とは全く違った、考え方が必要に

なってくる

Page 31: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

サーバの余剰、不足から解放

※AWSエコノミクスセンター: http://aws.amazon.com/jp/economics/

Page 32: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

サーバの余剰、不足から解放

※AWSエコノミクスセンター: http://aws.amazon.com/jp/economics/

これまでは、ピークを見積もってサーバ調達。初期はサーバ未使用(過剰投資)、

ピークがくるとサーバダウン(機会損失)。その繰り返

しをしていた。

AWSを用いると、この

ギャップをより滑らかにコントロールできるようになる。初期投資を抑え、需要の伸びにあわせ、リソース調達をリアルタイムにでき

る。

Page 33: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

クラウドの特徴を生かしたシステム運用

・・・・・・

ピーク対応が楽 システムリカバリが楽

アクセス急増!

オートスケールでサーバ数が自動増減

システム不調

同じ構成のサーバ起動

新たなサーバにEBSをアタッチ

不調なサーバをシャットダウン

リカバリ完了!

EC2ELB EC2 EBS

Page 34: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

クラウドの特徴を生かしたシステム運用

・・・・・・

ピーク対応が楽 システムリカバリが楽

アクセス急増!

オートスケールでサーバ数が自動増減

システム不調

同じ構成のサーバ起動

新たなサーバにEBSをアタッチ

不調なサーバをシャットダウン

リカバリ完了!

EC2ELB EC2 EBS

ELB(ロードバランサ)、EC2

の組み合わせに加え、それらの状況を監視する

ClaudWatchと、その状況に

あわせサーバー増減を設定するAutoScalingを使うこと

で、需要にあわせた、サーバーの自動増減が可能。

Page 35: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

クラウドの特徴を生かしたシステム運用

・・・・・・

ピーク対応が楽 システムリカバリが楽

アクセス急増!

オートスケールでサーバ数が自動増減

システム不調

同じ構成のサーバ起動

新たなサーバにEBSをアタッチ

不調なサーバをシャットダウン

リカバリ完了!

EC2ELB EC2 EBS

システムが不調の際に、その原因解析に時間をかける前に、単純にサーバーコ

ピー(AMI)からサーバーを新たに立ち上げEBSをアタッ

チすることでシステム復帰が瞬時にできる。ゆっくり原因解析はすればよい。

Page 36: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

ビデオアプリケーション & AMAZON EC2E

C2インスタンス

(サーバ

)の数

4/12/2008

Facebook上での公開

トラフィックの急増にも、Amazon EC2で対応(ピーク時は5000サーバー)

4/14/2008 4/16/2008 4/18/2008 4/20/2008

Page 37: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

ビデオアプリケーション & AMAZON EC2E

C2インスタンス

(サーバ

)の数

4/12/2008

Facebook上での公開

トラフィックの急増にも、Amazon EC2で対応(ピーク時は5000サーバー)

4/14/2008 4/16/2008 4/18/2008 4/20/2008

2日間ほどで、ものす

ごいユーザー数を集めた。通常の物理サーバーではこの短期間に調達するのは不可能。またピークが過ぎた後にも、

AWSの場合はすぐに

サーバを落とせばよいだけ。使った時間分のみ課金される。

Page 38: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

金融サービス & AMAZON EC2E

C2インスタンス

(サーバ

)の数

週末は300サーバー

金曜4/24/2009

日曜4/26/2009

火曜4/28/2009

水曜4/22/2009

3,000サーバを利用

Page 39: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

金融サービス & AMAZON EC2E

C2インスタンス

(サーバ

)の数

週末は300サーバー

金曜4/24/2009

日曜4/26/2009

火曜4/28/2009

水曜4/22/2009

3,000サーバを利用

夜に大量のデータ処理をこなすために、3000台のサーバを

フル活用。ビジネスのボトルネックを解消している。処理が終わればすぐにサーバを落とすので、料金もかからない。昼間は300台のみ。

Page 40: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

EC2だけではない、AWSのサービス

【仮想サーバ】

Amazon EC2

【キューサービス】

Amazon SQS

【RDB】Amazon RDS

【NoSQL】Amazon SimpleDB

【プッシュサービス】

Amazon SNS

【ストレージ】

Amazon S3

【コンテンツ配信】

CloudFront

データセンター

【分散処理】

Elastic MapReduce

【ロードバランサー】

Amazon Elastic Load Balancing

ミドルウェア

サービス

仮想サーバ

【仮想ディスク】

Amazon Elastic Block store

エッジロケーション

【名前解決】

Amazon Route 53AWS SDK for

Android & iOS

Page 41: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

EC2だけではない、AWSのサービス

【仮想サーバ】

Amazon EC2

【キューサービス】

Amazon SQS

【RDB】Amazon RDS

【NoSQL】Amazon SimpleDB

【プッシュサービス】

Amazon SNS

【ストレージ】

Amazon S3

【コンテンツ配信】

CloudFront

データセンター

【分散処理】

Elastic MapReduce

【ロードバランサー】

Amazon Elastic Load Balancing

ミドルウェア

サービス

仮想サーバ

【仮想ディスク】

Amazon Elastic Block store

エッジロケーション

【名前解決】

Amazon Route 53AWS SDK for

Android & iOS

EC2/S3とともに非常に著名なRDS。AWSが、

バージョンアップ、冗長構成、バックアップ、など面倒み

てくれる

今注目されているHadoopをAWSが実装

したクラウドサービス。注目度高い。

S3に記録された画像

や動画をコンテンツ配信するサービス。東京も含んだ世界16

か所にエッジロケーションあり。

モバイルデバイスからAWSリソースを効率的に利用できるSDK。Android

用もiOS用もある。

Page 44: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

日本でのAWS利用事例

ハイブリッドクラウド環境で利用。3年間で約5,000万円相当のコスト削減

家電向けファームウェア配信

パナソニックのワールドワイドキャンペーン

携帯電話でのツイッターサービス。会員:50万人以上。1,000万PV/日

リプレックスが日本郵便と連携した年賀状・かもめーるの作成・郵送サービス

Hadoopによる大量データ分散処理。7,000時間の処理を30時間に短縮

Page 45: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

デモンストレーション

Page 46: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

クラウド移行の例

EC2インスタンスEC2インスタンス

EBS

チケット管理アプリ

MySQL

物理サーバー物理サーバー

チケット管理アプリ

MySQL

EC2インスタンスEC2インスタンス

RDSRDSRDSRDSRDS(ナル

RDS(リレーショナルDB)

ELB(ンサー

ELB(ロードバランサー)

チケット管理アプリ

EC2インスタンスEC2インスタンス

チケット管理アプリ

既存Webアプリ(物理サーバ)

クラウド移行 スケールアウト

AMI

EC2インスタンスEC2インスタンス

チケット管理アプリ

EC2インスタンスEC2インスタンス

チケット管理アプリ

Page 47: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Singapore

非常に耐久性の高い業務アプリを構築可能

Availability Zone 1a

Availability Zone 1b

EC2 EC2

ロードバランサ

RDS(マスタ)

RDS(スレーブ)

Page 48: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Singapore

リージョンとゾーン

US-east

US-west EU

Availability Zone 1a

Availability Zone 1b

EC2 EC2

Page 49: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Gumi様の利用イメージ

Amazon EC2 Amazon RDS

Multi AZに対応

Page 50: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Agenda

AndroidとAmazon

Androidとクラウド

AndroidとAWS SDK for Android

まとめ

Page 51: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Android のブラウザ or クライアント+ サーバー

Android のブラウザ or クライアント+ サーバー

運用のコスト、スキル、運用のコスト、スキル、手間、時間クラウド

AndroidとAWS SDK for Android

サーバーすら必要ない?

Android のブラウザ or クライアント+ クラウドのWebサービス

Android のブラウザ or クライアント+ クラウドのWebサービス

運用のコスト、スキル、運用のコスト、スキル、手間、時間クラウドクラウド

AWS SDK

for Android

AWS SDK

for Android

Page 52: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

AWS SDK for Androidのサポート(1/9時点)

【仮想サーバ】

Amazon EC2

【キューサービス】

Amazon SQS

【RDB】Amazon RDS

【NoSQL】Amazon SimpleDB

【プッシュサービス】

Amazon SNS

【ストレージ】

Amazon S3

【コンテンツ配信】

CloudFront

データセンター

【分散処理】

Elastic MapReduce

【ロードバランサー】

Amazon Elastic Load Balancing

ミドルウェア

サービス

仮想サーバ

【仮想ディスク】

Amazon Elastic Block store

エッジロケーション

【名前解決】

Amazon Route 53

Page 53: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

AWS SDK for Android (Beta)

Android端末からAWSのWebサービスAPI を呼ぶのを楽にするライブラリ

ストレージ(Amazon S3)

データベース(Amazon SimpleDB)

キュー&メッセージング(Amazon SQSとAmazon SNS)

ライブラリ、ドキュメント、サンプルコードを含む

Android 2.1 (API Level 7) /それ以上をサポート

Page 54: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

注:このイメージはあくまでコンセプト図です注:料金は82円換算であり2011年1月時点の概算です

Amazon S3 (Simple Storage Service)

データセンター

データセンター

データセンター

リージョン

自動複製

S3バケット

ファイル画像動画

耐久性11桁

世界中に拠点あり&世界中に拠点あり&API完備

料金は従量課金料金は従量課金ストレージ(約12円/GB-月)

データ転送(約8円~12円/GB)

リクエスト回数(約1円/万)

全オブジェクトにURLが付き

世界に公開可能

https://aws-android.s3.amazonaws.com/children.jpg

Page 55: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Amazon S3 (Simple Storage Service)

データセンター

リージョン(AP, EU, US x 2)

S3バケット

ファイル画像動画

世界中に拠点あり&世界中に拠点あり&API完備

バケットを作成し、そこにオブ

ジェクトをアップロード(ファイル/

画像/動画)

注:このイメージはあくまでコンセプト図です注:料金は82円換算であり2011年1月時点の概算です

Page 56: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Amazon S3 (Simple Storage Service)

データセンター

データセンター

データセンター

リージョン

自動複製

S3バケット

ファイル画像動画

裏で3か所裏で3か所

以上に自動複製し、その耐久性は11

桁に設計されている。

世界中に拠点あり&世界中に拠点あり&API完備

バケットを作成し、そこにオブ

ジェクトをアップロード(ファイル/

画像/動画)

注:このイメージはあくまでコンセプト図です注:料金は82円換算であり2011年1月時点の概算です

Page 57: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Amazon S3 (Simple Storage Service)

データセンター

データセンター

データセンター

リージョン

自動複製

S3バケット

ファイル画像動画

世界中に拠点あり&世界中に拠点あり&API完備

料金は従量課金料金は従量課金ストレージ(約12円/GB-月)

データ転送(約8円~12円/GB)

リクエスト回数(約1円/万)

全オブジェクトにURLが付き

世界に公開可能

https://aws-android.s3.amazonaws.com/children.jpg 裏で3か所裏で3か所

以上に自動複製し、その耐久性は11

桁に設計されている。

注:このイメージはあくまでコンセプト図です注:料金は82円換算であり2011年1月時点の概算です

Page 58: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

S3にアップロードすると。。。

https://aws-android.s3.amazonaws.com/children.jpg

バケット名

ファイル名(階層構造可能)

Page 59: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

注:このイメージはあくまでコンセプト図です注:料金は82円換算であり2011年1月時点の概算です

Amazon S3 (Simple Storage Service)

データセンター

データセンター

データセンター

リージョン

自動複製

S3

CloudFront

バケット

ファイル画像動画

エッジロケーション

世界中に拠点あり&世界中に拠点あり&API完備

指定したバケットを、指定したバケットを、東京含む17か所でコンテンツ配信

動画のストリーミ動画のストリーミングも可能

S3以外の、EC2、独自サーバもオリジンにS3以外の、EC2、独自サーバもオリジンに

独自ドメイン独自ドメインも!

料金は従量課金料金は従量課金ストレージ(約12円/GB-月)

データ転送(約8円~12円/GB)

リクエスト回数(約1円/万)

全オブジェクトにURLが付き

世界に公開可能

https://aws-android.s3.amazonaws.com/children.jpg 裏で3か所裏で3か所

以上に自動複製し、その耐久性は11

桁に設計されている。

Page 60: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Amazon SimpleDB

SimpleDB

世界中に拠点あり&世界中に拠点あり&API完備

スケーリングと冗長

スケーリングと冗長性が自動化されている

アイテム名 FirstName LastName Age Middle Nationality

Rec1 玉川 憲 34 JP

Rec2 玉川 蓮 3 Ren US, JP

Rec3 小島

ドメイン (People)

ドメイン (xxxx)

ドメインを作り、アイテム

データベースを使える

ドメインを作り、アイテムを登録。非常にシンプルなAPIで、インストー

ル、メンテナンス無しにデータベースを使える

リージョン

注:このイメージはあくまでコンセプト図です注:料金は82円換算であり2011年1月時点の概算です

Page 61: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Amazon SimpleDB

SimpleDB

世界中に拠点あり&世界中に拠点あり&API完備

SQLクエリ使える

データを正規化せずに

スの効率化

データを正規化せずに格納することで、アクセスの効率化

スケーリングと冗長

スケーリングと冗長性が自動化されている

アイテム名 FirstName LastName Age Middle Nationality

Rec1 玉川 憲 34 JP

Rec2 玉川 蓮 3 Ren US, JP

Rec3 小島

ドメイン (People)

ドメイン (xxxx)

ドメインを作り、アイテムドメインを作り、アイテムを登録。

属性は最大256個、属性は最大256個、

属性名、属性値は1024バイトまで

リージョン

1ドメインあたり、10GB、10億個まで

料金は従量課金データ転送(約8円/1GB)

ストレージ(約20円/1GB-月)

マシン使用量(約12円/時)

注:このイメージはあくまでコンセプト図です注:料金は82円換算であり2011年1月時点の概算です

Page 62: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

プロセス

プロセス

Amazon SQS (Simple Queuing Service)

リージョン

SQS

世界中に拠点あり&世界中に拠点あり&API完備

プロセス

プロセス

キューキュー

キュー

メッセージメッセージ

メッセージメッセージ

メッセージメッセージ

非同期メッセージングを非同期メッセージングを使うことで、プログラム/プロセス間の依存性を

低め、処理の多重化、線形処理が可能

注:このイメージはあくまでコンセプト図です注:料金は82円換算であり2011年1月時点の概算です

Page 63: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

プロセス

プロセス

Amazon SQS (Simple Queuing Service)

リージョン

SQS

世界中に拠点あり&世界中に拠点あり&API完備

プロセス

プロセス

キューキュー

キュー

メッセージメッセージ

メッセージメッセージ

メッセージメッセージ

料金は従量課金料金は従量課金リクエスト(約1円/万)

データ転送(約8円/GB)

キューのアクセス権の細かキューのアクセス権の細かな制御が可能

メッセージ長は約65K Bまメッセージ長は約65K Bま

で。分散キューのため順序は変動する

注:このイメージはあくまでコンセプト図です注:料金は82円換算であり2011年1月時点の概算です

Page 64: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

購読者

Amazon SNS (Simple Notification Service)

リージョン

SNS

世界中に拠点あり&世界中に拠点あり&API完備

購読者

投稿者

キューキュー

トピック

メッセージメッセージ

購読

投稿

配信

トピックを 購読トピックを作成、そこに購読者を登録しておく。投稿者がメッセージを投稿すると、購

読者に配信される。

注:このイメージはあくまでコンセプト図です注:料金は82円換算であり2011年1月時点の概算です

Page 65: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

購読者

Amazon SNS (Simple Notification Service)

リージョン

SNS

世界中に拠点あり&世界中に拠点あり&API完備

購読者

投稿者

キューキュー

トピック

メッセージメッセージ

購読

投稿

配信

トピックのアクセス権の細かな制御が可能

料金は従量課金HTTP 約5円/10万件

Email 約160円/10万通

プロトコルはプロトコルはHTTP/HTTPS、

Email/Email-JSON

注:このイメージはあくまでコンセプト図です注:料金は82円換算であり2011年1月時点の概算です

Page 66: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

AWS SDK for Android

ライブラリは、全部入り、デバッグ用、最少構成、個別SDKなど用意

Page 67: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

AWS SDK for Androidのサンプルを使おう!

1. インストール

JDK

Eclipse IDE for Java Developers

EclipseのAndroid用プラグイン

Android SDKのダウンロード&インストールhttp://developer.android.com/sdk/index.html

2. Android Virtual Deviceの作成

3. サンプルのインストールGetting Started Guidehttp://aws.amazon.com/articles/4225549089557252

Page 68: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

デモンストレーション

Page 69: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

サンプルソフトの画面

サンプルソフトでは、上記サービスについて基本的な動作が確認できる

Page 70: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

サンプルアプリを発展させると。。

S3

写真写真

Androidアプリ画像をS3にアップ画像をS3にアップロードして保存

Page 71: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

サンプルアプリを発展させると。。

S3

写真写真

アイテム名 photo-S3 data

SimpleDB

Androidアプリ

Viewer

アプリViewer

アプリ

SimpleDBに、画SimpleDBに、画像名とS3のURLリ

ンク等を保存しておけばサーバを使うことなくViewer

アプリも可能

Page 72: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

サンプルアプリを発展させると。。

S3

写真写真

アイテム名 photo-S3 data

SimpleDB

Androidアプリ

Viewer

アプリViewer

アプリ

SNS

メッセージメッセージ

トピック購読者へお報せ購読者へお報せ

購読者を設定しSNS

で配信すれば、新規写真をUPしたときに通知する、などが

Page 73: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

サンプルアプリを発展させると。。

S3

写真写真

アイテム名 photo-S3 data

SimpleDB

Androidアプリ

SQS

メッセージメッセージ

EC2

(Web

サーバ)Viewer

アプリViewer

アプリ

写真サイトの公開写真サイトの公開

SNS

メッセージメッセージ

キュー

トピック購読者へお報せ購読者へお報せ

にかますことSQSを間にかますこと

で、サーバーと組み合わせるのも容易。ここで

は、SQSにメッセージを飛ばし、Webサーバー側

は適宜、新写真をあわせて写真サイトを公開する

例。

Page 74: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

SmugMug Mobile for Android

Page 75: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

CloudStock Amazon S3 manager

Screenshots

Page 76: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Agenda

AndroidとAmazon

Androidとクラウド

AndroidとAWS SDK for Android

まとめ

Page 77: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Android のブラウザ or クライアント+ サーバー

Android のブラウザ or クライアント+ サーバー

運用のコスト、スキル、運用のコスト、スキル、手間、時間クラウド

AndroidとAWS SDK for Android

サーバーすら必要ない?

Android のブラウザ or クライアント+ クラウドのWebサービス

Android のブラウザ or クライアント+ クラウドのWebサービス

運用のコスト、スキル、運用のコスト、スキル、手間、時間クラウド

AWS SDK

for Android

AWS SDK

for Android

Page 78: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

Amazon 100

Google 30

Salesforces 10??

自己紹介

•5 GB/月の仮想ストレージ(Amazon S3)

•10 万回のAmazon SQSリクエスト•10 万回のAmazon SNSリクエスト•1 GBのストレージ分のAmazon SimpleDB

•750時間分の仮想サーバ•10 GB/月の仮想外部ディスク(Elastic Block Storage)

•750時間のロードバランサ(Elastic Load Balancer)

•15 GBのインターネットデータ送信•15 GBのインターネットデータ受信

2010年11月から、無料使用枠!!毎月、下記の分、無料で使えます

注:詳細は、AWSブログを確認してください

Page 79: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

AWSは最も汎用性の高いクラウドの一つ

HTML5

×

開発言語フロントUI

×

ミドルウェア

クラウド環境

Page 80: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

AWSの特徴:あまり知られていない部分

• SLA'EC2の場合=稼働時間:99.95%(提示

• データセンターの「地域」「ゾーン」を指定可能

• クラウドを外部から「プログラム」できるAPIを完備

• EC2/S3だけでなく、RDB、分散処理、キューイング、名前解決、など様々なサービス

• セキュリティ面でも高い評判

– SAS-70 Type2、ISO27001認証、PCI DSSプロバイダ認証

• VPC=Virtual Private Cloud で社内アプリケーションでのクラウド適用に対応

• 請求書払いに切り替え可能

エンタープライズでの利用にも対応

Page 81: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

AWS日本市場への注力

• アジアパシフィック地域へのデータセンター増強

– APACに2か所'1つはシンガポールで開設済(

• AWSビジネスをドライブするための日本法人の設立

– Amazon Data Services Japan株式会社

• 公認デベロッパーコミュニティ設立

– JAWS-UG

• 日本でのソリューションプロバイダーの拡充

– 2010年10月1日現在:11社

Page 82: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

公式デベロッパーコミュニティ

公式サイト: http://jaws-ug.jp/

ツイッターハッシュタグ #jawsug

アカウントの作り方ガイドなど情報満載!

Page 83: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

わからない事があれば・・・

日本語でフォーラムに投稿!⇒コアメンバーを中心に日本語で回答

Page 84: AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!

最後のメッセージ

日の出ずる国から、世界を狙ったアプリを!

アマゾンクラウドを使いこなし

初期投資不要で

ビジネス速度を早め

世界拠点をシームレスに