Choose your deployment
Overview
Before installing CAST Imaging, you make three choices:
- which platform to run it on
- which scenario to deploy (the set of components you install)
- which topology to use (how those components are distributed across machines).
This page explains the trade-offs for each choice so you can select the combination that fits your infrastructure and team.
Choosing a platform
The right platform is usually the one that matches your existing infrastructure and operational skills. CAST Imaging supports four platforms:
| Platform | Best for | Key characteristics | Notes |
|---|---|---|---|
| Microsoft Windows | Teams running Windows-only infrastructure | Native Windows install; no container runtime required | com.castsoftware.imaging.core (analysis engine) and a PostgreSQL instance must be obtained and installed separately |
| Linux with Docker | Most Linux deployments; teams comfortable with containers | Docker Compose-based; straightforward setup | WSL 2 is supported for testing only, not production use |
| Kubernetes via Helm | Cloud deployments (AWS, Azure, GCP) or teams with existing Kubernetes clusters | Helm chart deployment; supports AWS EKS, Azure AKS, GCP GKE, and on-premises clusters | Highest operational complexity; best when you need auto-scaling, cloud-native integration, or cluster-level isolation |
| Linux with Podman | Environments requiring rootless or daemonless container runtimes | Identical install media to Docker; additional Podman-specific prerequisites apply | Beta support in 3.5.x; full support from 3.6.x onwards |
Windows vs Linux containers
Choose Windows when your organisation has no Linux expertise, no container runtime available, or when security and patching policies favour native Windows services. All CAST Imaging components can be installed on a single Windows server or spread across multiple machines.
Docker vs Podman
If Docker is already in use in your environment, prefer Docker. Podman is a good fit when rootless or daemonless container operation is a hard requirement - for example, in environments where running a privileged daemon is not permitted. Be aware of the beta status of Podman support on 3.5.x if that version is relevant to you.
When to use Kubernetes
Kubernetes is the most capable option but also the most complex to operate. Choose it when one or more of the following applies:
- You already manage a Kubernetes cluster and want to run CAST Imaging within that existing environment.
- You are deploying in a cloud environment (AWS, Azure, or Google Cloud) and want to use the managed Kubernetes service provided by your cloud vendor - EKS, AKS, or GKE respectively - rather than provisioning and maintaining individual VMs. Using a managed Kubernetes service offloads cluster infrastructure management to the cloud provider and integrates naturally with cloud-native storage, networking, and identity services.
- You need auto-scaling, high availability, or cluster-level workload isolation.
If you are evaluating CAST Imaging, or if you are deploying on cloud VMs without an existing Kubernetes cluster, Docker is a simpler starting point that requires less operational overhead.
Choosing a scenario
A scenario defines which CAST Imaging components you install. Every deployment includes imaging-services and requires a PostgreSQL database; beyond that, you choose whether to include analysis, the Viewer, and the Dashboards. The five supported scenarios are:
| Scenario | Analysis | Viewer | Dashboards | Use when… |
|---|---|---|---|---|
| S1 - All Components | ✅ | ✅ | ✅ | Full CAST Imaging: analysis, Viewer and Dashboards |
| S2 - Viewer Only | ❌ | ✅ | ❌ | Read-only Viewer access - analysis runs on a separate installation |
| S3 - Viewer + Analysis | ✅ | ✅ | ❌ | Run analysis and view results; no Dashboards component |
| S4 - Dashboards Only | ❌ | ❌ | ✅ | Read-only Dashboards access - analysis runs on a separate installation |
| S5 - Dashboards + Analysis | ✅ | ❌ | ✅ | Run analysis and view aggregated Dashboard results; no Viewer component |
You select your scenario in the platform-specific install guide for Windows, Docker, or Podman. Kubernetes deployments are organised by cloud provider rather than by scenario - see the Kubernetes installation guide.
Choosing a topology
Once you have chosen a platform and scenario, decide how to distribute the selected components across machines. The two topologies available on Windows, Docker and Podman are single-machine and multi-machine. The read-only scenarios S2 (Viewer Only) and S4 (Dashboards Only) are offered as single-machine only. Kubernetes deployments manage distribution differently through cluster scheduling and are covered in the Kubernetes installation guide.
Single-machine installation
All the components included in your scenario - for a full deployment that means imaging-services, imaging-viewer, dashboards, analysis-node, and PostgreSQL - run on one server.
- Simpler to set up and maintain; no cross-machine networking to configure.
- Suitable for proof-of-concept or evaluation, small teams, or environments where only one machine is available.
- Trade-off: analysis is compute-intensive. On a shared machine it competes with other services for CPU and memory, which can affect both analysis speed and result browsing performance.
Multi-machine installation
Components are distributed across two or more machines. Typically imaging-services, imaging-viewer, dashboards, and PostgreSQL share one machine, while the analysis-node runs on a separate dedicated machine.
- The
analysis-nodecan be scaled horizontally: register multiple nodes to the sameimaging-servicesinstance to run analyses in parallel across multiple applications. - Suitable for production environments, large or numerous codebases, and teams that need analysis to run without impacting result browsing.
- Trade-off: more machines to provision and maintain; network connectivity between machines must be correctly configured.
Advanced topology (Docker and Podman): for scenarios that include the Viewer (S1, S2, S3), you can run Neo4j on its own dedicated machine, separate from the Viewer services - useful for performance isolation and to update CAST Imaging independently of Neo4j. See Neo4j on a dedicated machine for Docker, or the Podman equivalent.
Quick-reference
| Situation | Recommended topology |
|---|---|
| Evaluation or proof of concept | Single machine |
| Small team with few applications | Single machine |
| Limited hardware budget | Single machine |
| Production environment with many large applications | Multi-machine |
| Dedicated analysis capacity required | Multi-machine |
| Analysis performance affecting result browsing | Multi-machine |
Next steps
Review the CAST Imaging components overview if you need a refresher on what each component does and how they relate to one another. Then navigate to the installation guide for your chosen platform: