サーバーレスアプリケーションの2-Tier Architectureと3-Tier Architecture

サーバレスアプリケーションを作っていて、2-Tier Architectureと3-Tier Architectureのどちらを選ぶべきなのかを悩んでいる。

少し前に作ったアプリは2-Tier Architectureで作っていて、会社の先輩に話すと「API Gatewayを入れた方が良い」との意見をいただいていた。なぜAPI Gatewayを入れた方が良いのか、きちんと考えておいた方がいいなと思った。

[続きを読む]
Dev 

バッチ処理設計の考慮点

今までお仕事でバッチ処理設計に携わることが多かったので、バッチ処理設計の考慮点をまとめておく。主に非機能要件に関するところである。

考慮点一覧

  • バッチ稼動
    • 前提条件と起動トリガー
    • 実行タイミング(スケジュールと処理時間)
    • 同時に動くバッチとの兼ね合い
    • 環境依存の値は変数に
  • データ入出力
    • ログ出力
    • データの入出力形式
    • 処理データ量(ファイル分割 or 分割コミット)
  • 例外処理
    • アラート通知方針
    • バッチがエラーとなったときの影響
    • リカバリ対応方針
    • 後続バッチへの影響
[続きを読む]
Dev