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

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

Naomichi Yamakita
November 01, 2016
12

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

Naomichi Yamakita

November 01, 2016
Tweet

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