弊プロダクトでもバッチサーバーをFargate化しましたというお話。
*You can also check English subtitle
https://qiita.com/e99h2121/items/513302e1cf1c9ad35367
何がすごいの
24/365 バッチサーバーを起動しておかなくても良くなります。
ジョブ同士の関係が限定的になるのでジョブ詰まりがなくなるかも。
とりあえずクラウドフレンドリーな弊プロダクトの大きな一歩(のはず)。
試算では年額1社 ****円減
ここで唐突に
弊プロダクトバッチジョブ基盤の歴史
Ver.5x
- 世界はクライアントとデータベースサーバーしかなかった。夜間バッチはC++のサービスから蹴られていた。
Ver.6x
- 時は2000年代前半、アプリケーションサーバーを介し3層構造化。キュー管理サービスはそのAP Serverに同居。キューが詰まりだすと画面系もろとも(略
Ver.7x
- 2010年代、キュー管理サービスはアプリケーションサーバーから機能分離。単独でメンテナンスできるようになったのはめちゃくちゃでかい。
Ver.8x
- そしてバッチサーバーごとコンテナに載る。
他所参考資料
Fargateでバッチサーバを作る
https://qiita.com/fnaoto/items/d6523786daa128ddfe60
FargateはAWSのサービスで、Dockerコンテナを実行する基盤の一つです。
FargateではTaskやServiceを作るだけでコンテナを動かすことができます。バッチ実行時のみ課金されるので利用料を節約できます。
例えばECSだと、バッチ利用時にEC2インスタンスを起動し、利用後に停止するという手順が必要でした。
しかし、Fargateではインスタンスを管理する必要はなく、Taskが動いている時間だけ課金されます。
他
Fargateでサーバレスバッチ基盤を構築した話
https://engineer.crowdworks.jp/entry/2020/07/20/180014
最も難しかったポイント
Fargate化までの技術的メモ (山田記事)
平たく言うと
ビルド何度かとめましたゴメンナサイ
です。
使い方(私信)
バッチサーバーコードにFargate の文字を含ませて振り分け設定すれば使えます。今ならyamada_n9/yamada_n9 でログインすれば全ジョブFargate起動になってるので触ってみてね
次回予告
Fargateでインターフェース系ジョブを動かしてみた
以上社内向けメモでした。