πŸš€ Observabilitas I/O untuk Data Lake Uber yang Berskala Petabyte


πŸ“Œ Problem Statement
1. Uber beralih ke arsitektur hybrid-cloud (β€œCloudLake”) dengan penyimpanan petabyte-skala, sehingga sulit memantau pola akses data, latensi I/O, serta biaya egress antar-cloud/zonasi.
2. Observabilitas sebelumnya terbatas pada engine tertentu (misalnya Presto); ribuan job Spark, YARN, dan aplikasi lain tidak terpantau.
3. Skalanya ekstrem: 6,7 juta YARN containers, 400.000 Spark apps, dan 350.000 Presto queries per hari, membuat sistem monitoring konvensional tidak mampu menangani volume dan high-cardinality metrics.

πŸ› οΈ Methodology / Solusi / Hypothesis
1. Uber memodifikasi klien filesystem (HDFS, S3, GCS) untuk menyisipkan instrumentation pada FSDataInputStream/OutputStream β†’ mengumpulkan metrik byte-level tanpa perlu mengubah kode job.
2. Menggunakan pipeline agregasi real-time bernama HiCam untuk mengatasi high-cardinality metrics:
Data dikumpulkan via HTTP endpoint β†’
Diagregasi per 15 menit β†’
Dikirim ke topic β†’
Dilaporkan di Apache Pinot + dashboard Grafana.
3. Hipotesis: Dengan visibilitas I/O granular & real-time, Uber bisa mengoptimalkan penempatan dataset, menekan biaya egress, dan meningkatkan efisiensi workload petabyte-scale.

πŸ“Š Findings / Results / Impact
1. Sistem monitoring aktif memproses:
6,7 juta YARN containers/hari
400 ribu Spark apps/hari
350 ribu Presto queries/hari
2. Observabilitas tersedia real-time (latency 1–5 menit) untuk I/O per dataset, per engine, per zona, hingga per path file system.
3. Dampak langsung:
Cost-chargeback dan pelacakan egress cloud lebih akurat
Perbaikan bottleneck I/O, latency antar zona, dan debugging pipeline
Migrasi/pemetaan ulang dataset agar lebih dekat dengan compute β†’ mengurangi biaya & meningkatkan performa

βœ… Key Takeaways
1. Observabilitas I/O granular adalah fondasi utama bagi data lake hybrid-cloud berskala petabyte.
2. Pendekatan β€œzero-touch” (tanpa modifikasi job) + instrumentasi client-side adalah cara paling efektif untuk skala besar.
3. High-cardinality metrics harus ditangani dengan pipeline agregasi khusus β€” bukan metric system standar.
4. Data I/O berperan langsung dalam keputusan operasional: kolokasi data, optimasi biaya egress, kapasitas cluster, dan reliability.
5. Organisasi besar yang migrasi ke multi-cloud wajib memprioritaskan layer observability layaknya Uber.

Sumber:
https://www.uber.com/en-NL/blog/i-o-observability-for-ubers-massive-petabyte-scale-data-lake/

#UberEngineering #DataLake #IOObservability #PetabyteScale #HybridCloud #Spark #Presto #BigData #DataPlatform

Leave a Comment