Panduan Google Cloud: Bagaimana Menerapkan Predictable AI spend in BigQuery: Introducing cost di Production?
Ringkasan: Google Cloud telah merilis fitur manajemen biaya (cost management) berbasis token untuk fungsi Generative AI di BigQuery secara General Availability (GA). Fitur ini memungkinkan administrator untuk menetapkan kuota harian pada level project dan user melalui IAM, mencegah lonjakan tagihan (bill shock) saat menjalankan fungsi seperti AI.GENERATE atau AI.CLASSIFY pada jutaan baris data. Dengan kontrol preventif ini, tim data dapat mengeksekusi workload LLM skala besar langsung di dalam data warehouse dengan predictable spend dan guardrails yang ketat.
Apa yang Baru Dirilis Google Cloud & Masalah Enterprise yang Diselesaikan
Dalam lanskap arsitektur data modern, memindahkan data dalam jumlah masif (data egress) dari data warehouse ke layanan eksternal untuk inferensi Machine Learning adalah sebuah anti-pattern. Proses ini tidak hanya memicu latensi jaringan yang signifikan, tetapi juga menciptakan celah keamanan dan kompleksitas operasional. Untuk mengatasi hal ini, BigQuery overview memperkenalkan fungsi Generative AI bawaan (AI.GENERATE, AI.CLASSIFY, AI.SCORE, AI.IF, dll.) yang membawa Large Language Models (LLMs) langsung ke dalam eksekusi SQL Anda.
Namun, inovasi ini membawa tantangan arsitektural baru: ledakan token yang tidak terprediksi. Karena fungsi-fungsi ini ditagih berdasarkan jumlah token yang diproses oleh model (seperti gemini-2.5-pro atau gemini-2.5-flash), sebuah query sederhana yang tidak sengaja melakukan cross-join pada tabel berisi jutaan baris dapat menghabiskan anggaran IT bulanan hanya dalam hitungan menit.
Untuk memitigasi risiko ini, Google Cloud secara resmi merilis Using BigQuery’s generative AI cost management features. Fitur ini memperkenalkan empat kuota harian yang dikelola melalui sistem Google Cloud Identity and Access Management (IAM):
- AI input tokens per day: Batas total token input yang dievaluasi oleh LLM per hari, per project. (Default: 200 miliar token).
- AI input tokens per day per user: Batas token input per pengguna individu di dalam sebuah project. (Default: 150 miliar token).
- AI output tokens per day: Batas total token output (termasuk thinking tokens atau token penalaran) yang dihasilkan oleh LLM per hari, per project. (Default: 20 miliar token).
- AI output tokens per day per user: Batas token output per pengguna individu. (Default: 15 miliar token).
Secara arsitektural, sangat penting untuk memahami perbedaan mendasar antara Token Quotas dan Cloud Billing Spend Caps. Spend caps beroperasi pada level finansial (dolar) dan bersifat reaktif; penegakannya tidak instan karena bergantung pada ekspor billing yang memiliki delay, sehingga overage (kelebihan penggunaan) masih bisa terjadi. Sebaliknya, Token Quotas bersifat preventif dan spesifik untuk AI. BigQuery melacak penggunaan token secara sinkron selama query execution dan akan menghentikan proses secara langsung saat mendekati batas limit.
Fungsi yang dicakup oleh kuota ini adalah fungsi berbasis generasi teks seperti AI.GENERATE_TEXT, AI.CLASSIFY, dan AI.AGG. Perlu dicatat bahwa fungsi embedding seperti AI.GENERATE_EMBEDDING tidak terpengaruh oleh kuota ini karena berjalan pada model yang berbeda dengan struktur biaya yang jauh lebih murah.
Use Case Nyata di Lapangan: Ide Implementasi Praktis
Sebagai DO-AI, ketika mengevaluasi topologi produksi di berbagai enterprise, kami melihat fitur manajemen biaya ini membuka kunci untuk beberapa skenario kritis:
1. High-Throughput Enterprise Workloads: Analisis Sentimen E-Commerce
- Masalah Sehari-hari: Platform e-commerce memiliki jutaan ulasan produk baru setiap harinya. Tim Product ingin melakukan analisis sentimen dan ekstraksi entitas (misalnya, keluhan tentang "pengiriman lambat" atau "barang cacat"). Mengekspor data ini ke microservice eksternal memakan waktu berjam-jam dan rentan terhadap timeout.
- Cara Kerja di Praktik: Tim Data Engineer menggunakan fungsi
AI.SCORE dan AI.CLASSIFY langsung di BigQuery untuk memproses ulasan secara paralel. Untuk mencegah query yang tidak dioptimalkan menghabiskan budget, Cloud Architect menetapkan "AI input tokens per day" sebesar 50 miliar token.
- Dampak Nyata: Pemrosesan data terjadi dengan zero data movement. Jika terjadi lonjakan ulasan palsu (bot attack) yang memicu pemrosesan berlebih, kuota IAM akan memblokir eksekusi lebih lanjut, melindungi perusahaan dari tagihan infrastruktur yang membengkak.
2. Zero-Trust Governance & IAM: Isolasi Multi-Tenant Data Platform
- Masalah Sehari-hari: Dalam arsitektur Data Mesh, satu project BigQuery sering kali digunakan bersama oleh tim Marketing, Data Science, dan Customer Support. Tanpa isolasi, satu script eksperimental dari tim Marketing dapat menghabiskan seluruh kapasitas AI project, menyebabkan pipeline produksi tim Data Science gagal beroperasi.
- Cara Kerja di Praktik: Administrator menerapkan prinsip least-privilege dengan memanfaatkan "AI input tokens per day per user". Tim Marketing diberikan batas 5 miliar token per hari, sementara Service Account produksi untuk Data Science diberikan batas 100 miliar token.
- Dampak Nyata: Blast radius dari query yang buruk berhasil diisolasi. Governance menjadi lebih transparan, dan setiap departemen dipaksa untuk mengoptimalkan prompt mereka agar sesuai dengan kuota masing-masing.
3. Production FinOps & Unit Economics: Klasifikasi Tiket Dukungan Pelanggan
- Masalah Sehari-hari: Kepemimpinan IT menuntut visibilitas terhadap Cost-per-Request untuk setiap tiket dukungan yang diklasifikasikan oleh AI. Tanpa metrik yang jelas, sulit untuk membenarkan ROI dari implementasi Generative AI.
- Cara Kerja di Praktik: Sebelum menjalankan fungsi generasi, tim menggunakan
AI.COUNT_TOKENS untuk mengukur baseline ukuran input. Berdasarkan data ini, mereka beralih dari model heavyweight ke gemini-2.5-flash yang lebih ringan dan murah, lalu menetapkan kuota harian yang secara matematis selaras dengan anggaran FinOps bulanan.
- Dampak Nyata: Unit economics menjadi sangat terprediksi. Perusahaan dapat menghitung secara pasti bahwa memproses 10.000 tiket akan memakan biaya sekian sen, selaras dengan Well-Architected Framework: Cost optimization pillar.
Arsitektur Referensi di Google Cloud
Untuk mengimplementasikan solusi ini di lingkungan produksi, kita memerlukan arsitektur yang menggabungkan sumber data operasional, data warehouse analitik, mesin AI, dan lapisan governance.
flowchart LR
subgraph "Operational Data Layer"
CSQL[(Cloud SQL PostgreSQL HA)]
Datastream[Datastream CDC]
end
subgraph "Google Cloud Platform - Data & AI Core"
BQ[BigQuery Data Warehouse]
IAM[IAM Quotas & System Limits]
Vertex[Vertex AI Gemini 2.5 Flash/Pro]
Audit[Cloud Logging & Monitoring]
CSQL -->|Change Data Capture| Datastream
Datastream -->|Real-time Ingestion| BQ
BQ -->|1. Execute AI.CLASSIFY| IAM
IAM -->|2. Synchronous Quota Check| Vertex
Vertex -->|3. Return LLM Output| BQ
IAM -.->|QuotaExceeded Error Event| Audit
BQ -.->|Token Usage Metrics| Audit
end
subgraph "Consumers"
Looker[Looker Dashboards]
BQ -->|Aggregated Insights| Looker
end
Analisis Komponen Arsitektur:
- Cloud SQL PostgreSQL HA: Bertindak sebagai System of Record (SoR) untuk aplikasi transaksional. Menggunakan konfigurasi About high availability in Cloud SQL, data direplikasi secara real-time ke BigQuery menggunakan Datastream atau diakses langsung melalui Federated Queries.
- BigQuery Data Warehouse: Pusat komputasi analitik. Di sinilah fungsi
AI.CLASSIFY atau AI.GENERATE dieksekusi. BigQuery menangani paralelisasi workload LLM secara otomatis di bawah kap.
- IAM Quotas & System Limits: Lapisan guardrail krusial. Sebelum BigQuery mengirimkan batch data ke Vertex AI, ia memverifikasi sisa kuota token secara sinkron. Jika kuota habis di tengah eksekusi query, perilaku BigQuery bergantung pada fungsi yang digunakan. Fungsi yang mendukung
max_error_ratio (seperti AI.IF) akan mengembalikan hasil parsial untuk baris yang berhasil diproses, sementara baris yang dilewati akan memiliki status error quota-exceeded. Fungsi general-purpose seperti AI.GENERATE akan gagal sepenuhnya jika kuota habis.
- Vertex AI (Gemini 2.5 Flash/Pro): Endpoint inferensi model. Untuk workload klasifikasi massal,
gemini-2.5-flash adalah standar produksi tahun 2026 karena kecepatan dan efisiensi biayanya.
- Cloud Logging & Monitoring: Menyediakan visibilitas historis terhadap konsumsi token. Administrator dapat melihat tren penggunaan 7 hari, 14 hari, atau 30 hari untuk mendeteksi anomali dan menyesuaikan budget.
Implementasi Langkah demi Langkah
Implementasi cost management untuk Generative AI di BigQuery memerlukan pendekatan multi-fase: profiling, provisioning, dan execution.
Langkah 1: Profiling Data dengan AI.COUNT_TOKENS
Sebelum menetapkan kuota atau menjalankan query yang memakan biaya, Anda harus mengetahui berapa banyak token yang akan dihasilkan oleh data Anda. Fungsi AI.COUNT_TOKENS menggunakan tokenizer model untuk menghitung token tanpa melakukan pemanggilan generasi yang ditagih (billable generation call).
-- Menghitung estimasi token input untuk seluruh tabel tiket dukungan
SELECT
SUM(
AI.COUNT_TOKENS(
CONCAT(
'Classify the urgency of this support ticket as HIGH, MEDIUM, or LOW. Ticket content: ',
ticket_description
),
endpoint => 'gemini-2.5-flash'
).result
) AS total_estimated_input_tokens
FROM
`enterprise_data.customer_ops.support_tickets`
WHERE
status = 'OPEN';
Catatan Arsitektural: Angka yang dikembalikan adalah batas bawah (lower bound). Ini tidak mencakup output tokens, thinking tokens, atau instruksi sistem internal yang ditambahkan oleh BigQuery. Gunakan angka ini sebagai baseline untuk mengalokasikan kuota.
Langkah 2: Otomatisasi Kuota via Terraform (Infrastructure as Code)
Meskipun Anda dapat mengedit kuota melalui konsol Google Cloud (membutuhkan role roles/servicemanagement.quotaAdmin atau roles/serviceusage.serviceUsageAdmin), praktik terbaik Enterprise adalah menggunakan Terraform untuk memastikan konsistensi guardrails di seluruh lingkungan (Dev, Staging, Prod).
# Mengonfigurasi batas AI Input Tokens per hari pada level Project
resource "google_service_usage_consumer_quota_override" "bq_ai_input_quota" {
project = "my-production-project"
service = "bigquery.googleapis.com"
metric = "bigquery.googleapis.com/ai_input_tokens"
limit = "%2Fd%2Fproject" # per day per project
override_value = 50000000000 # 50 Miliar token
force = true
}
# Mengonfigurasi batas AI Output Tokens per hari per User
resource "google_service_usage_consumer_quota_override" "bq_ai_output_user_quota" {
project = "my-production-project"
service = "bigquery.googleapis.com"
metric = "bigquery.googleapis.com/ai_output_tokens"
limit = "%2Fd%2Fproject%2Fuser" # per day per project per user
override_value = 5000000000 # 5 Miliar token
force = true
}
Langkah 3: Eksekusi Query Produksi dengan Model 2026
Setelah kuota ditetapkan, Anda dapat mengeksekusi query dengan aman. Di tahun 2026, kita menggunakan model aktif seperti gemini-2.5-flash untuk tugas klasifikasi high-throughput.
-- Mengeksekusi klasifikasi sentimen dengan guardrails aktif
CREATE OR REPLACE TABLE `enterprise_data.customer_ops.ticket_sentiment_results` AS
SELECT
ticket_id,
ticket_description,
ml_generate_text_result['candidates'][0]['content']['parts'][0]['text'] AS sentiment_analysis,
ml_generate_text_status AS execution_status
FROM
ML.GENERATE_TEXT(
MODEL `enterprise_data.models.gemini_2_5_flash_endpoint`,
(
SELECT
ticket_id,
CONCAT('Analyze the sentiment of this ticket. Respond ONLY with POSITIVE, NEGATIVE, or NEUTRAL. Ticket: ', ticket_description) AS prompt
FROM
`enterprise_data.customer_ops.support_tickets`
WHERE
processed = FALSE
),
STRUCT(
0.1 AS temperature,
10 AS max_output_tokens,
TRUE AS flatten_json_output
)
);
Jika kuota terlampaui di tengah proses, kolom execution_status untuk baris yang gagal akan berisi pesan error quota-exceeded, memungkinkan Anda untuk melakukan retry pada hari berikutnya tanpa kehilangan data yang sudah berhasil diproses.
Kesiapan Production: FinOps, Kuota & Guardrails Keamanan
Dalam mendesain arsitektur Enterprise, performa teknis harus selalu diimbangi dengan kelayakan finansial. Tanpa guardrails yang ketat, kemudahan penggunaan fungsi AI di BigQuery dapat dengan cepat berubah menjadi liabilitas finansial.
Mari kita simulasikan skenario produksi nyata: Sebuah perusahaan memproses 100 juta baris data teks per bulan di BigQuery.
- Opsi A mewakili pendekatan yang tidak dioptimalkan: menggunakan model heavyweight (
gemini-2.5-pro) tanpa prompt engineering yang ketat, menghasilkan 200 token input dan 50 token output per baris, tanpa batasan kuota IAM.
- Opsi B mewakili arsitektur yang dioptimalkan: menggunakan model yang tepat guna (
gemini-2.5-flash), prompt yang diinstruksikan secara ketat untuk membatasi output (10 token per baris), dan dilindungi oleh IAM Token Quotas.
Berikut adalah hasil simulasi deterministik menggunakan alat kalkulasi FinOps kami berdasarkan SKU resmi Google Cloud:
📊 Production FinOps & TCO Simulation: BigQuery GenAI Token Processing: Pro vs Flash Optimization (100M Rows/Month) (Based on the latest Google SKU information)
Production Workload Assumptions (us-central1 / asia-southeast1):
- 100 million rows of text data processed per month in BigQuery
- Option A uses Gemini 2.5 Pro without strict prompt engineering (200 input tokens, 50 output tokens per row)
- Option B uses Gemini 2.5 Flash with optimized prompts and strict IAM token quotas (200 input tokens, 10 output tokens per row)
- BigQuery compute is estimated at 1000 slot-hours for Option A and 500 slot-hours for Option B
| Architecture Option |
Google SKU Unit Price & Monthly Formula |
Estimated Monthly Cost |
| Option A: Unrestricted Gemini 2.5 Pro (No Quota Guardrails) |
Gemini 2.5 Pro Input (20B tokens): $1.25/1M input tokens × 20,000 = $25,000.00
Gemini 2.5 Pro Output (5B tokens): $10/1M output tokens × 5,000 = $50,000.00
BigQuery Enterprise Compute: $0.06/slot-hour × 1,000 = $60.00 |
$75,060.00 / mo |
| Option B: Gemini 2.5 Flash with IAM Token Quotas |
Gemini 2.5 Flash Input (20B tokens): $0.15/1M input tokens × 20,000 = $3,000.00
Gemini 2.5 Flash Output (1B tokens): $0.6/1M output tokens × 1,000 = $600.00
BigQuery Enterprise Compute: $0.06/slot-hour × 500 = $30.00 |
$3,630.00 / mo |
| Net FinOps Impact (Monthly Savings) |
Based on the latest Google SKU information |
95.2% TCO Reduction ($71,430.00 / mo) |
Official Google Cloud SKU Pricing Sources (2026.09): cloud.google.com, cloud.google.com
Analisis FinOps & Keamanan:
Seperti yang ditunjukkan oleh simulasi di atas, mengandalkan model Pro tanpa guardrails untuk workload bervolume tinggi dapat mengakibatkan tagihan bulanan yang masif ($75.000+). Dengan mengimplementasikan Token Quotas di IAM dan beralih ke gemini-2.5-flash, kita tidak hanya memangkas biaya hingga 95.2%, tetapi juga memastikan bahwa sistem tidak akan pernah melampaui batas anggaran yang telah disetujui.
Selain kuota, pastikan Anda juga mengimplementasikan VPC Service Controls (VPC-SC) di sekeliling project BigQuery dan Vertex AI Anda. Ini mencegah eksfiltrasi data oleh pihak internal yang mungkin mencoba mengekspor hasil klasifikasi ke bucket eksternal yang tidak sah. Dengan menggabungkan Token Quotas untuk kontrol biaya dan VPC-SC untuk kontrol keamanan, Anda menciptakan arsitektur AI Enterprise yang tangguh, aman, dan efisien secara finansial.