

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Backstage とセルフサービスの Amazon SageMaker AI テンプレートを使用して MLOps を高速化
<a name="accelerate-mlops-with-backstage-and-sagemaker-templates"></a>

*Amazon Web Services、Ashish Bhatt、Shashank Hirematt、Shivanshu Suryakar*

## 概要
<a name="accelerate-mlops-with-backstage-and-sagemaker-templates-summary"></a>

機械学習オペレーション (MLOps) システムを使用している多くの組織は、ML インフラストラクチャのスケーリング、標準化、保護において大きな課題に直面しています。このパターンでは、オープンソースのデベロッパーポータルである [Backstage](https://backstage.io/) と [Amazon SageMaker AI](https://aws.amazon.com/sagemaker/)、および強化された Infrastructure as Code (IaC) モジュールを組み合わせることで、データサイエンスチームによる ML ワークフローの開発、デプロイ、管理の方法を向上させる革新的なアプローチを取り入れています。

このパターンの IaC モジュールは、GitHub [AWS AIOps モジュール](https://github.com/awslabs/aiops-modules/tree/main/modules/sagemaker)リポジトリで提供されています。これらのモジュールでは、ML インフラストラクチャをセットアップし一貫した ML 環境を作成する構築済みのテンプレートが提供されます。しかし、インフラストラクチャの専門知識が必要になるため、データサイエンティストがこれらのテンプレートをそのまま使用すると、苦労することがよくあります。Backstage などのデベロッパーポータルを追加すると、標準化された ML 環境を簡単にデプロイできるため、データサイエンティストは基盤となるインフラストラクチャの詳細を理解する必要はありません。

Backstage をセルフサービスプラットフォームとして使用し、事前設定された SageMaker AI テンプレートを統合することで、次のことが可能になります。
+ ML イニシアチブの価値実現までの時間を短縮する。
+ 一貫したセキュリティとガバナンスの実施を支援する。
+ データサイエンティストに標準化された準拠環境を提供する。
+ 運用上のオーバーヘッドとインフラストラクチャの複雑さを軽減する。

このパターンでは、MLOps の重要な課題に対処するためのソリューションと、組織の標準を維持しながらイノベーションを可能にするスケーラブルで反復可能なフレームワークも提供されます。

**ターゲットオーディエンス**

このパターンは、組織内の ML、クラウドアーキテクチャ、プラットフォームエンジニアリングに携わる幅広いユーザーを対象としています。これには、以下が含まれます。
+ **ML ワークフローのデプロイを標準化および自動化したいと考えている ML エンジニア**。
+ 標準に準拠した事前設定済みの ML 環境へのセルフサービスアクセスを希望する**データサイエンティスト**。
+ 社内デベロッパーのプラットフォームおよび共有インフラストラクチャの構築と保守を担当する**プラットフォームエンジニア**。
+ MLOps 用の安全でスケーラブルかつ費用対効果の高いクラウドソリューションを設計する**クラウドアーキテクト**。
+ 継続的インテグレーションと継続的デリバリー (CI/CD) のプラクティスを ML インフラストラクチャのプロビジョニングとワークフローに拡張することに関心のある **DevOps エンジニア**。
+ ML イニシアチブを監督し、チームの生産性、ガバナンス、市場投入までの時間を向上させたいと考えている**技術部門のリーダーおよびマネージャー**。

MLOps の課題、SageMaker AI MLOps モジュール、および本パターンによって提供されるソリューションが ML チームのニーズにどう対応するのかの詳細については、「[追加情報](#accelerate-mlops-with-backstage-and-sagemaker-templates-additional)」のセクションを参照してください。

## 前提条件と制限事項
<a name="accelerate-mlops-with-backstage-and-sagemaker-templates-prereqs"></a>

**前提条件**
+ AWS Identity and Access Management にリソースをプロビジョニングするための (IAM) [ロールとアクセス許可](https://github.com/aws-samples/sample-aiops-idp-backstage/blob/main/SETUP.md#prerequisites) AWS アカウント
+ [Amazon SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated.html)、[SageMaker プロジェクト](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-projects-whatis.html)、[SageMaker Pipelines](https://docs.aws.amazon.com/sagemaker/latest/dg/pipelines-overview.html)、[SageMaker モデルレジストリ](https://docs.aws.amazon.com/sagemaker/latest/dg/model-registry.html)の概念を理解していること
+ IaC の原則を理解しており、[AWS Cloud Development Kit (AWS CDK)](https://aws.amazon.com/cdk/) などのツールを使用したことがあること

**制限事項**
+ **テンプレートの対象範囲には制限があります**。現在、このソリューションは、より広範な [AIOps ソリューション](https://github.com/awslabs/aiops-modules)の SageMaker AI 関連の AIOps モジュールのみをサポートしています。Ray on Amazon Elastic Kubernetes Service (Amazon EKS)、MLflow、Apache Airflow、Amazon Bedrock のファインチューニングなどの他のモジュールは、Backstage テンプレートとしてまだご利用いただけません。
+ **設定不可能なデフォルトの設定**。テンプレートでは、AIOps SageMaker モジュールからの固定のデフォルト設定がカスタマイズなしで使用されます。Backstage のインターフェイスから、インスタンスタイプ、ストレージサイズ、ネットワーク設定、セキュリティポリシーを変更することはできないため、特定のユースケースでは柔軟性が制限されます。
+ **AWSのみをサポートしています**。プラットフォームは AWS デプロイ専用に設計されており、マルチクラウドシナリオをサポートしていません。の外部でクラウドサービスを使用する組織は AWS クラウド 、これらのテンプレートを ML インフラストラクチャのニーズに使用することはできません。
+ **手動での認証情報管理**。デプロイごとに AWS 認証情報を手動で指定する必要があります。このソリューションでは、企業 ID プロバイダーとの統合 AWS IAM アイデンティティセンターや認証情報の自動ローテーションは提供されません。
+ **ライフサイクル管理の制限**。このテンプレートには、自動クリーンアップポリシー、コスト最適化の推奨事項、インフラストラクチャのドリフト検出などの包括的なリソースライフサイクル管理機能はありません。デプロイされたリソースは、作成後に手動で管理およびモニタリングする必要があります。

## アーキテクチャ
<a name="accelerate-mlops-with-backstage-and-sagemaker-templates-architecture"></a>

次の図は、SageMaker AI を使用して環境間で ML インフラストラクチャのデプロイを標準化および高速化する、統合デベロッパーポータルのソリューションアーキテクチャを示したものです。

![\[Backstage、CNOE、GitHub Actions、Seed-Farmer を使用した統合デベロッパーポータルのアーキテクチャ。\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/c16160cf-d637-423e-93a7-485ffbb28646/images/233adab3-83cf-42f3-a1de-72d0b8ade5ae.png)


このアーキテクチャの詳細は以下のとおりです。

1. [AWS アプリケーションのモダナイゼーションブループリントは](https://github.com/aws-samples/appmod-blueprints.git)、[Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html) クラスターを使用してインフラストラクチャのセットアップを [Cloud Native Operational Excellence (CNOE)](https://cnoe.io/) フレームワークのベースとしてプロビジョニングします。この包括的なソリューションは、社内デベロッパー向けのスケーラブルなプラットフォーム (IDP) を提供することで、クラウドネイティブなインフラストラクチャ管理における複雑な課題を解消します。この設計図は、進化する組織のニーズに適応できる堅牢で柔軟なインフラストラクチャをセットアップする構造化されたアプローチを示しています。

1. CNOE オープンソースフレームワークは、DevOps ツールを統合し、統合されたプラットフォームエンジニアリングアプローチを通じてエコシステムの断片化を解決します。さまざまなツールとテクノロジーを組み合わせることで、クラウドネイティブ開発の複雑な環境を簡素化できるため、チームはツールチェーンの管理ではなくイノベーションに専念できます。このフレームワークは、開発ツールを選択、統合、管理するための標準化された方法を提供します。

1. CNOE では、Backstage は Amazon EKS クラスター内にすぐに使えるソリューションとしてデプロイされます。Backstage は、[Keycloak](https://www.keycloak.org/) による堅牢な認証と[、Argo CD](https://argo-cd.readthedocs.io/en/stable/) による包括的なデプロイワークフローにバンドルされています。この統合プラットフォームは、開発プロセスを管理するための一元化された環境を作成し、チームが複数の環境をまたいでインフラストラクチャとアプリケーションにアクセス、デプロイ、モニタリングできる一元的な場所として機能します。

1. GitHub リポジトリには、SageMaker AI ライフサイクル全体をカバーする、事前設定済みの AIOps ソフトウェアテンプレートが含まれています。これらのテンプレートは、SageMaker Studio のプロビジョニング、モデルトレーニング、推論パイプライン、モデルモニタリングなど、重要な ML インフラストラクチャのニーズに対処します。これらのテンプレートを使えば、ML イニシアチブを加速させ、さまざまなプロジェクトやチーム間で一貫性を確保することができます。

1. [GitHub Actions](https://github.com/features/actions) は、[Seed-Farmer](https://github.com/awslabs/seed-farmer) ユーティリティを介してリソースプロビジョニングを動的にトリガーする自動ワークフローを実装しています。このアプローチでは、Backstage カタログを AIOps モジュールリポジトリと統合させ、効率的なインフラストラクチャデプロイプロセスを作成します。自動化によって手動介入が軽減され、人的ミスを最小限に抑えることができ、さまざまな環境で迅速かつ一貫したインフラストラクチャの作成が可能になります。

1. [AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/home.html) を使うことで、インフラストラクチャをコードとして定義してプロビジョニングすることができます。また、指定された AWS アカウント全体で反復可能な標準に準拠した安全なリソースをデプロイできます。このアプローチは、最小限の手動介入で最大限のガバナンスを実現できるため、標準化されたインフラストラクチャテンプレートを作成して、複製やバージョン管理、監査を簡単に行うことができます。

## ツール
<a name="accelerate-mlops-with-backstage-and-sagemaker-templates-tools"></a>

**AWS のサービス**
+ [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html) は、コードで AWS クラウド インフラストラクチャを定義およびプロビジョニングするのに役立つソフトウェア開発フレームワークです。
+ [Amazon Elastic Kubernetes Service (Amazon EKS)](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html) を使用すると、独自の Kubernetes コントロールプレーンやノードをインストールまたは維持 AWS することなく、 で Kubernetes を実行できます。
+ [Amazon SageMaker AI](https://docs.aws.amazon.com/sagemaker/) は、ML モデルを構築およびトレーニングし、これらの ML モデルを、稼働準備の整ったホストされている環境にデプロイするのに役立つマネージド型 ML サービスです。

**その他のツール**
+ [Backstage](https://backstage.io/) は、社内デベロッパー向けポータルの構築に役立つオープンソースフレームワークです。
+ [GitHub Actions](https://github.com/features/actions) は、コードの構築、テスト、デプロイなどのタスクを含むソフトウェア開発のワークフローを自動化する CI/CD プラットフォームです。

**コードリポジトリ**

本パターンでは、次の GitHub リポジトリのコードとテンプレートを使用します。
+ [AIOps internal developer platform (IDP) with Backstage](https://github.com/aws-samples/sample-aiops-idp-backstage/) リポジトリ
+ [AWS AIOps モジュール](https://github.com/awslabs/aiops-modules)リポジトリの SageMaker AI 関連モジュール
+ [Modern engineering on AWS](https://github.com/aws-samples/appmod-blueprints) リポジトリ

**実装**

この実装では、[Modern engineering on AWS](https://github.com/aws-samples/appmod-blueprints) リポジトリから Backstage の本番稼働グレードのデプロイパターンを使用します。このアプローチは、セキュリティとスケーラビリティの AWS ベストプラクティスを組み込むと同時に、セットアッププロセスを大幅に簡素化します。

このパターンの[エピック](#accelerate-mlops-with-backstage-and-sagemaker-templates-epics)のセクションでは、実装アプローチの概要を説明します。詳細なデプロイ手順については、[Backstage を備えた AIOps 内部開発者プラットフォーム](https://github.com/aws-samples/sample-aiops-idp-backstage/)リポジトリにある包括的な[デプロイガイド](https://github.com/aws-samples/sample-aiops-idp-backstage/blob/main/SETUP.md)を参照してください。この実装には以下が含まれます。
+ 初期 Backstage プラットフォームのデプロイ
+ SageMaker ソフトウェアテンプレートと Backstage の統合
+ Backstage テンプレートの使用と保守

本デプロイガイドには、継続的なメンテナンス、トラブルシューティング、プラットフォームのスケーリングに関するガイダンスも含まれています。

## ベストプラクティス
<a name="accelerate-mlops-with-backstage-and-sagemaker-templates-best-practices"></a>

これらのベストプラクティスに従い、MLOps インフラストラクチャ実装のセキュリティ、ガバナンス、運用上の優秀性を確保してください。

**テンプレート管理**
+ ライブテンプレートに大きな変更を加えない。
+ 本番環境にデプロイするときは事前に更新を十分にテストする。
+ 明確かつ十分に立証されたテンプレートバージョンを維持する。

**セキュリティ**
+ GitHub Actions を特定のコミットセキュアハッシュアルゴリズム (SHAs) に固定し、サプライチェーン攻撃を防止する。
+ きめ細かなアクセス許可を持つ最小特権の IAM ロールを使用する。
+ 機密認証情報は [GitHub Secrets](https://docs.github.com/en/actions/concepts/security/secrets) および [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) に保存する。
+ 認証情報をテンプレートでハードコードしない。

**ガバナンスと追跡**
+ 包括的なリソースタグ付け標準を実装する。
+ 正確なコスト追跡とコンプライアンスモニタリングを有効にする。
+ インフラストラクチャの変更に関する明確な監査証跡を維持する。

本ガイドは、Backstage、SageMaker AI、IaC モジュールを使用して上記のベストプラクティスを実装するための強固な基盤となるものです。

## エピック
<a name="accelerate-mlops-with-backstage-and-sagemaker-templates-epics"></a>

### ML 環境のセットアップ
<a name="set-up-your-ml-environment"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| Backstage をデプロイする。 | このステップでは、 リポジトリ[の Modern Engineering AWS](https://github.com/aws-samples/appmod-blueprints) のブループリントを使用して、複数の を統合して ML ワークフロー用の一元化された IDP を作成する堅牢 AWS のサービス でスケーラブルなインフラストラクチャを構築します。デプロイガイドの[「Backstage deployment」セクション](https://github.com/aws-samples/sample-aiops-idp-backstage/blob/main/SETUP.md#backstage-deployment)の指示に従って、リポジトリのクローン作成、依存関係のインストール、環境変数 AWS CDK の設定のブートストラップ、Backstage プラットフォームのデプロイを行います。インフラストラクチャは、IDP コンポーネントをデプロイするためのコンテナオーケストレーションプラットフォームとして Amazon EKS を使用します。Amazon EKS アーキテクチャには、厳密なネットワーク分離を規定し、アクセスパターンを制御するための安全なネットワーク設定が含まれています。このプラットフォームには認証のメカニズムが統合され、サービスや環境間のユーザーアクセスを保護しています。 | プラットフォームエンジニア | 
| SageMaker AI テンプレートをセットアップする。 | このステップでは、GitHub の [AIOps internal developer platform (IDP) with Backstage](https://github.com/aws-samples/sample-aiops-idp-backstage/) リポジトリのスクリプトを使用します。デプロイガイドの「[SageMaker テンプレートのセットアップ](https://github.com/aws-samples/sample-aiops-idp-backstage/blob/main/SETUP.md#sagemaker-template-setup)」のセクションの指示に従って、リポジトリのクローンを作成し、前提条件を設定し、セットアップスクリプトを実行します。このプロセスでは、Backstage との統合に必要な SageMaker AI テンプレートを含むリポジトリを作成します。 | プラットフォームエンジニア | 
| SageMaker AI** **テンプレートを Backstage と統合する。 | デプロイガイドの「[SageMaker テンプレートの統合](https://github.com/aws-samples/sample-aiops-idp-backstage/blob/main/SETUP.md#sagemaker-templates-integration)」セクションの指示に従って、SageMaker AI テンプレートを登録します。このステップでは、AIOps モジュール (前のステップの SageMaker AI テンプレート) を Backstage デプロイに統合し、ML インフラストラクチャのニーズをセルフサービスできるようにします。 | プラットフォームエンジニア | 
| Backstage の SageMaker AI テンプレートを使用する。 | デプロイガイドの「[SageMaker テンプレートの使用](https://github.com/aws-samples/sample-aiops-idp-backstage/blob/main/SETUP.md#using-sagemaker-templates)」セクションの指示に従って Backstage ポータルにアクセスし、SageMaker Studio で ML 環境を作成します。Backstage ポータルでは、SageMaker Studio 環境、SageMaker ノートブック、カスタム SageMaker プロジェクトテンプレート、モデルデプロイパイプラインのオプションなど、使用可能な SageMaker AI テンプレートの中から選択できます。設定パラメータを指定すると、プラットフォームは自動的に専用リポジトリを作成し、GitHub Actions と Seed-Farmer を通じて AWS リソースをプロビジョニングします。進行状況は、GitHub Actions ログと Backstage コンポーネントカタログからモニタリングできます。 | データサイエンティスト、データエンジニア、デベロッパー | 

### ガバナンスとコンプライアンス用のテンプレートの管理
<a name="manage-templates-for-governance-and-compliance"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| SageMaker AI テンプレートを更新する。 | Backstage で SageMaker AI テンプレートを更新するには、次の手順に従います。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/accelerate-mlops-with-backstage-and-sagemaker-templates.html) | プラットフォームエンジニア | 
| テンプレートの複数のバージョンを作成および管理する。 | 破壊的変更やアップグレードの場合は、複数のバージョンの SageMaker AI テンプレートを作成することをお勧めします。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/accelerate-mlops-with-backstage-and-sagemaker-templates.html) | プラットフォームエンジニア | 

### ML 環境の拡張
<a name="extend-your-ml-environment"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| テンプレートの対象範囲を SageMaker AI を超えて拡張する。 | 現在のソリューションに実装されているのは SageMaker AI 関連の AIOps テンプレートのみです。[AIOps モジュール](https://github.com/awslabs/aiops-modules)を追加し、追加の AWS のサービス およびアプリケーション用のカスタムソフトウェアテンプレートを統合することで、ML 環境を拡張できます。これらは、Backstage のテンプレートデザイナーインターフェイスを使用するか、カスタムスキャフォールダーアクションを実装するか、標準メタデータでテンプレートリポジトリを維持することで作成できます。このプラットフォームは、一貫性を保つために、テンプレートのバージョニング、チーム間の共有、検証ワークフローをサポートしています。詳細については、[Backstage のドキュメント](https://backstage.io/docs/overview/what-is-backstage/)を参照してください。テンプレートの継承パターンを実装して、ベーステンプレートの特殊なバージョンを作成することもできます。この拡張性により、簡素化された開発者エクスペリエンスを維持し、組織の標準を維持しながら、SageMaker AI 以外のさまざまな AWS リソースやアプリケーションを管理できます。 | プラットフォームエンジニア | 
| 動的パラメータインジェクションを使用する。 | 現在のテンプレートは、デフォルトの設定をカスタマイズなしで使用し、Seed-Farmer CLI を実行して、デフォルトの変数を持つリソースをデプロイします。デフォルトの設定は、モジュールに固有の設定に動的パラメータインジェクションを使用することで拡張できます。 | プラットフォームエンジニア | 
| セキュリティとコンプライアンスを高める。 | AWS リソースの作成時のセキュリティを強化するために、ロールベースのアクセスコントロール (RBAC) に、シングルサインオン (SSO)、SAML、OpenID Connect (OIDC)、ポリシーをコード適用として統合することができます。 | プラットフォームエンジニア | 
| 自動リソースクリーンアップを追加する。 | 自動クリーンアップポリシーの機能を有効にしたり、インフラストラクチャドリフトの検出と修復を追加したりできます。 | プラットフォームエンジニア | 

### リソースをクリーンアップする
<a name="clean-up-resources"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| Backstage インフラストラクチャと SageMaker AI リソースを削除する。 | ML 環境の使用が完了したら、デプロイガイドの「[クリーンアップとリソース管理](https://github.com/aws-samples/sample-aiops-idp-backstage/blob/main/SETUP.md#cleanup-and-resource-management)」セクションの指示に従って Backstage のインフラストラクチャを削除し、ML 環境で SageMaker AI リソースを削除します。 | プラットフォームエンジニア | 

## トラブルシューティング
<a name="accelerate-mlops-with-backstage-and-sagemaker-templates-troubleshooting"></a>


| 問題 | ソリューション | 
| --- | --- | 
| AWS CDK ブートストラップの失敗 |  AWS 認証情報とリージョン設定を確認します。 | 
| Amazon EKS クラスターアクセスの問題 | **kubectl** 設定と IAM アクセス許可を確認します。 | 
| Application Load Balancer の接続の問題 | セキュリティグループで、ポート 80/443 上の受信トラフィックが許可されていることを確認します。 | 
| SSH 統合の問題 | GitHub トークンのアクセス許可と組織アクセスを確認します。 | 
| SageMaker AI デプロイの失敗 | [AWS のサービス クォータ](https://docs.aws.amazon.com/general/latest/gr/sagemaker.html#limits_sagemaker)と IAM アクセス許可を確認する。 | 

## 関連リソース
<a name="accelerate-mlops-with-backstage-and-sagemaker-templates-resources"></a>
+ [プラットフォームエンジニアリング](https://docs.aws.amazon.com/prescriptive-guidance/latest/aws-caf-platform-perspective/platform-eng.html)(「*AWS クラウド導入フレームワーク: プラットフォームの視点*」ガイドを参照)
+ [Amazon SageMaker AI ドキュメント](https://docs.aws.amazon.com/sagemaker/)
+ [Backstage Software Templates](https://backstage.io/docs/features/software-templates/) (Backstage ウェブサイト)
+ [AIOps modules repository](https://github.com/awslabs/aiops-modules) (ML 用の再利用可能な IaC モジュールのコレクション)
+ [AIOps internal developer platform (IDP) with Backstage](https://github.com/aws-samples/sample-aiops-idp-backstage/) リポジトリ
+ [Modern engineering on AWS](https://github.com/aws-samples/appmod-blueprints) リポジトリ
+ [Cloud Native Operational Excellence (CNOE) ウェブサイト](https://cnoe.io/)

## 追加情報
<a name="accelerate-mlops-with-backstage-and-sagemaker-templates-additional"></a>

**ビジネス上の課題**

MLOps イニシアチブを開始またはスケールしようとする多くの組織が、ビジネス上および技術上の課題に頻繁に遭遇していす。
+ **一貫性のない環境**。開発環境とデプロイ環境が標準化されていないため、コラボレーションが困難になり、デプロイ上のリスクも高まります。
+ **手動プロビジョニングのオーバーヘッド**。SageMaker Studio、Amazon Simple Storage Service (Amazon S3) バケット、IAM ロール、CI/CD パイプラインを使用して ML インフラストラクチャを手動でセットアップするのには時間がかかり、エラーも発生しやすく、データサイエンティストはモデル開発のコアタスクに専念することができません。
+ **検出可能性と再利用性の欠如**。一元化されたカタログがなければ、既存の ML モデル、データセット、パイプラインを見つけることが困難になります。これにより、作業が重複し、再利用の機会が失われます。
+ **複雑なガバナンスとコンプライアンス**。自動化されたガードレールがなければ、ML プロジェクトが組織のセキュリティポリシー、データプライバシー規制、医療保険の相互運用性と説明責任に関する法律 (HIPAA)、および一般データ保護規則 (GDPR) などのコンプライアンス標準に準拠しているかどうかを確認することが困難になります。
+ **価値実現までの時間が長い**。これらの課題の累積的な影響により、ML プロジェクトのライフサイクルが長くなり、ML 投資によるビジネス価値の実現が遅れます。
+ **セキュリティ上のリスク**。設定や手動プロセスに一貫性がなければ、セキュリティの脆弱性が発生し、最小特権やネットワーク分離の適用が困難になる可能性があります。

これらの問題は、開発サイクルを長引かせ、運用オーバーヘッドを増やし、セキュリティリスクをもたらします。反復的な性質を持つ ML には、反復可能なワークフローと効率的なコラボレーションが不可欠です。

Gartner 社による予測では、ソフトウェアエンジニアリング組織の 80% が 2026 年までにプラットフォームチームを持つと予想されています。(Gartner 社のウェブサイト[「Platform Engineering Empowers Developers to be Better, Faster, Happier](https://www.gartner.com/en/experts/top-tech-trends-unpacked-series/platform-engineering-empowers-developers)」を参照)。この予測では IDP がいかにしてソフトウェア配信を高速化するかに焦点が当てられています。IDP である Backstage は、チームが高品質のコードを迅速かつ安全に提供できるよう、複雑なインフラストラクチャへの命令の復元をサポートします。Backstage と強化された AIOps モジュールとを統合することで、事後対応型のトラブルシューティングから事前対応型の予防への移行が可能になります。

**MLOps SageMaker モジュール**

このパターンに使用される GitHub リポジトリの [AIOps モジュールは](https://github.com/awslabs/aiops-modules)、再利用可能な強化された IaC AWS を通じて で MLOps を標準化するための貴重な基盤を提供します。これらのモジュールには、SageMaker プロジェクト、パイプライン、関連するネットワークおよびストレージリソースをプロビジョニングするためのベストプラクティスがカプセル化されているため、ML 環境の複雑さを軽減し、セットアップを高速化できます。これらのテンプレートをさまざまな MLOps ユースケースに使用することで、一貫性のある安全なデプロイパターンを確立し、ML ワークフローへの管理性および効率性が向上したアプローチを促進できます。

AIOps モジュールをそのまま使用すると、多くの場合、プラットフォームチームがこれらの IaC テンプレートをデプロイおよび管理しなければならなくなり、このことがセルフサービスアクセスを必要とするデータサイエンティストにとって課題となる可能性があります。使用可能なテンプレートの検出と理解、必要なパラメータの設定、デプロイのトリガーには、 AWS のサービス コンソールを操作するか、IaC ツールと直接やり取りする必要がある場合があります。これにより摩擦が生じ、ML タスクに専念したいデータサイエンティストの認知負荷が増加し、テンプレートが一元化された使いやすいインターフェイスで管理されていない場合には、一貫性のないパラメータ化や組織標準からの逸脱が生じる可能性があります。これらの強力な AIOps モジュールを Backstage などの IDP と統合すると、標準化された MLOps の構成要素を使用するための合理化されたセルフサービスエクスペリエンス、強化された検出可能性、強力なガバナンスコントロールが実現できるため、このような課題に対処できます。

**IDP としての Backstage**

社内デベロッパープラットフォーム (IDP) は、デベロッパーがアプリケーションを構築、デプロイ、管理する方法を簡素化および標準化するために、プラットフォームチームによって構築されたセルフサービスレイヤーです。インフラストラクチャの複雑さを抽象化し、デベロッパーは、統合されたインターフェイスを通じてツール、環境、サービスに簡単にアクセスできるようになります。

IDP の主な目標は、デベロッパーのエクスペリエンスと生産性を向上させることです。
+ サービスの作成やデプロイなどのタスクでセルフサービスを有効にする。
+ 標準のテンプレートを使用して一貫性とコンプライアンスを促す。
+ 開発ライフサイクル全体でツールを統合する (CI/CD、モニタリング、ドキュメント)。

Backstage は、Spotify によって作成されたオープンソースのデベロッパーポータルであり、現在は Cloud Native Computing Foundation (CNCF) の一部となっています。ソフトウェアコンポーネント、ツール、ドキュメントを管理するための一元化された拡張可能なプラットフォームを提供し、組織が独自の IDP を構築するのを支援します。Backstage を使用すると、デベロッパーは次のことが行うことができます。
+ ソフトウェアカタログを通じてすべての内部サービスを検出および管理する。
+ スキャフォールダープラグインを使って、事前定義されたテンプレートを使用して新しいプロジェクトを作成する。
+ CI/CD パイプライン、Kubernetes ダッシュボード、モニタリングシステムなどの統合ツールに一元的にアクセスできる。
+ TechDocs を通じて一貫性のあるマークダウンベースのドキュメントを維持できる。

**よくある質問**

**Backstage テンプレートを使用する場合と、SageMaker コンソールから SageMaker Studio を手動でデプロイする場合の違いは何ですか?**

Backstage テンプレートには、組織のベストプラクティスに従った標準化された設定、Seed-Farmer と を使用した IaC の自動デプロイ AWS CDK、組み込みのセキュリティポリシーとコンプライアンス対策、GitHub を介した組織の開発者ワークフローとの統合など、手動 AWS コンソールデプロイよりもいくつかの利点があります。このテンプレートは、バージョン管理による再現可能なデプロイも作成します。これにより、さまざまなステージ (開発、ステージング、本番稼働) にまたがる環境を簡単に複製できるため、チーム間の一貫性が確保されます。さらに、テンプレートには自動クリーンアップ機能が含まれており、Backstage を通じて組織の ID 管理システムと統合されます。コンソールを介した手動デプロイには深い AWS 専門知識が必要であり、バージョン管理やテンプレートが提供するのと同じレベルの標準化とガバナンスは提供されません。このような理由から、コンソールのデプロイは、本番環境の ML 環境よりも 1 回限りの実験に適しています。

**Seed-Farmer とは何ですか? このソリューションがそれを使用しているのはなぜですか?**

Seed-Farmer は、 を使用してインフラストラクチャモジュールを管理する AWS デプロイオーケストレーションツールです AWS CDK。このパターンでは、Seed-Farmer を使用します。これは、AI/ML ワークロード用に特別に設計された標準化された再利用可能なインフラストラクチャコンポーネントを提供し、 間の複雑な依存関係 AWS のサービス を自動的に処理し、異なる環境間で一貫したデプロイを保証するためです。

**これらのテンプレートを使用するには AWS CLI 、 をインストールする必要がありますか?**

いいえ。コンピュータ AWS CLI に をインストールする必要はありません。テンプレートはクラウド内の GitHub Actions を通じて全体的に実行されます。Backstage インターフェイスを介して AWS 認証情報 (アクセスキー、シークレットキー、セッショントークン) を指定すると、デプロイは GitHub Actions 環境で自動的に行われます。

**SageMaker Studio 環境のデプロイにはどのくらいの時間がかかりますか?**

SageMaker Studio のデプロイが完了するまでに通常 15～25 分かかります。これには、 AWS CDK ブートストラップ (2～3 分）、Seed-Farmer ツールチェーンのセットアップ (3～5 分）、リソースの作成 (10～15 分) が含まれます。正確な時間は、 AWS リージョン とネットワーク設定の複雑さによって異なります。

**同じ AWS アカウントに複数の SageMaker 環境をデプロイすることは可能ですか?**

はい、可能です。各デプロイでは、テンプレートで指定したコンポーネント名に基づいて一意の名前のリソースが作成されます。ただし、 AWS のサービス クォータに注意してください。各アカウントでは、リージョンごとに SageMaker ドメインの数に制限があるため、複数の環境を作成する前に[クォータを確認してください](https://docs.aws.amazon.com/general/latest/gr/sagemaker.html#limits_sagemaker)。