【Ltech#10】Fargate/CloudWatch Eventsでバッチをサクサク作った話

855 Views

January 29, 20

スライド概要

2020/1/28 Ltech#10 不動産・住宅情報サイト「LIFULL HOME'S」の中の人が語るAWS活用前線
テクノロジー本部 技術開発部 基盤開発ユニット アーキテクトグループ
冨田 昌邦

profile-image

LIFULL HOME'Sを運営する株式会社LIFULLのアカウントです。 LIFULLが主催するエンジニア向けイベント「Ltech」等で公開されたスライド等をこちらで共有しております。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Fargate/CloudWatch Eventsで バッチをサクサク作った話 Ltech #10 2020/01/28 株式会社LIFULL 冨田昌邦

2.

自己紹介 とみた まさくに 冨田 昌邦 @tomiyan ● 2009年 株式会社ネクスト(現LIFULL)に中途入社 ● 今年で11年目 ○ LIFULL HOME’S 不動産アーカイブ刷新 ○ 課金システム開発 ○ LIFULL HOME’S for Android/Windows Phone立ち上げ ○ LIFULL HOME’S スマートフォンサイト刷新 ○ ネイティブアプリ向けAPI刷新・サーバレス化 2 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。

3.

2018年冬の パン バッチまつりが到来 • 日次イベント✕1 – 毎日更新したいキャッシュ – 既存の社内APIからデータを取得して、Redisにキャッシュを作成する • 不定期イベント✕3 – 数年に1回〜数回しか更新されないデータ – Elastic SearchやOracleへ登録するバッチ 3 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。

4.

ざっくりしたシステム構成 ネイティブアプリ AWS 実はこのリポジトリにバッチ が同居している・・・ PCサイト (旧APIを吸収) SPサイト BFF 実はこのリポジトリにバッチ が同居している・・・ ネイティブアプリ用 BFF 新API ストレージ群 4 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。

5.

魂の叫び これ以上このリポジトリには バッチを増やしたくない 5 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。

6.

どこで実行するか・・・ AWS Lambdaだとタイムアウトしてしまう AWS Batch使うほどでもなさそう 6 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。

7.

日次イベント ● CloudWatch EventsのScheduleトリガーで日次でキック ● オーソドックスな構成 7 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。

8.

イベント駆動なバッチ ● データのファイルが複数あり、数GBあるので先にデータ用S3バケットにアップロード ● CloudWatch Eventsで設定ファイル用S3バケットへPUTしたイベントをトリガーにECSタスク (Fargate)を実行 ● ミッションクリティカルなバッチではないので多重起動防止の処理は行っていない 8 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。

9.

まとめ • APIとバッチのリポジトリを疎結合にして、お互いの言語やライ ブラリのバージョンアップしやすさを確保 • バッチ専用のサーバで実行していたが、リソースを気にしなくて 良くなった • LIFULLではk8sを利用し始めたので、k8sへの移行は必要 9 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。

10.

おわり ご清聴ありがとうございました 10 © LIFULL Co.,Ltd. 本書の無断転載、複製を固く禁じます。