IVAAP Technical Data Sheet
IVAAP Technical Requirements Overview
IVAAP 2025.1
Software requirements¶
IVAAP requires a modern browser that supports HTML5 Canvas and WebSockets, and is only tested against Chrome, Edge, and Safari. For 3D views, WebGL must be supported.
Platform Capabilities (Summary)¶
IVAAP is a development and visualization platform that includes:
- A built-in formula engine for reusable scalar and array-based calculations
- SDKs for application development (JavaScript Client SDK and Java Data Backend SDK)
- Configurable branding and UI customization
- License-based enablement using SLB-supported licensing mechanisms
Server requirements (single host)¶
To ensure optimal performance and compatibility, IVAAP should be deployed on a dedicated server with no other services running concurrently.
Database Requirements:
- IVAAP relies on a PostgreSQL database and optionally supports MongoDB for specific use cases.
Java SDK Development:
- For deployments involving the Java Data Backend SDK, it is recommended to install Oracle JDK 21 on the host system during development.
- IVAAP container images for Java components are packaged with OpenJDK 21, and preconfigured base images are available for building custom datanode containers if needed.
Data Connectivity and Supported Connectors:
IVAAP supports a broad set of data connectivity options to integrate with existing enterprise and industry-standard data sources, including:
- OSDU services across cloud providers (AWS, Azure, GCP, IBM)
- Cloud object storage (S3, Azure Blob, Google Cloud Storage)
- WITSML (1.3.1 with limitations, 1.4.1)
- PPDM 3.8 data model
- SQL databases (PostgreSQL, SQL Server, Oracle, MySQL) for tabular data access
- MongoDB for table-based and well-based data, including write-back scenarios
Supported data formats include seismic (SEG-Y, OpenVDS, OpenZGY, etc.) and well data (LAS, DLIS), depending on the connector used.
Container Orchestration:
- A typical single-instance deployment uses k3s to orchestrate OCI-compliant container images.
Ensure the runtime environment is compatible with k3s version 1.30 or higher.
Operating System Compatibility:
- SLB’s preferred OS distribution is Ubuntu LTS, with primary testing conducted on Ubuntu 22.04.
- IVAAP has also been successfully deployed on Amazon Linux 2+, RHEL 9, and other Linux distributions.
- Note: Non-Ubuntu systems may introduce native code dependency issues that could affect certain SDK functions.
Architecture Requirement:
- IVAAP currently supports only x86_64 CPU architecture.
Server System Requirements¶
IVAAP is a modular, scalable platform composed of microservices that can be deployed in environments ranging from lightweight development setups to full-scale production infrastructure. The system’s resource needs vary based on the number of active features, concurrent users, and data volume.
If deploying on virtual machines, it's recommended to scale resources dynamically as development progresses and requirements evolve. IVAAP images are built for x86_64 architecture.
Single Host Deployment Guidelines¶
Low to Medium Usage (Development or Light Production)
- CPU: 8-core modern processor
- Memory: 32+ GB RAM (based on nodes/features)
- Storage: 80 GB SSD minimum
- Directories:
/var/lib/rancher(k3s): ≥ 40 GB/opt/ivaap: ≥ 40 GB
- Suggested EC2 Class:
m(x).2xlarge
High Usage (Production with Heavy Activity)
- CPU: 16+ core modern processor
- Memory: 32–64+ GB RAM
- Storage: 100 GB SSD minimum
- Directories:
/var/lib/rancher(k3s): ≥ 60 GB/opt/ivaap: ≥ 80 GB
- Suggested EC2 Class:
m(x).4xlargeor higher - Note: Seismic workloads using VDS/ZGY OpenSeismic libraries require significantly more resources.
Multi Host Orchestration Environments¶
IVAAP can be deployed beyond single-host setups using Kubernetes-compatible orchestration platforms such as:
- AWS EKS
- Azure AKS
- Red Hat OpenShift
Instead of using k3s, the Helm chart template enables scalable deployment across these platforms. IVAAP containers do not require elevated privileges, making them suitable for secure, enterprise-grade environments.
Kubernetes/OpenShift Resource Guidelines¶
These starting points reflect typical pod resource requirements. Performance is best when CPU limits are not set, and in large clusters, memory requests may also be omitted. SLB recommends managing resources at the pod or node level, not the container level. If container-level limits are required, set memory requests equal to memory limits.
Pod Resource Overview
Note: For optimal performance, SLB recommends managing resources at the pod or node level rather than setting strict container-level CPU or memory limits. Memory requests and limits should be aligned if limits are required.
| Pod Type | Description | Requests (CPU / Memory) | Limits (Memory) | Notes |
|---|---|---|---|---|
| IVAAPServer | Single Java container | 500m / 512Mi | 4Gi | May benefit from ≥8 vCPU in high usage |
| Admin Client | NGINX serving static JS site | 100m / 128Mi | 1Gi | Low resource usage |
| Viewer | Two NGINX containers for static JS sites | 100m / 128Mi (each) | 1Gi (each) | Low resource usage |
| Backend Data Platform | JVM cluster with Akka network (6 core containers) | 2500m / 3840Mi (total) | 13Gi (each) | Additional containers per data type |
| Backend Data Platform | Additional connector container | 1000m / 512Mi | 2–128Gi | Depends on workload; seismic requires more |
| Backend Tasks | JVM containers for real-time features | 100m / 64Mi per task | 6–10Gi | Typically 3–4 tasks in real-time setups |
| Ingress Proxy | NGINX routing HTTP/WebSocket traffic | 250m / 256Mi | 1Gi | — |
PostgreSQL Requirements¶
IVAAP requires a PostgreSQL 17.x instance to store dashboards and user/project metadata. SLB recommends using a managed cloud database or a dedicated external instance located in the same datacenter as the IVAAP AdminServer.
Key Requirements:¶
- Latency: <100ms (ideal: 20–60ms) - This can be confirmed with the
/IVAAPServer/api/v2/testresultsAPI. - Connections: 30–60 per IVAAP instance (max 100 recommended)
- Disk Usage: Typically 1–3 GB; up to 15 GB in large deployments
Required Extensions:¶
CITEXT,FUZZYSTRMATCH,PG_BUFFERCACHE,PG_STAT_STATEMENTS,PLPGSQL,
POSTGIS,POSTGIS_TIGER_GEOCODER,POSTGIS_TOPOLOGY,UUID-OSSP
Network Connectivity¶
- Ports: HTTP/HTTPS (80/443) must be open for browser access
- Data Source Proximity: IVAAP should be deployed close to its data sources to avoid latency
- Proxy Disclosure: If a corporate proxy is used, SLB must be informed for configuration
OSDU Seismic Data Support¶
IVAAP supports seismic data stored in cloud object storage or Seismic DDMS, including:
Cloud Storage:
- SEG-Y files
- OpenVDS
Seismic DDMS:
- SEG-Y files
- OpenVDS
- OpenZGY
Note: For AWS, Seismic DDMS data must reside in the same region as the IVAAP deployment.
Security & Access¶
- Authentication: OAuth2, SAML, LDAP integration
- Data Access: Role-based permissions, secure APIs
- Cloud Compatibility: Azure, AWS, GCP, OSDU-compliant