メインコンテンツまでスキップ

責任範囲と役割分担

GenerativeXのインフラ構築では、インフラチームアプリ開発チームで明確に責任を分けています。このページでは、それぞれのチームが何を担当するのか、何を担当しないのかを明確に説明します。

重要なポイント

インフラチームは環境(サーバー、データベース、ネットワークなど)をセットアップしますが、アプリケーションのバグやコードの問題は対応しません。

アプリケーションが動かない、エラーが出る、機能が正しく動作しないなどの問題は、アプリ開発チームが対応します。

責任範囲の概要

インフラチームが担当すること

環境のセットアップと維持

  1. Azureリソースの作成・管理

    • サーバー(Container Apps)の作成
    • データベース(MySQL)の作成
    • ネットワークの設定
    • ストレージの設定
    • セキュリティ設定
  2. CI/CDパイプラインの初期セットアップ

    • GitHub Actionsのワークフロー設定
    • デプロイの仕組みの構築
  3. 環境変数の自動設定

    • データベース接続情報の自動設定
    • インフラ関連の設定値の自動設定
  4. 環境の引き渡し

    • アプリ開発チームに必要な情報の提供
    • 使い方の説明

インフラチームが担当しないこと

アプリケーションの開発・運用・トラブルシューティング

  • ❌ アプリケーションコードの開発
  • ❌ アプリケーションのバグ修正
  • ❌ アプリケーションの機能追加・変更
  • ❌ アプリケーションのエラー対応
  • ❌ アプリケーションのパフォーマンス改善(コードレベル)
  • ❌ アプリケーションのログ確認・デバッグ

例:以下のような問題はアプリ開発チームが対応します

  • 「ログインできない」→ アプリケーションの認証ロジックの問題
  • 「データが正しく表示されない」→ アプリケーションのデータ取得・表示ロジックの問題
  • 「ボタンを押しても反応しない」→ アプリケーションのフロントエンドの問題
  • 「APIがエラーを返す」→ アプリケーションのAPI実装の問題
  • 「処理が遅い」→ アプリケーションのコードやクエリの問題

アプリ開発チームが担当すること

アプリケーションの開発・運用・トラブルシューティング

  1. アプリケーションコードの開発

    • フロントエンドの実装
    • バックエンドの実装
    • 機能の追加・変更
  2. 環境変数の設定

    • アプリケーション固有の設定値(APIキー、シークレットなど)
    • 外部サービスとの連携設定
  3. デプロイ

    • GitHub Actionsを使ったデプロイの実行
    • Dockerイメージのビルドとプッシュ
  4. アプリケーションのトラブルシューティング

    • アプリケーションのバグ修正
    • エラーの調査と対応
    • パフォーマンスの改善

アプリ開発チームが担当しないこと

インフラの設定・変更

  • ❌ Azureリソースの作成・削除
  • ❌ サーバーのCPU/メモリの変更
  • ❌ データベースの設定変更
  • ❌ ネットワーク設定の変更
  • ❌ Terraformの実行

例:以下のような問題はインフラチームに相談してください

  • 「サーバーが起動しない」→ インフラの設定の問題
  • 「データベースに接続できない」→ ネットワーク設定の問題
  • 「デプロイが失敗する」→ CI/CDの設定の問題
  • 「サーバーのリソースが足りない」→ CPU/メモリの設定の問題

トラブルシューティング時の判断基準

インフラチームに相談する場合

以下のような症状が出た場合は、インフラチームに相談してください:

  • 環境そのものが動いていない

    • サーバーが起動していない
    • データベースに接続できない
    • ネットワークが通じない
    • デプロイが全くできない
  • インフラの設定変更が必要

    • CPU/メモリを増やしたい
    • データベースのサイズを変更したい
    • 新しいリソース(Redis、Storageなど)を追加したい
    • カスタムドメインを設定したい
  • CI/CDの設定に問題がある

    • GitHub Actionsが実行されない
    • デプロイワークフローが失敗する
    • 環境変数が設定されない

アプリ開発チームが対応する場合

以下のような症状が出た場合は、アプリ開発チームが対応します:

  • アプリケーションが動いているが、動作がおかしい

    • ログインできない
    • データが正しく表示されない
    • ボタンを押しても反応しない
    • APIがエラーを返す
    • 処理が遅い
  • アプリケーションのコードに問題がある

    • バグがある
    • 機能が正しく動作しない
    • エラーメッセージが表示される
  • アプリケーションのログを確認する必要がある

    • エラーの原因を調査する
    • デバッグが必要

