The components of Immuta can be divided into two overarching categories: primary components (which are common to both Immuta deployment types) and deployment-specific components.
Although this lesson focuses on one of these components (the Query Engine), this page provides context essential to identifying other components and their dependencies.
These are the components running in a typical Immuta deployment.
Component | Description | Networking | Dependencies |
Immuta Web Service | The Immuta UI and API services. | Port 443 (normally encrypted with TLS) Requires WebSocket support | Metadatabase Query Engine Fingerprint Service |
Metadata Database | Stores information about the Immuta instance’s configuration, including data source connections, policy assignments and audit logs. The Immuta Metadatabase and Query Engine are sometimes a single PostgreSQL database. Other times, they run independently. | Port 5432 (normally encrypted with TLS) | Web Service |
Query Engine | The Query Engine (and its replicas) handle requests made by users against query-backed data sources. The Immuta Metadatabase and Query Engine are sometimes a single PostgreSQL database. Other times, they run independently. | Port 5432 (normally encrypted with TLS) | Web Service |
Fingerprint Service | A stateless API that computes data source fingerprints and is used in Local Sensitive Data Detection. | Port 443 (normally encrypted with TLS) | Query Engine |
Cache (Memcached) | The in-memory key-value store used by the Immuta Web Service. |
Component | Description | Dependencies |
Nginx (Docker-specific) | A reverse proxy that is used to terminate TLS for the Immuta Web Service. | Web Service |
Ngnix Ingress Controller (Kubernetes-specific) | An ingress controller for Kubernetes used to expose the Immuta Web Service and Query Engine. Note: Users can disable the Ngnix Ingress Controller and replace it with an ingress controller of their own. | Web Service Query Engine |
This excerpt from an Immuta Tech Summit presentation goes into more detail about each of the components delineated above. As you watch the video, consider the following questions to frame your understanding:
For context, here are two simplified diagrams of the Immuta components in a Kubernetes and Docker deployment.