Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
金森政雄
クラウドネイティブアーキテクチャ勉強会@フレクト
2016年12月にフレクトに参画
前職ではスマホ向けサービスの認証、課金周りを
担当(オンプレ)
フレクトでは社内でも
特に長いおつきあいのお客様の案件を担当
運用課題の解決が最近の主なミッション
(境界を越えるのです)
好きなAWSサービス:...
ECSとLambdaを活用した非同期のファイル解析
 なぜ、ECSやLambdaを使うことにしたのか
 EC2を使っていたチームがどのようにECSやLambdaに取り組んだか
顧客企業向け
業務システム
BtoC向けWebアプリ
フレクトの定番パターン
 BtoC向けにEC2でWebアプリ
 顧客が業務で利用するCRMとしてSalesforceと連携
クラウドネイティブ…?
 最初からクラウド100%で開発はし...
実現する機能
 ユーザがアップロードしたファイルのウイルス解析・画像処理
 処理が完了したものはSalesforceにアップロード
 処理自体は非同期でOK
課題
 Webアプリケーションと同じサーバで実施するとリソースを浪費する
 ...
このワークロードはコンテナじゃない?
コンテナのメリットが活きる
 ウイルス解析ソフトをサーバや開発PCにインストールしないで良い
 ローカルでも簡単に動作確認できる
このワークロードはコンテナじゃない?
コンテナのメリットが活きる
 ウイルス解析ソフトをサーバや開発PCにインストールしないで良い
 ローカルでも簡単に動作確認できる
AWSでコンテナ使うならECSでしょ?
ECSを使えば運用も簡単になる
...
このワークロードはコンテナじゃない?
コンテナのメリットが活きる
 ウイルス解析ソフトをサーバや開発PCにインストールしないで良い
 ローカルでも簡単に動作確認できる
AWSでコンテナ使うならECSでしょ?
ECSを使えば運用も簡単になる
...
put file
event
ecs:RunTask
Apex Rest
S3
EC2
lambda
ECS
put file
event
send message
ecs:RunTask
get message
Apex Rest
EC2
S3
lambda
ECS
SQS
SQSを利用してキューイングした
 dockerへの情報受け渡し
 失敗した場合のリカバリを自動化(Design for Failure)
ウイルス定義ファルの更新
 docker buildの際に最新の定義ファイルを取得するようにする
...
Q1.コンテナは普段から使っていた?
→No
Q1.コンテナは普段から使っていた?
→No
Q2.Lambdaの実装経験は?
→運用ツールで使ってはいたが経験者はチーム離任済み
Q1.コンテナは普段から使っていた?
→No
Q2.Lambdaの実装経験は?
→運用ツールで使ってはいたが経験者はチーム離任済み
Q3.そもそもうまくいく確証は?
→うーん、、、
https://aws.amazon.com/jp/blogs/compute/better-together-amazon-ecs-and-aws-lambda/
次はWebアプリをECS化したい
AWS Batchの採用
新しいアーキテクチャはモブプロで作って試す
Ecsとlambdaのバッチ処理
Upcoming SlideShare
Loading in …5
×

Ecsとlambdaのバッチ処理

1,400 views

Published on

2017/05/17 に実施したクラウドネイティブアーキテクチャ勉強会の資料です。
https://flect.connpass.com/event/56266/

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Ecsとlambdaのバッチ処理

  1. 1. 金森政雄 クラウドネイティブアーキテクチャ勉強会@フレクト
  2. 2. 2016年12月にフレクトに参画 前職ではスマホ向けサービスの認証、課金周りを 担当(オンプレ) フレクトでは社内でも 特に長いおつきあいのお客様の案件を担当 運用課題の解決が最近の主なミッション (境界を越えるのです) 好きなAWSサービス:APIGateway Developer.ioにLTが取り上げられました!! http://dev.classmethod.jp/cloud/aws/apigateway_mock_dev/
  3. 3. ECSとLambdaを活用した非同期のファイル解析  なぜ、ECSやLambdaを使うことにしたのか  EC2を使っていたチームがどのようにECSやLambdaに取り組んだか
  4. 4. 顧客企業向け 業務システム BtoC向けWebアプリ フレクトの定番パターン  BtoC向けにEC2でWebアプリ  顧客が業務で利用するCRMとしてSalesforceと連携 クラウドネイティブ…?  最初からクラウド100%で開発はしている  古き良きIaaSとしてのAWSの使い方  SaaS/PaaSの活用は不十分 web app server Internet
  5. 5. 実現する機能  ユーザがアップロードしたファイルのウイルス解析・画像処理  処理が完了したものはSalesforceにアップロード  処理自体は非同期でOK 課題  Webアプリケーションと同じサーバで実施するとリソースを浪費する  今後大幅なスケールが必要になる可能性がある  ウイルス解析のソフトを既存のAppサーバに入れたくない
  6. 6. このワークロードはコンテナじゃない? コンテナのメリットが活きる  ウイルス解析ソフトをサーバや開発PCにインストールしないで良い  ローカルでも簡単に動作確認できる
  7. 7. このワークロードはコンテナじゃない? コンテナのメリットが活きる  ウイルス解析ソフトをサーバや開発PCにインストールしないで良い  ローカルでも簡単に動作確認できる AWSでコンテナ使うならECSでしょ? ECSを使えば運用も簡単になる  フルマネージドなコンテナ管理  容易なスケールアウト/イン
  8. 8. このワークロードはコンテナじゃない? コンテナのメリットが活きる  ウイルス解析ソフトをサーバや開発PCにインストールしないで良い  ローカルでも簡単に動作確認できる AWSでコンテナ使うならECSでしょ? ECSを使えば運用も簡単になる  フルマネージドなコンテナ管理  容易なスケールアウト/イン 非同期ならイベント駆動にしたいな S3→Lambdaキックで動くと良さそう
  9. 9. put file event ecs:RunTask Apex Rest S3 EC2 lambda ECS
  10. 10. put file event send message ecs:RunTask get message Apex Rest EC2 S3 lambda ECS SQS
  11. 11. SQSを利用してキューイングした  dockerへの情報受け渡し  失敗した場合のリカバリを自動化(Design for Failure) ウイルス定義ファルの更新  docker buildの際に最新の定義ファイルを取得するようにする  定期的にbuildしてECRを更新  (ここはまだ設計段階なので、うまくいったら別で発表したい)
  12. 12. Q1.コンテナは普段から使っていた? →No
  13. 13. Q1.コンテナは普段から使っていた? →No Q2.Lambdaの実装経験は? →運用ツールで使ってはいたが経験者はチーム離任済み
  14. 14. Q1.コンテナは普段から使っていた? →No Q2.Lambdaの実装経験は? →運用ツールで使ってはいたが経験者はチーム離任済み Q3.そもそもうまくいく確証は? →うーん、、、
  15. 15. https://aws.amazon.com/jp/blogs/compute/better-together-amazon-ecs-and-aws-lambda/
  16. 16. 次はWebアプリをECS化したい AWS Batchの採用 新しいアーキテクチャはモブプロで作って試す

×