狠狠撸
Submit Search
AWS Lambda のご紹介 2015 JAWS沖縄
?
29 likes
?
5,781 views
Toshiaki Enami
Follow
AWS Lambda のご紹介 2015 JAWS沖縄
Read less
Read more
1 of 45
Download now
More Related Content
AWS Lambda のご紹介 2015 JAWS沖縄
1.
知らなきゃ損する!? AWS ?Lambdaの使い?方 アマゾン ?データ
?サービス ?ジャパン ?株式会社 パートナーソリューションアーキテクト 榎並利利晃
2.
?自?己紹介 ?? 名前 –? 榎並
?利利晃(えなみ ?としあき) –? toshiake@amazon.co.jp ?? 役割 –? パートナーソリューションアーキテクト –? 主にエマージングパートナー様を担当 ?? 好きなAWSのサービス –? Amazon ?Kinesis –? AWS ?Lambda @ToshiakiEnami
3.
尝补尘产诲补祭り勃発!
6.
AWS ?Lambdaとは ?? クラウド上で、イベントをトリガーに独?自のコード を稼働させるComputeサービス –?
EC2インスタンスやOS等インフラの管理理作業が不不要 –? 毎?日数件から毎秒数千件のリクエストまで?自動的にスケール –? 従量量課?金金、実際にコードが稼働した時間に対してのお?支払 –? 新たに追加された情報(イベント)に対して即座に応答するアプリ ケーションを、特別な仕組みなく簡単に実装できる
7.
特徴
8.
インフラの管理理が不不要 ?? ビジネスロジックにフォーカス できる ?? コードをアップロードするだけ で、あとはAWS
?Lambdaが以 下をハンドリング –? キャパシティ –? スケール –? デプロイ –? 耐障害性 –? モニタリング –? ロギング –? セキュリティパッチの適?用
9.
オートスケール ?? イベントのレートに合うように Lambdaが?自動でスケール ?? プロビジョニング中や完了了を気にす る必要なし ??
コードが稼働した分だけのお?支払い
10.
Bring ?your ?own
?code ?? Node.jsで書かれたコードを実?行行 ?? コード内では以下も可能 –? スレッド/プロセスの?生成 –? バッチスクリプトや何らかの実?行行ファイルの 実?行行 –? /tmpのread/write ?? 各種ライブラリも利利?用可能 –? ネイティブライブラリも可能 –? 利利?用するライブラリを?一緒にアップロード
11.
多彩なイベント呼び出し ?? Pull型 –? Amazon
?Kinesis –? Amazon ?DynamoDB ?Streams ?? Push型 –? Amazon ?S3 ?Event ?Noti?cation –? Amazon ?SNS –? Invoke ?API(同期、?非同期)
12.
細やかな料料?金金体系 ?? 100ミリ秒単位でのコンピュー ト時間に対する価格設定 ?? リクエストに対する低額の課?金金 ??
?十分な无料料枠
13.
ユースケース
14.
イメージリサイズ、サムネイル?生成 ? ?? S3に画像がアップロードされたときにサムネイ ルの?生成やリサイズを実?行行 AWS
LambdaAmazon S3 Bucket イベント 元画像 サムネイル画像 1 2 3
15.
値チェックや別テーブルへのコピー ?? DynamoDBへの書き込みに応じて値チェックを しつつ別テーブルの更更新やプッシュ通知を実?行行 AWS Lambda Amazon
DynamoDB Table and Stream プッシュ通知 別テーブルを更新
16.
監査と通知 ?? S3に保管されるCloudTrailのログを分析し、怪 しい?行行動や異異常を検知したら通知する AWS APIコール AWS
CloudTrail Logs AWS Lambda Bucketイベント プッシュ通知
17.
?口コミアプリ ?? 投稿の書き込み/表?示はDynamoDBと直接 ?? レートの計算はモバイルアプリから直接Lambdaを実?行行し?非 同期で実?行行 1.
?認証?認可 ? ?FBアプリと連携 Cognito DynamoDBApp ?with ? AWS ?Mobile ? SDK 2. ??口コミの投稿 ? ?投稿内容とレーティング 4. ?過去の全データを元に平均値の計算と ? ? 結果のDynamoDBへの登録等 3. ?Lambda ?functionの起動 Lambda
18.
Followers 写真共有モバイルアプリ 4. ?メタデータをDynamoDBに登録 -‐?? ?タイトル、コメント等 1.
?認証?認可 ? ?FBアプリと連携 6. ?Push通知 -‐?? ?フレンドやフォロワーに通知 Cognito Mobile ?Analytics DynamoDB S3 SNS7. ?画像をポストしたことをAnalyticsに登録 3. ?画像のリサイズ 2. ?S3への画像アップロード 5. ?結果をSNSへ通知 App ?with ? AWS ?Mobile ? SDK
19.
IoT ?BaaS ? Event:
? ? Arrived ?Home ? Command: ? ? Lights ?On ?
20.
デモ
21.
イメージリサイズ、サムネイル?生成 ? AWS LambdaAmazon
S3 Bucket イベント 元画像 サムネイル画像 1 2 3
22.
LambdaでCGI EC2無しで動的なサイト構築も!
23.
AWS上のシステムのインシデント管理理をkintoneで AWS ?Lambdaアプリケーション サーバ CloudWatch ? Logs Amazon
?SNS トリガー検知によるワークフローの?自動起票!
24.
AWS ?Lambdaの使い?方
25.
画?面
26.
画?面
27.
画?面
28.
イベントソース ?? イベントの発?生元となるAWSリソース ?? 現時点以下のAWSサービスをサポート –?
Amazon ?S3 –? Amazon ?Kinesis –? Amazon ?DynamoDB ?Stream(Preview) –? Amazon ?Cognito –? Amazon ?SNS
29.
イベント例例(S3) { "Records": [ ? ? ? -- 省省略略
– ? ? ? "s3": { "s3SchemaVersion": "1.0", "configurationId": "testConfigRule", "bucket": { "name": "sourcebucket", "ownerIdentity": { "principalId": "A3NL1KOZZKExample" }, "arn": "arn:aws:s3:::mybucket" }, "object": { "key": "sourcebucket/HappyFace.jpg", "size": 1024, "eTag": "d41d8cd98f00b204e9800998ecf8427e" } } } ] }
30.
イベント例例(Kinesis) { "Records": [ { "awsRegion": "us-east-1", "sequenceNumber":
"196800000000000000000374", "partitionKey": "2efdb0ea22685b46993e42a67302a001", "eventSource": "aws:kinesis", "data": "SOME CUSTOM DATA 1" }, { "awsRegion": "us-east-1", "sequenceNumber": "196800000000000000000571", "partitionKey": "2efdb0ea22685b46993e42a67302a003", "eventSource": "aws:kinesis", "data": "{ "key": "value" }" } ] }
31.
ユーザアプリケーションからのInvoke ?? AWS ?SDKもしくはAWS
?Mobile ?SDKを利利?用 ?? Invoke時にInvocation ?Typeを指定する –? Event ?? ?非同期実?行行 ?? レスポンス内容はリクエストが正常に受け付けられたかどうかのみ –? RequestResponse ?? 同期実?行行 ?? 実?行行が完了了時にレスポンスが返ってくる。レスポンス内容は Lambdaファンクション内でセット可能
32.
モニタリング ?? ダッシュボード –? 全てのLambdaファンク ションのリスト –?
可視化されたメトリクス ?? CloudWatchを?用いた Metricsの監視 –? Invocations –? Errors –? Duration –? Throttle
33.
制限事項 ?? Lambdaファンクションのリソース リソース 制限 /tmpスペース
512MB ファイルディスクリプタ数 1024 プロセス数およびスレッド数(合計) 1024 同時リクエスト数(プレビュー期間中) 25リクエスト/秒 1リクエストあたりの実行時間(プレビュー期間中) 60秒 ?? インプット インプット 制限 zipファイル(圧縮) 30MB zipファイル(無圧縮) 250MB InvokeAsyncのリクエストボディ(JSON) 128KB
34.
料料?金金体系 ?? リクエスト ?(全リージョン) –?
?月間100万リクエストまでは無料料 –? 超過分は$0.20/100万リクエスト (1リクエストあたり$0.0000002) ?? 実?行行時間 ?(全リージョン) –? 100ms単位で課?金金 –? 100ms以下は繰り上げで計算 –? メモリー容量量により単価および無 料料時間が異異なる Memory (MB) Price per 100ms ($) Free tier seconds per month 128 0.000000208" 3,200,000 192 0.000000313" 2,133,333 256 0.000000417" 1,600,000 320 0.000000521" 1,280,000 384 0.000000625" 1,066,667 448 0.000000729" 914,286 512 0.000000834" 800,000 576 0.000000938" 711,111 640 0.000001042" 640,000 704 0.000001146" 581,818 768 0.00000125" 533,333 832 0.000001354" 492,308 896 0.000001459" 457,143 960 0.000001563" 426,667 1024 0.000001667" 400,000
35.
2Tier ?Architecture
36.
2-‐??Tier ?Architectureとは? ?? いわゆるサーバレスな、クライアントとバックエンドだけのアーキ テクチャ –?
AWS ?SDKとマネージドサービスを積極的に利利?用 –? モバイルアプリやブラウザから直接AWSサービスを呼ぶ ?? 特にモバイルにおすすめ 直接呼び出し
37.
2-‐??Tier ?Architectureのメリット ?? アプリの開発に多くのメリット: –?
バックエンド側の開発コストを最?小化 –? バックエンド側の運?用コストを最?小化 –? スケーラビリティの?心配なし –? バックエンドのEC2を減らせるため?金金額?面でもローコスト(当社?比*) ?? 必要に応じてEC2も導?入できる安?心感 –? 後からバックエンド側にロジックを?入れてシステムの最適化ことも可能 ?? よりビジネスに集中することが可能 * ?EC2で同規模のサーバを?立立てる場合に?比べ
38.
まとめ
39.
本?日のまとめ ?? AWS ?Lambdaは、インフラの管理理不不要で、?自分のコー ドを実?行行できるコンピュートサービス ??
シンプルかつ可?用性の?高いアーキテクチャを構築する ことができる ?? AWS ?Lambda含め、AWSマネージドサービスをうまく 活?用する2Tier-‐??Architectureでクラウドネイティブなシ ステムを構築
40.
ところで。。
41.
办颈苍迟辞苍别と础奥厂の素敌な関係
42.
kintoneとAWSは補完関係! ?? ?大量量なコンピュートやスト レージが必要ところはAWS ?? 業務に近いところはkintone
43.
kintoneとAWSは補完関係! モバイル センサー 親機 ダッシュ ボードア プリ ワーク フロー 例例えば、IoTのシステムを構築する場合
44.
kintoneからの 定期データ取得 Amazon ML batch
APIで予 測をクエリーする kintoneとAWSは補完関係! 予測データ セット 例例えば、Amazon ?Machine ?Learningを使ったデータ予測を?行行う場合
Download