[AWS Summit Tokyo 2017 Day3] EPSONにおけるサーバーレスアーキテクチャ導入事例
Day3です。コンピューターのバッテリーがやばいです。
ブロックチェーンやKinesisに関してのセッションを今日は拝聴していました。
本稿では、EPSON社のサーバーレスの導入事例のセッションの様子を記そうと思います。
サービス
プリンターからのレシートを解析、DB上にストアするアプリケーション
その情報をネイティブアプリから見れるサービス
課題
AWS上でサービスを展開する上で、オンプレの思考のまま設計
Web API => EC2インスタンスにwebアプリを置いてビジネスロジックを持ち込む => RDSにレシートデータ蓄積
- 密結合
- 毎回インフラ側にスケール依頼をしていて立ち行かなくなってきた
- 同期処理でのブロック処理
プリンシプル
- スケーラブルにする
- サービス間を疎結合にする
- マネージドサービスの活用
アーキテクチャ
AWSのマネージドサービスをフル活用することで活用する
(ほぼ)世界の各ロケーションでフルスケーラブル/高可用の環境が構築できた。
- 情報の格納
- プリンター => EC2 => Kinesis => lambdaでレシートをS3に格納
- s3のレシートのputからSQSを発火、AWS Beanstalk上のworkerで解析。
- 解析結果をさらにKinesis Streamに入れ込み、Auroraへ格納
- ユーザーアプリからサービスにアクセスする
- 実際にユーザーのクライアントアプリからレシートの検索結果を見る。APIGateWay/LambdaでAPIを書いている。
- このLambdaはS3やAuroraにアクセスしてユーザーに情報を返す。
-
システムのOverViewを作っておくと、自分が今何をしているのかとか、
- 本格実装して半年で軌道に乗った
「新しい作り方」に会社として向き合うには
- 啓発/習得/権限
- 背中を押す経験 -> ワークショップの開催
- ベンダーロックインの議論にははじめの実績で答えを出す
- 権限と責任範囲を明確にした
- 細かく作って細かく壊す
- ビジネスロジックを最適に分割/コスト資産
まとめ
- ビジネスは容赦なく変化し、アーキテクチャは破綻する
- 踏み出す勇気と受けいれる心
- 現実的なフルスタックエンジニアリング
- サーバーレスによって「担当範囲のスコープ」だけでなく「価値提供に集中できるチーム/メンバーが自己成長できるチーム」が出来上がった