Upgrade to Pro — share decks privately, control downloads, hide ads and more …

サーバレス構成によるFitbitを使った 心拍数通知サービス

Naomichi Yamakita
November 01, 2016
16

サーバレス構成によるFitbitを使った 心拍数通知サービス

Naomichi Yamakita

November 01, 2016
Tweet

More Decks by Naomichi Yamakita

Transcript

  1. Storage Storage type Performance Aggregate Scale out Note Amazon RDS

    △ ◎ ◯ お手軽 Amazon DynamoDB ◎ ▲ ◯ 集計が面倒 MongoDB ◯ ◯ △ 構築が面倒 今回はお試し実装なのでストレージはRDS (MySQL) を採用
  2. Node module (1/2) • aws-serverless-express ◦ 2016年10月、AWS Blogで発表 ◦ API

    Gateway、Lambda (Express)、CloudFormationを利用した サーバレスアプリケーション構築パッケージ ◦ 2016年11月にはAWS SAM (AWS Serverless Application Model) を発表
  3. Using environment variables on lambda • 2016年11月 Lambdaが正式に環境変数をサポート ◦ http://qiita.com/naomichi-y/items/5c7c577f968d3c00a694

    • 以前までは環境変数の利用が面倒だった ◦ API GatewayからLambdaにステージ環境変数を渡す ◦ LambdaのDescriptionに環境変数を定義してアプリケーショ ン側でパース ◦ 環境変数ファイルをCIで動的生成
  4. Performance of Lambda 実行環境 (ap-northeast-1) 静的ページの表示 補足 EC2 16ms VPC

    Lambda (コンテナ生成直後) 326ms No VPC Lambda 63ms No VPC
  5. Fitbit API • 常に同期するよう設定していても安定していない • APIが微妙 ◦ 1時間辺り150回のリクエスト制限 ◦ 心拍数を長期間分(1分単位の心拍数を1日分)取得する

    際、1レスポンスで全件返される ◦ 心拍数は日をまたいでデータを要求できるが、結果セット に時刻しか含まれないため日付計算が必要