Catalog / Databases & caches

Apache Druid

Real-time OLAP database for sub-second queries over streaming and batch data

CIS Level 1 hardened Ubuntu 24.04 LTS image by Lynxroute · unique credentials at first boot · CVE-scanned · SBOM and CIS report inside

Availability and pricing
CloudVersionSoftware priceLast build
Azure Marketplace
VM image · plan payg-gen2 · Gen2
37.0.0$0.028/vCPU/hr
Recommended VM: Standard_D4s_v3
2026-08-10Listing ↗

Software price only; cloud infrastructure is billed separately by the provider. Prices in USD.

Image facts
Base OSUbuntu 24.04 LTS
HardeningCIS Level 1, Ubuntu 24.04 LTS (tailored)
LicenseApache-2.0
UpstreamApache Software Foundation
Machine-readableproduct.json · catalog.json
What is Apache Druid

Apache Druid is a high-performance real-time OLAP database built for sub-second analytical queries over both streaming and historical data. It stores data in a columnar format with time-based partitioning, bitmap indexes and automatic rollup, which lets it answer aggregations, group-bys, top-Ns and time-series queries over billions of rows interactively. Druid is written in Java and runs as a set of cooperating services - broker, coordinator, overlord, historical and middle manager - coordinated through Apache ZooKeeper. It exposes both a native JSON query API and full ANSI-style SQL, and ships a browser-based console for data loading, query authoring, segment management and cluster monitoring. Typical workloads are clickstream and product analytics, application and network telemetry, operational dashboards, digital marketing analytics and real-time fraud detection. Data can be ingested in batch from files or object storage, or continuously from Apache Kafka. Apache-2.0 license, no vendor lock-in.

What the Lynxroute image adds

This image runs Druid as a complete single-server cluster. The metadata store (embedded Apache Derby), deep storage (local disk) and coordination (bundled Apache ZooKeeper) all run on the instance, so the product is usable the moment it boots with nothing external to provision. Buyers who outgrow it can point deep storage at Amazon S3 and the metadata store at PostgreSQL or MySQL - all three extensions ship in the image.

Security hardening:

  • Unique console password generated at first boot and written to a root-only credentials file - nothing is baked into the image
  • All six Druid services bound to 127.0.0.1 only - the query broker, coordinator, overlord, historical, middle manager and the ingestion task workers are unreachable from the network
  • Apache ZooKeeper client port and the embedded metadata store bound to 127.0.0.1 only - neither is exposed externally
  • nginx terminates TLS on port 443 as the single entry point and gates the console, the REST API and the SQL endpoint behind authentication - Druid has no built-in authentication of its own
  • JavaScript query extension points disabled, so untrusted query input cannot execute code inside the service JVMs
  • Automatic memory sizing for all six JVMs derived from instance RAM, with headroom reserved for the OS
  • UFW firewall pre-configured - only 22, 80 and 443 open; all Druid, coordination and metadata ports blocked externally
  • fail2ban SSH brute-force protection and AppArmor mandatory access control
  • CVE scan - every image is scanned for vulnerabilities before release

OS hardening (CIS Level 1):

  • CIS Ubuntu 24.04 LTS Level 1 benchmark applied via ansible-lockdown
  • auditd, SSH hardening, Kernel hardening, IMDSv2 enforced

Compliance artifacts:

  • SBOM - CycloneDX 1.6 at /etc/lynxroute/sbom.json
  • CIS Conformance Report at /etc/lynxroute/cis-report.html
  • CIS Tailored Profile at /usr/share/doc/lynxroute/CIS_TAILORED_PROFILE.md
Deploy

Launch in one command

Credentials are generated at first boot and written to /root/druid-credentials.txt.

# accept the plan terms once, then:
az vm image terms accept --publisher lynxroute --offer druid --plan payg-gen2
az vm create -g my-rg -n druid --size Standard_D4s_v3 \
  --image lynxroute:druid:payg-gen2:latest --admin-username azureuser --generate-ssh-keys
Release notes

Latest release

The most recent release with notes; the full release history is in product.json.

Apache Druid 37.0.0 - Initial release (August 2026)

Azure · 2026-08-10
  • Apache Druid 37.0.0 on Ubuntu 24.04 LTS
  • Self-contained single-server cluster - embedded metadata store, local deep storage and bundled Apache ZooKeeper, no external services to provision
  • CIS Level 1 hardening applied (ansible-lockdown/UBUNTU24-CIS)
  • CVE-scanned before every release
  • Unique console password generated at first boot, written to a root-only credentials file
  • All six Druid services plus the coordination and metadata ports bound to 127.0.0.1 only
  • nginx TLS reverse proxy on 443 as the single authenticated entry point
  • JavaScript query extension points disabled
  • Automatic JVM memory sizing derived from instance RAM
  • UFW firewall pre-configured (ports 22, 80, 443 only)
  • fail2ban, auditd, AppArmor pre-configured
  • SBOM (CycloneDX 1.6) at /etc/lynxroute/sbom.json
  • CIS Conformance Report (OpenSCAP) at /etc/lynxroute/cis-report.html
  • IMDSv2 enforced