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

概要

ベータ版

Compute Modules機能はベータ版であり、ユーザーのエンロールメントでは利用できない場合があります。

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

Compute Modules機能を使用すると、Palantirプラットフォーム上でインタラクティブなコンテナをデプロイでき、既存のコードベース(言語を問わず)をプラットフォーム内で実行できます。具体的には、サーバーレスDockerイメージをPalantirプラットフォームでコンピュートモジュールとして実行し、WorkshopSlateなどのフロントエンドアプリケーションでの負荷に基づいて水平スケーリングを行うことができます。

Compute Modulesの開始方法

Compute Modulesのクイックスタートガイドを使用して開発を開始しましょう:

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

Compute Modulesのユースケース

Compute Modulesは、プラットフォーム内で自分のコードやサードパーティコードとインタラクトする新しい方法を提供し、次のようなユースケースを可能にします:

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

Compute Modulesを使用する理由

Compute Modulesにはいくつかの主要な利点があります:

  • 既存のコードベースを統合: 事業上重要なコードをFoundryで書き直すリスクやコストが高い場合、そのコードをDockerイメージにコンテナ化してコンピュートモジュールとして実行できます。
  • 任意のプログラミング言語を使用: 言語を問わずコンテナ化できるコードを実行できます。これはFoundryがネイティブでサポートする言語に制限されないことを意味します。
  • 動的および予測的な水平スケーリング: 異なる数のリクエストを処理する必要がある場合、現在および過去の負荷に基づいて利用可能なレプリカの数をスケーリングすることで、高い可用性を確保できます。
  • 外部およびプラットフォーム内の接続: Palantir製品を活用してカスタムロジックを記述します。たとえば、データやメディアセットを読み書きする、または外部システムに接続することができます。

ただし、すべての状況においてCompute Modulesが適切であるとは限りません。以下のような場合にはCompute Modulesの使用を推奨しません:

  • 動的垂直スケーリング: 1つのリクエストが1MBから100GBまで劇的にサイズが変わる場合など、動的垂直スケーリングをサポートしたい場合、Compute Modulesは「箱から出してすぐに」うまく機能しない可能性があります。割り当てられるリソースの量は静的で手動で定義されているためです。同じCompute Moduleの異なるプロビジョニングティアを作成し、それらの間で多重化することは可能ですが、そのソリューションはより複雑で面倒になる可能性があります。
  • Foundryがネイティブでサポートする既存機能の置き換え: Compute Modulesは理論的には任意の機能を構築するために使用できます。しかし、非常に一般的かつ強力であるため、より複雑なソリューションになる可能性があります。

アーキテクチャ

各Compute Moduleは複数のレプリカで構成されています。リクエストの量に応じてレプリカの数は変わります。

各レプリカには、1つまたは複数の隔離されたコンテナのセットが含まれます。1つのコンテナがエントリーポイントとして機能し、イベントを処理するために永遠にポーリングするクライアントを実装する必要があります。他のコンテナには何でも含めることができます。

デフォルトでは、多数のコンテナCompute Moduleを設定するためのガードレールはほとんどありません。推奨される方法の1つは、標準のネットワーキングプロトコルを使用して通信することです。もう1つの提案は、共有ボリュームマウントを使用することです。同じレプリカ内のコンテナはそれらの方法(およびその他)を介して通信できますが、レプリカ間では通信できず、蓄積された状態に依存しないようにする必要があります。

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

次のステップ

Compute moduleのセキュリティ: Compute Moduleのセキュリティと異なる実行モードについて学びます。

Compute moduleを利用した関数を構築する: プラットフォーム全体でネイティブに使用できる関数を持つcompute moduleを作成します

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