Chapter 30Lesson 03~145 minutes

Data Center Edition, Clustering, High Availability, and Scale: Configuration, Design Patterns, and Trade-Offs

Choose between single-node Server and Data Center Edition, application versus search scaling, VM versus Kubernetes deployment, and availability versus disaster recovery using explicit evidence and capacity limits.

Data Center EditionClusteringHigh AvailabilityScaleOperations

Learning objectives

  • Decide when single-node Server is sufficient and when DCE’s licensed failure isolation is justified.
  • Choose application-node versus search-node scaling from measured bottlenecks.
  • Design load-balancer health checks without inventing sticky-session requirements.
  • Compare VM/physical/Docker and Kubernetes DCE deployment models without confusing orchestration with clustering semantics.
  • Separate availability from disaster recovery and upgrade/migration constraints.
  • Use a worked decision table that records edition, topology, evidence, rollback, and capacity assumptions.

1. Single-node Server versus Data Center Edition

Data Center Edition is not the “large server” switch. It is a licensed distributed architecture intended for resilience and scale. A well-sized Enterprise single-node installation can still be operationally simpler and may be the right answer when node-level HA is not required. DCE becomes compelling when the service objective explicitly requires application/search node fault tolerance or when measured compute scale justifies horizontal application-node capacity.

Need Single-node Server Data Center Edition
Simple operational model Strong advantage More moving parts and network invariants
Survive one application-node loss No Yes, with minimum/default topology healthy
Survive one search-node loss No independent search tier Yes, with three-node search cluster and remaining health
Horizontal CE/Web compute Vertical scaling Add application nodes, up to current documented limit
Operational cost Lower Higher: LB, 5+ nodes, DB HA, monitoring, networking, licensing

2. Application scaling versus search scaling

Current DCE scaling documentation explicitly supports adding application nodes—up to ten total—to increase computing capabilities. That does not mean ten app nodes are always useful. Horizontal application growth helps when Web or Compute Engine is the proven bottleneck and the database/search tiers can sustain the added concurrency.

Search scaling is constrained by Elasticsearch cluster design, storage latency, heap/GC, index size, and quorum/availability semantics. Search nodes are generally sized with more CPU/RAM than application nodes, and Sonar recommends SSDs. Do not add search nodes merely because scanner throughput increased; first observe es.log, search health, disk, JVM metrics, and indexing/query latency.

3. Load-balancer design: health and forwarded traffic, not session tricks

The load balancer must distribute HTTP requests across application nodes, terminate HTTPS correctly if that is its role, and remove unhealthy backends from routing. Current SonarSource DCE requirements explicitly state that sticky sessions are not required because the built-in JWT mechanism handles session behavior.

Required LB contract
- backends: every healthy application node only
- health: application status endpoint that identifies routable nodes
- HTTPS: preserve correct reverse-proxy headers/base URL semantics
- capacity: backend connection/request limits sized from evidence
- no public route to 9001/9002/9003 cluster ports
- no assumption that LB health proves CE/search/database health

4. Physical/VM/Docker versus Kubernetes DCE

Traditional nodes

Explicit hosts, cluster properties, private networks, and external load balancer. Easier to see every role directly; more host-level operations.

Docker

Separate DCE application/search images and containers. Sonar recommends different Docker hosts for production roles; a single Docker host is a test pattern, not HA.

Kubernetes / Helm

Official DCE chart separates applicationNodes and searchNodes. Scheduling/topology spread can distribute pods, but the same DCE role, database, license, version, and search semantics remain.

Orchestration does not eliminate the shared database requirement or transform a single failure domain into true HA. If every pod, database, ingress, and persistent dependency sits on one physical host or one failure zone, the YAML may look distributed while the service is not resilient.

5. Current Kubernetes considerations

The current DCE Helm chart exposes separate image tags for applicationNodes and searchNodes, with topology-spread examples for availability zones. Current chart guidance also emphasizes memory requests/limits that reflect JVM heap requirements. Treat these as starting points; Chapter 31 will turn workload evidence into sizing decisions.

