テックスタックガイドリファレンス

テックスタックガイドの作成と維持管理のためのリファレンス。

テックスタックガイドとは?

注意: テックスタックアプリを閲覧するには テックスタックインデックス を使用してください。

すべてのアプリケーションには、そのアプリの使用方法・管理方法・他のシステムとのインテグレーション方法を誰もが理解できるように、専用の テックスタックガイド ハンドブックページが必要です。テックスタックガイドの対象読者は、そのアプリを使用したり、拡張したり、連携したり、あるいは GitLab テックスタックエコシステム全体の中でどのように位置づけられているかを理解する必要があるすべての人です。各ガイドの作成・維持管理はチームの共同作業であり、ビジネスシステムオーナー、テクニカルオーナー、および実装・運用に関わるその他のメンバーとのコラボレーションが必要です。各テックスタックガイドは、他の機能ベースのハンドブックコンテンツとともに、ビジネスオーナーの機能セクション内に配置されます。

アプローチ

このページの目標は、アプリケーションの テックスタックガイド を文書化する方法を説明することです。アプリのテックスタックガイドは、そのテクノロジーの機能ビジネスオーナーのセクションに配置する必要があります。 すべてのアプリの SSOT は テックスタック YAML となり、YAML がページの主要部分を自動入力します。ただし、データモデル・インテグレーション・主要レポート/ダッシュボードなど、YAML ファイルに含まれていないセクションも必要に応じてドキュメントを完全なものにするために追加できます。

テックスタック YAML とテックスタックガイドの関係について考える方法:

  • テックスタック YAML は GitLab が所有・運用するすべてのアプリのレジストリです(何が?)
  • テックスタックガイドは各テックスタックアプリのビジネス・技術ワークフローをカバーします(なぜ?どのように?)
  • YAML の handbook_link キー/プロパティが対応するテックスタックガイドへリンクします

また、内部ハンドブックに置かれるセキュリティアプリケーション用の Security Stack YAML という 2 番目の YAML ファイルを作成する予定です。これらのアプリケーションにも同じテンプレートアプローチを使用します。

テックスタックアプリケーション名

テックスタックの唯一の情報源は テックスタック YAML であり、このアプリの詳細情報が含まれています。

{{% tech-stack "Application Name" %}}

実装

アプリがどのように実装されたかに関する情報。GitLab のエピックや Issue へのリンクを含め、出発点とこのソリューションに至った経緯を理解できるようにしてください。

システム図

システムがどのようにデプロイされ、他のアプリとどのように接続されているかを示す図を含めてください。Mermaid 図が理想的ですが、どんな図でも無いよりはましです。

データモデル

主要なデータオブジェクトとその相互関係を示す ER 図を含めてください。(理想的には)Mermaid ER 図、LucidChart、またはその他の図作成ツールで作成できます。

インテグレーション

このアプリと他のテックスタックアプリやシステムとのインテグレーションを一覧します。開発プロジェクト、コード、図、Issue へのリンクなど、利用可能な追加資料へのリンクも含めてください。

主要レポート / ダッシュボード

アプリケーションの運用に使用される重要なレポートとダッシュボードを、利用可能な場合はリンクとともに一覧します。

テックスタックガイド例 #1: Thought Industries LMS テックスタックガイド

Thought Industries LMS テックスタックガイド

重要な注意事項:

  1. このテックスタックガイドは、Professional Services がアプリのビジネスオーナーであるため、GitLab Professional Education Services ハンドブック内に配置されています
  2. Thought Industries Learning Management System の テックスタック YAMLhandbook_link キーがテックスタックガイドを参照しています

テックスタックガイド例 #2: Zuora Billing

コード

テックスタックの唯一の情報源は [テックスタック YAML](https://gitlab.com/gitlab-com/www-gitlab-com/-/blob/master/data/tech_stack.yml) であり、このアプリの詳細情報が含まれています。

{{% tech-stack "Zuora Billing" %}}

結果

テックスタックの唯一の情報源は テックスタック YAML であり、このアプリの詳細情報が含まれています。

Zuora Billing — 詳細は テックスタック (英語) を参照してください。

実装

Zuora は Zuora Central Platform 上に構築された複数のアプリモジュールで構成されています。Zuora Billing はそのモジュールの一つです。

システム図

Zuora Billing は、より大きな Zuora Central Platform 内の複数モジュールの一つです。

graph TD
    Z[Zuora Central Platform] -->ZB[Zuora Billing]
    Z --> ZR[Zuora Revenue]
    Z --> ZC[Zuora Collect]
    Z --> ZCPQ[Zuora CPQ]

Quote to Cash ワークフロー

Zuora Billing は Quote to Cash ワークフロー の中核モジュールであり、他の多くのアプリと連携しています。

graph TD
    subgraph Z[ZUORA]
        ZCPQ[ZUORA-CPQ]
        ZB[ZUORA-Billing]
        ZR[ZUORA-Revenue]
    end
    N[NETSUITE]
    T[TESORIO]
    S[STRIPE]
    A[AVALARA]
    SFDC[Salesforce]
    CD[CustomersDot]
    SFDC <---> |Zuora360|ZB
    ZB <---> |Zuora360|ZCPQ
    CD ---> |eCommerce|ZB
    ZB ---> ZR
    ZB ----> |CC Payment & Processing|S
    ZB ----> |Tax Calculations & Remittance|A
    ZB ----> |Dunning & Receivables|T
    ZR ---> |Platypus|N
    ZB ---> |Platypus|N

Lead to Cash ワークフロー

Zuora Billing は Lead to Cash ワークフロー の主要モジュールです。

Lead to Cash Workflow

主要レポート / ダッシュボード

Zuora Billing では、チームが Zuora Standard Reports を使用しており、最も重要なレポートは以下のとおりです:

  • ELP 変更
  • 今後 30 日以内にキャンセル予定のサブスクリプションを持つアカウント
  • 経時的なクレジットメモ

また、Zuora データを含む Tableau ダッシュボードのコレクションもあります。これらのダッシュボードには Salesforce など他のデータソースのデータも含まれています。

データモデル

Zuora Billing ビジネスオブジェクトモデルは、Zuora が内部でどのように構成されているかを示しています。

Zuora Billing Data Model

主要データオブジェクト

Zuora はこれらのオブジェクトの SSOT であり、データはそこで確認できます。また、主要オブジェクトは Snowflake でも確認できます:

プロダクトカタログ

Zuora エンタープライズアプリガイドには、GitLab のすべての SKU を管理するプロダクトカタログが含まれています。

インテグレーション

graph TD

subgraph Zuora Revenue Integrations
    ZR[Zuora Revenue] --> |Platypus|N[NetSuite]
    N[NetSuite] --> |Workato|ZR
end

subgraph Zuora Billing Integrations
    ZB[Zuora Billing] --> |Zuora 360|S[Salesforce]
    ZB --> |stitch| EDW[Snowflake Enterprise Data Warehouse]
    CD[CustomersDot]-->ZB
end

Zuora から Salesforce へ

Zuora CPQ 経由で Zuora データを Salesforce に連携します。

Customers Dot から Zuora Billing へ

CustomersDot データを IronBank GEM を使用して Zuora Subscribe APIZuora Amend API 経由で Zuora に連携します。 * Orders Harmonization は Zuora Orders API への移行を計画しています。

Zuora から Snowflake へ

Stitch Zuora インテグレーションを使用して Zuora データを Snowflake エンタープライズデータウェアハウスに連携します。

Zuora から NetSuite へ

Zuora Revenue データは Zuora Revenue to NetSuite インテグレーションを使用して NetSuite と同期されます。