The Compute Modules feature is in a beta state and may not be available on your enrollment.
You can also view this documentation in the platform within the Compute Modules application for an efficient developer experience.
The Compute Modules feature enables you to deploy interactive containers on the Palantir platform, allowing you to bring in your existing code base (regardless of language) and run this code inside the platform. Specifically, you can run serverless Docker images as compute modules in the Palantir platform and horizontally scale them up or down based on load in your frontend applications, such as Workshop and Slate.
Start developing with our Compute Modules quick start guides:
Compute modules give you new ways to interact with your own code or third-party code in the platform, enabling use cases such as:
There are several key advantages provided by compute modules:
Note that compute modules may not be appropriate in all circumstances. We do not recommended using compute modules for the following:
Each compute module consists of a number of replicas. The number of replicas changes as the request volume changes.
Each replica contains the same set of one or many isolated containers. One container serves as the entry point, and it must implement a client that forever polls for events to process. The other containers can contain anything.
By default, there are few guardrails for setting up a many-container compute module. One suggested method is to have them communicate using standard networking protocols; another suggestion is to used shared volume mounts. Containers in the same replica can communicate via those methods (and more), but containers cannot communicate across replicas, and you should not rely on any state they may accrue.
To get started, review the guide for building a compute module in the Palantir platform.
Compute module security: Learn about compute module security and different execution modes.
Build a compute module-backed function: Create a compute module with functions to use natively across the platform.
Build a pipeline compute module: Create a pipeline compute module that takes input resources and produces output resources.