CockroachDB Self-Hosted
Self-hosted CockroachDB for resilient SQL workloads that need distributed transactions and scale-out storage.
Extra Small — up to 50 MB/s ingress with short retention windows
Monthly cost
$4,384.06
Annual cost
$52,609/year
| Compute | $3,228.06 |
| Storage | $1,156.00 |
| Other | $0.00 |
| Role | Instance | vCPU | GB RAM | Storage |
|---|---|---|---|---|
| Broker | 3 × n2-standard-16 | 16 | 64 | 2 TB |
| Kraft Controller | 3 × n2-standard-2 | 2 | 8 | 100 GB |
| Connect | 2 × n2-standard-2 | 2 | 8 | 50 GB |
| Schema Registry | 2 × n2-standard-2 | 2 | 8 | 50 GB |
| Control Center | 1 × n2-standard-4 | 4 | 16 | 300 GB |
Apache Kafka via Confluent Platform at the extra small tier maps to the departmental-cluster reference architecture on Google Cloud in us-central1. Compute is the largest line item in this estimate, accounting for 74% of monthly cost. High availability is not included here, so this baseline stays lean and leaves failover headroom out of the monthly total. Broker carries the heaviest storage footprint at 2 TB on each of its 3 nodes.
Share the current URL or copy the launch Terraform baseline.
terraform {
required_version = ">= 1.6.0"
required_providers {
google = {
source = "hashicorp/google"
version = "~> 6.0"
}
}
}
variable "project_id" {
description = "Google Cloud project ID for this deployment."
type = string
default = "replace-with-project-id"
}
provider "google" {
project = var.project_id
region = "us-central1"
zone = "us-central1-a"
}
# Generated for Google Cloud from the current estimate state.
resource "google_compute_disk" "broker_1_data" {
count = 3
name = "apache-kafka-confluent-platform-broker-1-data-${count.index + 1}"
type = "pd-ssd"
zone = "us-central1-a"
size = 2000
}
resource "google_compute_instance" "broker_1" {
count = 3
name = "apache-kafka-confluent-platform-broker-1-${count.index + 1}"
machine_type = "n2-standard-16"
zone = "us-central1-a"
boot_disk {
initialize_params {
image = "projects/debian-cloud/global/images/family/debian-12"
size = 50
type = "pd-balanced"
}
}
network_interface {
network = "default"
access_config {}
}
attached_disk {
source = google_compute_disk.broker_1_data[count.index].id
mode = "READ_WRITE"
}
labels = {
app = "apache-kafka-confluent-platform"
role = "broker"
}
}
resource "google_compute_disk" "kraft_controller_2_data" {
count = 3
name = "apache-kafka-confluent-platform-kraft-controller-2-data-${count.index + 1}"
type = "pd-ssd"
zone = "us-central1-a"
size = 100
}
resource "google_compute_instance" "kraft_controller_2" {
count = 3
name = "apache-kafka-confluent-platform-kraft-controller-2-${count.index + 1}"
machine_type = "n2-standard-2"
zone = "us-central1-a"
boot_disk {
initialize_params {
image = "projects/debian-cloud/global/images/family/debian-12"
size = 50
type = "pd-balanced"
}
}
network_interface {
network = "default"
access_config {}
}
attached_disk {
source = google_compute_disk.kraft_controller_2_data[count.index].id
mode = "READ_WRITE"
}
labels = {
app = "apache-kafka-confluent-platform"
role = "kraft-controller"
}
}
resource "google_compute_disk" "connect_3_data" {
count = 2
name = "apache-kafka-confluent-platform-connect-3-data-${count.index + 1}"
type = "pd-ssd"
zone = "us-central1-a"
size = 50
}
resource "google_compute_instance" "connect_3" {
count = 2
name = "apache-kafka-confluent-platform-connect-3-${count.index + 1}"
machine_type = "n2-standard-2"
zone = "us-central1-a"
boot_disk {
initialize_params {
image = "projects/debian-cloud/global/images/family/debian-12"
size = 50
type = "pd-balanced"
}
}
network_interface {
network = "default"
access_config {}
}
attached_disk {
source = google_compute_disk.connect_3_data[count.index].id
mode = "READ_WRITE"
}
labels = {
app = "apache-kafka-confluent-platform"
role = "connect"
}
}
resource "google_compute_disk" "schema_registry_4_data" {
count = 2
name = "apache-kafka-confluent-platform-schema-registry-4-data-${count.index + 1}"
type = "pd-ssd"
zone = "us-central1-a"
size = 50
}
resource "google_compute_instance" "schema_registry_4" {
count = 2
name = "apache-kafka-confluent-platform-schema-registry-4-${count.index + 1}"
machine_type = "n2-standard-2"
zone = "us-central1-a"
boot_disk {
initialize_params {
image = "projects/debian-cloud/global/images/family/debian-12"
size = 50
type = "pd-balanced"
}
}
network_interface {
network = "default"
access_config {}
}
attached_disk {
source = google_compute_disk.schema_registry_4_data[count.index].id
mode = "READ_WRITE"
}
labels = {
app = "apache-kafka-confluent-platform"
role = "schema-registry"
}
}
resource "google_compute_disk" "control_center_5_data" {
count = 1
name = "apache-kafka-confluent-platform-control-center-5-data-${count.index + 1}"
type = "pd-ssd"
zone = "us-central1-a"
size = 300
}
resource "google_compute_instance" "control_center_5" {
count = 1
name = "apache-kafka-confluent-platform-control-center-5-${count.index + 1}"
machine_type = "n2-standard-4"
zone = "us-central1-a"
boot_disk {
initialize_params {
image = "projects/debian-cloud/global/images/family/debian-12"
size = 50
type = "pd-balanced"
}
}
network_interface {
network = "default"
access_config {}
}
attached_disk {
source = google_compute_disk.control_center_5_data[count.index].id
mode = "READ_WRITE"
}
labels = {
app = "apache-kafka-confluent-platform"
role = "control-center"
}
}
Reference architecture: Apache Kafka via Confluent Platform for departmental-cluster, version Confluent Platform current self-managed deployment guidance, retrieved April 13, 2026.
https://docs.confluent.io/platform/current/kafka/deployment.html
Pricing: Google Cloud pricing snapshot, retrieved April 12, 2026.
Commercial pricing only. GovCloud, sovereign cloud, and discounts beyond those shown are not modelled.
Based on Confluent Platform self-managed deployment guidance and translated into VM-based planning tiers.
Estimate excludes producer and consumer application hosts, ksqlDB, Flink services, tiered storage, network transfer, and Confluent licensing.
Self-hosted CockroachDB for resilient SQL workloads that need distributed transactions and scale-out storage.
Self-managed Confluence Data Center for enterprise documentation, knowledge bases, and collaborative editing.
Self-managed Consul for service discovery, service mesh control, and network configuration across distributed workloads.