注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

Compute Modules

アプリケーションへのアクセス

Compute Modules を有効にするには、プラットフォーム管理者に連絡し、Control Panel でアプリケーションへのアクセスを変更するよう依頼してください。

開発を効率的に進めるために、プラットフォーム内の Compute Modules アプリケーションでもこのドキュメントを閲覧できます。

Compute Modules を使用すると、Palantir プラットフォームにインタラクティブなコンテナをデプロイし、既存のコードベースを言語に関係なく取り込んで、プラットフォーム内で実行できます。具体的には、Palantir プラットフォームでサーバーレスの Docker イメージを Compute Modules として実行し、Workshop や Slate などのフロントエンドアプリケーションの負荷に基づいて水平スケールアウトまたはスケールインできます。

Compute Modules をはじめる

Compute Modules のクイックスタートガイドを使って開発をはじめます。

  • Workshop モジュールや Slate アプリケーションからカスタムコンテナやモデルを呼び出す: Workshop や Slate からクエリできるコンテナ関数を作成します。Palantir の TypeScript SDK または Python SDK を使いはじめるには、Compute Module を利用した関数を構築するためのドキュメントを確認してください。
  • カスタムコンテナを使用して Foundry にデータを同期する: カスタムソースからストリーム、データセット、またはメディアセットにデータを追加するために使用できるコンテナを作成します。Palantir の TypeScript SDK または Python SDK を使いはじめるには、Compute Module を利用したパイプラインを構築するためのドキュメントを確認してください。
  • [高度な利用]カスタムクライアントを作成して任意の言語で統合する: 専用の SDK を使用せずに任意の言語でコンテナを統合するには、Compute Module のクライアント仕様を実装するカスタムクライアントを作成できます。

Compute Modules のユースケース

Compute Modules は、プラットフォーム内で独自のコードやサードパーティのコードを操作する新しい方法を提供し、次のようなユースケースを実現します。

  • コンテナを利用した関数: Workshop や Slate などのアプリケーションからクエリできるコンテナ関数を作成します。
  • コンテナベースのデータ統合: 任意のデータソースに接続し、ストリーム、データセット、またはメディアセットにデータを取り込みます。
  • カスタムモデルをホストする: カスタムモデルやオープンソースモデルをホストし、Foundry アプリケーションからインタラクティブにクエリします。

Compute Modules を使用する理由は何ですか?

Compute Modules には、主に次のような利点があります。

  • 既存のコードベースを統合する: ビジネスに不可欠なコードがあり、Foundry で書き直すとリスクやコストが高くなる場合は、そのコードを Docker イメージにコンテナ化し、Compute Module として実行できます。
  • 任意のプログラミング言語を使用する: 言語に関係なく、コンテナ化できる任意のコードを実行できます。つまり、Foundry がネイティブにサポートする言語に制限されません。
  • 動的かつ予測的な水平スケーリング: 処理するリクエスト数が変動すると想定される場合、Compute Modules は現在と過去の負荷に基づいて利用可能なレプリカ数を増減させることで、より高い可用性を確保できます。
  • 外部およびプラットフォーム内の接続: Palantir 製品を活用したカスタムロジックを作成します。たとえば、データセットやメディアセットの読み書き、外部システムへの接続ができます。

Compute Modules がすべての状況に適しているとは限りません。次の用途には、Compute Modules の使用を推奨しません。

  • 動的な垂直スケーリング: 単一のリクエストのサイズが、たとえば 1 MB から 100 GB へと大幅に変動すると想定され、動的な垂直スケーリングをサポートしたい場合、Compute Modules は初期設定のままでは十分なパフォーマンスを発揮しない可能性があります。割り当てられるリソース量が固定で、手動で定義されるためです。同じ Compute Module に異なるリソース量を割り当てた階層を作成し、それらの間で処理を振り分けることは可能ですが、そのソリューションはより複雑で扱いにくくなる可能性があります。
  • Foundry がネイティブにサポートする既存機能を置き換える: 理論上、Compute Modules を使用して任意の機能を構築できます。ただし、非常に汎用的で強力であるがゆえに、ソリューションがより複雑になる可能性があります。

アーキテクチャ

各 Compute Module は、いくつかのレプリカで構成されます。レプリカ数は、リクエスト量の変化に応じて変化します。

各レプリカには、同じ構成の1個以上の分離されたコンテナが含まれます。1個のコンテナがエントリーポイントとして機能し、処理対象のイベントを継続的にポーリングするクライアントを実装する必要があります。それ以外のコンテナには、任意のものを含めることができます。

デフォルトでは、多数のコンテナを持つ Compute Module の設定に対するガードレールはほとんどありません。推奨される方法の1つは、標準のネットワークプロトコルを使用してコンテナ間で通信することです。もう1つの推奨方法は、共有ボリュームマウントを使用することです。同じレプリカ内のコンテナは、これらの方法やほかの方法で通信できますが、レプリカをまたいでコンテナ間で通信することはできません。また、コンテナが蓄積する可能性のある状態に依存しないでください。

はじめるには、Palantir プラットフォームで Compute Module を構築するためのガイドを確認してください。

次のステップ

コンピューティングモジュールのセキュリティ: Compute Module のセキュリティと各種実行モードについて学びます。

コンピューティングモジュールを利用した関数を構築する: プラットフォーム全体でネイティブに使用できる関数を持つ Compute Module を作成します。

パイプラインCompute Modulesを構築する: 入力リソースを受け取り、出力リソースを生成するパイプライン Compute Module を作成します。