アーキテクチャ
- リポジトリ構成
- モノレポ or マルチレポ
- Gitブランチ戦略
- マイクロサービスの切り方
- インタフェース仕様
- RESTful / GraphQL / gRPC
- レスポンス形状(JSON / XML etc.)
言語・フレームワーク・ミドルウェア
- フルスタックフレームワーク or 軽量フレームワーク
- DBMS
- キャッシュ(KVS等)
- 非同期/並行処理
- ストリーム処理
インフラ
- サーバ構築自動化
- コンテナ化するかどうか
- 物理サーバ(Baremetal) or IaaS or PaaS or SaaS or CaaS (Kubernetes)
- サービスメッシュ
- デプロイするサーバ
- 台数
- 地理的な場所(DC、AZ、Region)
- コンピューティングリソース(CPU/RAM/Disk/ネットワーク帯域)
共通ロジック
- クラス構造
- 3層アーキテクチャ / オニオンアーキテクチャ etc.
- DIの有無
- タイムアウト
- リトライ
- サーキットブレーカー
- レート制限
- ログ設計
- O/Rマッパー
- 内部通信
- HTTPS / HTTP2
- ヘルスチェック / Probe
- 設定ファイル中央管理
セキュリティ
- 認証・認可
- クレデンシャル管理
CI/CD
- リンター、フォーマッター
- 静的解析
- ユニットテストフレームワーク
- 自動脆弱性診断
監視
- ログ、ログローテーション
- インフラ監視
- APM
- アラート
テスト
- テスト環境(Local / STG)
- テスト環境構築自動化
- スモークテスト
- 負荷試験
- 環境
- 要件
- Webパフォーマンスチェック(Core Web Vitals / Lighthouse)
リリース
- リリース戦略
- ロールバック
- カナリアリリース / ブルーグリーン
- 新旧システム移行戦略
- データ不整合検知