# Illustrative fragment — not a full install manifest.
applicationNodes:
  replicaCount: 2
  image:
    tag: 2026.4.1-datacenter-app
searchNodes:
  replicaCount: 3
  image:
    tag: 2026.4.1-datacenter-search
# external database and real secret references omitted intentionally

Pin chart/image versions and verify the exact current chart schema before use. Do not copy this fragment into production as a complete values file.

6. Availability versus disaster recovery

DCE reduces outage from certain node failures. It does not solve database corruption, destructive configuration changes, lost credentials, region loss, or a bad schema migration. Those are DR/backup/change-management problems. A production design therefore needs both:

  • HA objective: what node/AZ failures must the live cluster absorb?
  • DR objective: what RPO/RTO applies when the durable database or whole cluster must be restored?
  • Rollback boundary: what can be reversed in place and what requires database restore?

7. DCE upgrades are coordinated cluster changes

Do not infer that a distributed deployment supports unconstrained rolling upgrades. Current guidance requires coordinated upgrade behavior, including database migration through /setup when required. For Helm DCE upgrades, search pods become ready first and only one application replica is brought up while the database migration is pending. Plugin installation/update also requires cluster downtime across application nodes. Chapter 29’s supported-path and backup discipline remains the governing model.

8. Worked decision table

Scenario Choice Prerequisite Observable evidence
50-person team, low CE queue, four-hour maintenance window acceptable Stay single-node unless HA SLO says otherwise Correct sizing + tested DR Low resource/queue pressure; SLO does not require node failover
CE queue saturates during global workday; DB/search healthy DCE + scale application nodes DCE license and default topology CE queue/CPU prove app-tier bottleneck
Search heap/disk latency high; CE CPU moderate Repair/resize search tier first Search health/storage evidence es.log, heap/GC, disk latency
Region-loss RTO required Add DR architecture; DCE alone is insufficient Backups, externalized config/secrets, restore rehearsal Recovery test IDs and measured RTO/RPO
Kubernetes chosen for operations standardization Official DCE Helm deployment DCE license, supported K8s/chart, external DB Role replicas, topology spread, readiness, DB/search health

Knowledge check

When should you add application nodes?

Does Kubernetes make an undersized search tier disappear?

Why can sticky sessions be omitted?

Can a DCE cluster replace backup/restore drills?

Can you upgrade application nodes one at a time while leaving mixed versions running indefinitely?

Next lesson

Diagnose clustered failures by owning layer

Lesson 4 practices mixed-version, network, search-storage, database, and wrong-layer scaling failures without hiding first-failure evidence.

Official references and version notes

Version and compatibility note

Baseline: Community Build 26.9.0.129388; SonarScanner CLI 8.1.0.6389. Evidence continuity preserves ceTaskId as the Compute Engine task identity. Rechecked 2026-09-08. Mandatory executable examples remain Community Build 26.9.0.129388 with SonarScanner CLI 8.1.0.6389. DCE examples model the current SonarQube Server 2026 Release 4.1 / 2026.4.1 commercial architecture and require a valid Data Center Edition license for real execution. Current minimum/default DCE topology is two application plus three search nodes; one application and one search node may be lost without user impact when remaining dependencies are healthy. Application nodes can currently scale up to ten. Default private network paths are LB→app 9000, app→search 9001, search→search 9002 and app→app/Hazelcast 9003. Current supported PostgreSQL versions are 14–18. Recheck the exact target release, DCE license, Java/database matrix, Helm/chart version, plugin matrix, Kubernetes/OpenShift matrix, network properties, and update notes immediately before any real deployment.

Keep the academy open

Support free, practical DevOps education.

Every lesson is designed to remain readable in a browser, downloadable from GitHub, and usable without a paid learning platform. Contributions help expand and maintain the curriculum.

Ethereum / ERC-20
0x716c4Ab160C4B66F31a28AE2448BfF68fc3a2ef0Send only Ethereum/ERC-20 compatible assets to this address.