On-Prem Deployment Specifications

Complete the Prerequisites first. The Middleware team will provide the installation guide.

Below are the deployment specs (nodes, IPs, ports, URLs) usually needed for internal approval by your infrastructure and security teams.

Compute#

TierDaily ingestNodes (AWS)Nodes (Azure)Total capacity
Evaluationup to 25 GB/day3 × m6i.xlarge3 × D4s_v512 vCPU / 48 GB
Standardup to 500 GB/day4 × m6i.2xlarge4 × D8s_v532 vCPU / 128 GB
High volume~1 TB/day6 × m6i.2xlarge6 × D8s_v548 vCPU / 192 GB
ItemSpec
Kubernetes versionv1.25 or newer
Node root disk100 GB per node (50 GB is enough for the evaluation tier). Sized for container images
Optional database node pool1 node, 8 core / 32 GB, taint dedicated=database:NoSchedule (ClickHouse tolerates it; set clickhouse.clusters.db1.nodeSelector to pin ClickHouse there)
Pod count~30 pods at baseline; autoscaling can add up to ~45 more under load

Storage#

ItemSpec
Block storage (persistent volumes)~260 GB with the default volume sizes, default storage class with dynamic provisioning
Object storage1 S3 bucket / Blob container; data older than 14 days moves there and is kept for the retention period (default 365 days), so it grows with daily ingest × retention
Object storage accessAccess key scoped to the Middleware bucket only

IP Addresses#

PurposeCount
Load balancer1 (public, or internal if agents and users reach it privately)
Nodes3-6 (per compute tier)
Pod IPs — EKS default CNI onlyReserve 128-256 free IPs: ~40 pods at baseline (~30 platform + Kubernetes system pods), up to ~90 at peak, and AWS networking holds some spare IPs per node. Can be tuned lower if subnets are tight
Pod IPs — overlay CNI (AKS overlay, kubenet)None from your subnets; only node + load balancer IPs
Recommended subnets (EKS)2 subnets in different availability zones, 256 IPs (/24) each. EKS requires 2 zones at cluster creation; run all nodes in a single zone (avoids cross-zone transfer costs and volume-affinity issues)

Ports#

DirectionPortSource / DestinationPurpose
Inbound443/TCPAgent networks + UI user networks → load balancerTelemetry ingest (OTLP over TLS) and web UI
Inbound443/TCPInstaller workstation → Kubernetes API endpointhelm / kubectl during install
Outbound443/TCPCluster → URLs listed belowImage pulls, storage, email

No other inbound ports are required. All service-to-service traffic stays inside the cluster.

Outbound URLs#

URLPurpose
ghcr.ioMiddleware images + helm chart
docker.io, registry-1.docker.ioThird-party images
docker.redpanda.comThird-party images
S3 / Blob endpoint (e.g. s3.<region>.amazonaws.com or <account>.blob.core.windows.net)Telemetry storage
app.middleware.ioOutgoing emails (alerts, user invites, password resets)

DNS & TLS#

ItemSpec
DNS1 record (A or CNAME) pointing your Middleware domain to the load balancer
TLS certificateIssued for that domain; terminated by Middleware's HAProxy behind the load balancer. Agents must trust the issuing CA

Want to deploy Middleware in your own environment? Get in touch with us via our Contact Us or join our Slack channel.

What did you think of this content?