■概要
- サーバーレスアーキテクチャの現場、生の声
■登壇者
- モデレータ(M):西谷 圭介さん(アマゾン ウェブ サービス ジャパン株式会社 技術本部 レディネスソリューション部 ソリューションアーキテクト)... Lambdaの人
- パネリスト(F):鈴木 健太さん(株式会社 fluct fluct開発本部 エンジニア)... 広告配信関連の業務・データ解析基盤の担当の人
- パネリスト(R):木田 茂穂さん(株式会社リクルートジョブズ デジタルマーケティング室 マーケティング部 データマネジメントグループ グループマネジャー)...データサイエンティスト
■■fluctさんのシステム
- 配信の元データを作成する
- ドキュメントをクロール、本文抽出
- Kinnesis Stream ...
■■リクルートさんのシステム
- タウンワークAP
- ユーザ回遊情報からリアルタイム計算
- Lambda, Kinnesis, 特徴量計算, DynamoDB, ポーリングで永続化
■サーバレス採用のきっかけ/理由
- (F)サーバレスありきではなかった。Java8の環境が欲しかった。rpmレベルの話ではなく、モニタリング。アラート etc...
- (M)なぜJava8
- (F)Luceneを使いたかった
- (M)主言語は?
- (F)earlang, ruby, Goいろいろ
- (R)最初からLamadaではない。インフラ技術者がいなかった。トライ&エラーのためスピード重視。
■インフラ・アプリの棲み分け
- (M)インフラ・アプリ分かれている?
- (F)配信などの基幹は分かれている
- (R)タウンワークは分かれているが、分析はアプリオンリー
- (M)インフラエンジニアの調達の問題?
- (R)NO,変更頻度からインフラチームとのやりとりはやってられない
- (F)同じ感じ
- (M)どういった切り分け?
- (F)(R)デプロイは開発。導入までがインフラ
■Lambdaによる開発の実際、始め方
- (M)Lambdaの実際のところの開発スピードは?
- (F)限定的な使用なので早かった
- (M)運用開始してからコストは?
- (F)並列化による試行錯誤の時間短縮に価値があった
- (R)同じ感じ
(F)結局、サーバ代よりもエンジニア費用の方が高い
(M)学習コストは?トータルで見て
(F)それほどでもなかった
(R)使いながら覚えられる
(F)Javaのデプロイの方式に時間がかかった
(M)どうするのが導入への近道?
(F)お伺いを立てる時間で試した方が早い
(R)始めるのに時間を試すような組織はダメ
(M)事前検証的なことは?
(F)ほとんどやっていない。node.jsでLambdaの動作モデルを確認した程度
(R)同じ感じ。実験に近い感じ
(F)「止まる」挙動など知っておかないとまずい
(M)どう始めた?
(F)AWSのドキュメントなどに沿って学習した
(R)メンバーがドキュメントで学習した
(M)チームではフォローをどのように?
(F)リーダーがサポート
(R)現場ベース
(M)チーム規模は?
(F)3人
(R)6人
(M)(R)の言語は?
(R)Python。最新の分析ライブラリが使えるから
■Lambdaのデプロイ
- (M)デプロイの実際はどのように?
- (F)S3に置いたら反映される。GitHub への書くブランチへマージのトリガーで、Travis CIで。デプロイは手動
(R)苦労した。一撃スクリプトを作って使っている
(M)自動化の上で苦労した点?
(F)AWSの場合はAPIの使い方さえ分かればOK。Lambda固有で苦労することはない
(R)同じ感じ
(M)Functionの数は?
(F)1コ
(R)昨日分割していてたくさん
■Lambdaのテスト
- (M)テストはどのように?
- (F)普通に単体テスト + CI
(R)単体テストに加えて、回帰環境で確認もやっている
(M)多くのコンポーネントを組み合わせているが苦労した点は?
(R)タイミング等、難しいところはあり模索中
(M)結合テストは?
(F)一連の流れを行っている
(R)同じ感じ。実際の環境で確認することが多い
(M)単体テストでドライバ、データの準備は大変?
(F)普通の開発と同じ
(R)同じ感じ。実際の環境で確認を行うことが多い
(F)EC2はクラウドフォーメーションを使っているが、Lambdaはどう?
(M)結合テスト環境を作って自動化している事例もある
■Lambdaのデバッグ
- (M)デバッグは?
- (F)CloudWatchのログを愚直に見る
- (M)工夫していることは?
- (F)Kinesisのログをtailするツールを作った、CloudWatch をコンソールではなく AWS Logs で取得、フィルタして見ている
- (R)愚直に見ていて苦労している。Fさんを参考にしたい
※当日の生メモです(ほぼ校正していませんm(_ _)m
※登壇者の方の情報など一部 http://www.awssummit.tokyo/devcon/index.html から引用させて頂きました