ワークフロー

1. 初期環境構築(インフラチーム)

  1. アプリ開発チームから環境の依頼を受ける
  2. Azureリソース(サーバー、データベースなど)を作成
  3. CI/CDパイプラインをセットアップ
  4. アプリ開発チームに引き渡し
    • 必要な情報(接続情報など)を提供
    • 使い方を説明

この時点で、環境は使える状態になっていますが、アプリケーションはまだデプロイされていません。

2. アプリケーション開発とデプロイ(アプリ開発チーム)

  1. インフラチームから引き渡された情報を確認
  2. アプリケーションコードを開発
  3. 環境変数を設定(必要に応じて)
  4. GitHub Actionsでデプロイを実行
  5. アプリケーションが正しく動作することを確認

アプリケーションの開発・デプロイ・動作確認は、すべてアプリ開発チームが担当します。

3. 運用中の対応

インフラチームが対応する場合

  • サーバーがダウンした
  • データベースに接続できない
  • ネットワークの問題
  • インフラ設定の変更が必要

アプリ開発チームが対応する場合

  • アプリケーションのバグ
  • 機能が正しく動作しない
  • エラーが発生する
  • パフォーマンスの問題(コードレベル)

よくある質問

Q1: アプリケーションが動かないのですが、インフラチームに相談すべきですか?

A: まず、以下の点を確認してください:

  • サーバーは起動していますか? → Azure Portalで確認できる
  • データベースに接続できますか? → 接続エラーが出ているか確認
  • デプロイは成功していますか? → GitHub Actionsのログを確認

サーバーが起動していて、デプロイも成功しているのにアプリケーションが動かない場合は、アプリケーションのコードに問題がある可能性が高いです。アプリ開発チームが対応します。

Q2: エラーメッセージが出ているのですが、誰に相談すればいいですか?

A: エラーメッセージの内容によって判断してください:

  • 「サーバーに接続できません」「データベースに接続できません」 → インフラチームに相談
  • 「認証に失敗しました」「データが見つかりません」「処理に失敗しました」 → アプリ開発チームが対応

Q3: パフォーマンスが悪いのですが、誰に相談すればいいですか?

A: 原因によって判断してください:

  • サーバーのリソース(CPU/メモリ)が足りない → インフラチームに相談(リソースを増やす)
  • アプリケーションのコードやデータベースクエリが遅い → アプリ開発チームが対応(コードの最適化)

Q4: インフラチームはアプリケーションのログを見てくれますか?

A: 基本的には見ません。 インフラチームは環境(サーバー、データベース、ネットワーク)が正しく動作しているかを確認します。アプリケーションのログは、アプリ開発チームが確認して、バグやエラーの原因を調査します。

ただし、サーバーが起動していない、デプロイが失敗するなどのインフラレベルの問題がある場合は、インフラチームがログを確認することがあります。

Q5: 環境変数が設定されていないのですが、誰に相談すればいいですか?

A: 環境変数の種類によって判断してください:

  • データベース接続情報、インフラ関連の設定 → インフラチームが自動設定するため、設定されていない場合はインフラチームに相談
  • アプリケーション固有の設定(APIキー、シークレットなど) → アプリ開発チームが設定するため、アプリ開発チームが対応

まとめ

インフラチームの責任

環境のセットアップと維持

  • Azureリソースの作成・管理
  • CI/CDパイプラインの初期セットアップ
  • 環境変数の自動設定

アプリケーションの開発・運用・トラブルシューティング

  • アプリケーションコードの開発
  • アプリケーションのバグ修正
  • アプリケーションのエラー対応

アプリ開発チームの責任

アプリケーションの開発・運用・トラブルシューティング

  • アプリケーションコードの開発
  • 環境変数の設定
  • デプロイの実行
  • アプリケーションのバグ修正・エラー対応

インフラの設定・変更

  • Azureリソースの作成・削除
  • サーバーの設定変更
  • Terraformの実行

判断基準

インフラチームに相談: 環境そのものが動いていない、インフラの設定変更が必要

アプリ開発チームが対応: アプリケーションが動いているが動作がおかしい、アプリケーションのコードに問題がある


関連ドキュメント