Synapse 実装の成功手法: ソリューション開発環境の設計を評価する
注意
この記事は、「設計による Azure Synapse 実装の成功」シリーズの記事の一部です。 このシリーズの概要については、Azure Synapse 実装の設計上の成功に関するページを参照してください。
ソリューション開発とその実行環境は、プロジェクトの成功の鍵となります。 選択したプロジェクト手法 (ウォーターフォール、アジャイル、スクラムなど) に関係なく、開発、テスト、運用をサポートする複数の環境を設定する必要があります。 また、環境間の変更を促進するための明確なプロセスも定義する必要があります。
運用環境と運用前の両方で使用できる最新のデータ ウェアハウス環境を設定することは複雑な場合があります。 設計上の重要な決定事項の 1 つは自動化であることに注意してください。 自動化は、エラーのリスクを最小限に抑えながら、生産性を向上させるのに役立ちます。 さらに、データ サイエンスやリアルタイムなどの新しいワークロードの追加など、将来のアジャイル開発を環境でサポートする必要があります。 設計レビュー中に、現在のプロジェクトだけでなく、ソリューションの継続的なサポートと開発のためにソリューションをサポートするソリューション開発環境設計を作成します。
ソリューション開発環境の設計
環境設計には、運用ソリューションをホストする運用環境と、少なくとも 1 つの非運用環境を含める必要があります。 ほとんどの環境には、1 つは開発用ともう 1 つはテスト用の 2 つの非運用環境、品質保証 (QA)、ユーザー受け入れテスト (UAT) が含まれています。 通常、環境は個別の Azure サブスクリプションでホストされます。 運用サブスクリプションと非運用サブスクリプションを作成することを検討してください。 この分離により、運用環境と非運用環境の間の明確なセキュリティ境界と線引きが行われます。
理想的には、3 つの環境を確立する必要があります。
- 開発: データと分析ソリューションが構築される環境。 開発者にサンドボックスを提供するかどうかを決定します。 サンドボックスを使用すると、開発者は変更を分離して行い、テストすることができますが、共有開発環境では開発チーム全体からの統合された変更がホストされます。
- テスト/QA/UAT: 運用環境にリリースする前にデプロイをテストするための運用環境に似た環境。
- 運用: 最終的な運用環境。
Synapse ワークスペース
ソリューション内の Synapse ワークスペースごとに、環境には運用ワークスペースが 1 つと、開発およびテスト/QA/UAT 用の少なくとも 1 つの非運用ワークスペースが含まれている必要があります。 環境全体のすべてのプールと成果物に同じ名前を使用します。 一貫した名前付けにより、他の環境へのワークスペースの昇格が容易になります。
ワークスペースを別のワークスペースに昇格するプロセスには 2 つの部分があります。
- Azure Resource Manager テンプレート (ARM テンプレート) を使用して、ワークスペースのリソースを作成または更新します。
- Azure DevOps または GitHub で Azure Synapse 継続的インテグレーションと継続的デリバリー (CI/CD) ツールを使用して、SQL スクリプト、ノートブック、Spark ジョブ定義、パイプライン、データセット、データ フローのような成果物を移行します。
Azure DevOps または GitHub
Azure DevOps または GitHub との統合が正しく設定されていることを確認します。 開発、テスト/QA/UAT、および運用環境全体で変更をリリースする反復可能なプロセスを設計します。
重要
機密性の高い構成データは、常に Azure Key Vault に安全に格納することをお勧めします。 Azure Key Vault を使用して、データベース接続文字列などの機密性の高い構成データの一元的で安全な場所を維持します。 そうすることで、適切なサービスが各環境内から構成データにアクセスできます。
次の手順
「Azure Synapse の設計上の成功」シリーズの次の記事では、Azure Synapse ソリューションを実装する熟練したリソースのチームを評価する方法について説明します。