Traveloka: Beralih ke Google Cloud untuk perangkat analisis big data yang mutakhir
Tentang kami Traveloka
Traveloka mendiversifikasi dan mempersonalisasikan layanannya untuk menjadi platform perjalanan dan gaya hidup satu-atap. Pada tahun 2018, Traveloka memperkenalkan layanan sewa kendaraan dan panduan perjalanan, serta fitur-fitur pelengkap seperti pemberitahuan status penerbangan untuk layanan tiket perjalanan mereka. Salah satu fitur penting yang diluncurkan tahun lalu termasuk layanan kredit online.
Beri tahu kami masalah Anda. Kami selalu siap membantu.
Hubungi kamiDengan teknologi Google Cloud, seperti BigQuery, Traveloka telah membangun arsitektur data yang memenuhi semua persyaratan terkait kinerja dan ketersediaan, memungkinkan bisnis untuk mendapatkan insight yang bermakna dan dapat ditindaklanjuti dari volume data yang besar.
Hasil Google Cloud
- Memungkinkan para engineer menggunakan waktunya untuk mengerjakan hal yang bernilai bagi bisnis
- Berhasil mencatatkan ketersediaan layanan hingga 99,9%
- Mampu menyimpan 400TB (sekitar 500 miliar baris) data
Menganalisis data real-time untuk pengambilan keputusan bisnis perusahaan
Didirikan pada 2012, Traveloka adalah perusahaan start-up unicorn yang menyediakan layanan pemesanan untuk travel, makanan, dan beragam pilihan lainnya. Saat ini, Traveloka telah menancapkan kukunya di enam negara ASEAN dan mempekerjakan lebih dari 2.000 orang, termasuk 400 engineer. Traveloka bertujuan untuk menjadi platform perjalanan dan gaya hidup satu-atap bagi penduduk Indonesia dan melakukan diversifikasi layanan yang personal. Pada tahun 2018, Traveloka mengenalkan layanan sewa kendaraan dan panduan perjalanan, serta menambah fitur-fitur pelengkap seperti pemberitahuan status penerbangan untuk layanan tiket mereka. Salah fitur penting yang diluncurkan tahun lalu termasuk layanan kredit online.
Untuk menyediakan layanan yang lebih personal dan relevan bagi konsumen, Traveloka mengandalkan analisis data. Ini tentu menjadi sebuah tantangan yang berat bagi tim analisis data mereka. Tim ini harus siap memenuhi permintaan bisnis yang terus berkembang dengan mengumpulkan data dari berbagai sumber, memilih kerangka kerja yang tepat untuk menganalisis data, mengelola berbagai macam use case, dan memberikan data real-time untuk analisis dan pelaporan berjalan. Pada saat yang sama, perusahaan harus meningkatkan infrastrukturnya sambil terus mengurangi beban biaya.
Kegiatan tim analisis data harus mendukung tujuan bisnis yang selalu berusaha untuk menjadi lebih lincah dan lebih cepat dalam memasarkan fitur dan aplikasi baru. Dari sudut pandang teknologi, ini berarti mempercepat waktu pengembangan dan penerapan, tanpa mengorbankan keamanan.
Analisis data tidak dapat mengikuti perkembangan
Namun, saat perusahaan berkembang, ekosistem analisis data Traveloka saat itu sempat kewalahan. Hal ini mengganggu pipeline aliran pemrosesan data yang mendukung beberapa layanan - termasuk deteksi penipuan, personalisasi, optimasi iklan, cross-selling, A/B testing, dan kelayakan promosi - agar memungkinkan business analyst untuk memantau kinerja.
Untuk menjalankan pipeline analisis data, Traveloka awalnya bergantung pada arsitektur yang terdiri dari Apache Kafka untuk mencerna event pengguna, MongoDB untuk menyediakan penyebaran data operasional yang tersebar di beberapa mesin, dan MemSQL untuk permintaan analisis real-time. Traveloka memproses data dari Kafka melalui Java consumer dan menyimpannya dengan ID sebagai primary key di MongoDB. Untuk analisisnya, Traveloka menggunakan event data dari Kafka dan menyimpannya di MemSQL, di mana perangkat business intelligence dapat mengaksesnya.
Namun, saat Traveloka melakukan scale up, sejumlah masalah terjadi, termasuk:
- Masalah debugging di cluster Kafka terbukti sulit dilakukan dan memakan waktu
- Menambahkan lebih banyak node ke MongoDB membutuhkan proses penyeimbangan yang memakan waktu - dan tim cepat kehabisan ruang penyimpanan
- Perusahaan hanya mampu menyimpan data selama 14 hari di MemSQL karena keterbatasan memori, sementara beberapa query kadang-kadang bermasalah karena kehabisan memory
"Sebagai bagian dari solusi streaming analytic Google Cloud, dukungan dari BigQuery untuk streaming data merupakan keuntungan besar dalam mendukung penggunaan analisis real-time kami."
—Rendy Bambang, Data Engineering Lead, TravelokaLatensi rendah dan infrastruktur yang dikelola sepenuhnya
Traveloka lantas memutuskan untuk melihat ke pasaran dan menentukan layanan pengganti yang dapat memberikan:
- Latensi data end-to-end yang rendah dan memiliki garansi layanan yang terjamin
- Infrastruktur yang sepenuhnya dikelola untuk memungkinkan engineer membantu memecahkan masalah bisnis (dan menghabiskan lebih sedikit waktu untuk pemeliharaan dan mengatasi isu teknis), termasuk ketahanan atau ketersediaan sistem end-to-end mencapai 99,9% dan penskalaan otomatis untuk sistem penyimpanan dan komputasi.
Persyaratan ini lantas disaring menjadi kebutuhan yang lebih luas, yaitu adanya teknologi yang dikelola sepenuhnya dengan latensi end-to-end yang rendah, kinerja dan ketersediaan layanan yang tinggi, dan tuntutan operasional yang minimal.
"Cloud Pub/Sub memudahkan kami karena - tidak seperti arsitektur kami sebelumnya, yang membutuhkan perencanaan kapasitas untuk memasukkan data - kami dapat mengandalkan penskalaan otomatis untuk menangani perubahan volume dan throughput tanpa perlu bersusah payah melakukannya."
—Rendy Bambang, Data Engineering Lead, TravelokaGoogle Cloud sebagai landasan
Untuk itu, Traveloka melakukan evaluasi dan menyimpulkan bahwa Google Cloud memberikan layanan dan kinerja yang layak untuk beroperasi sebagai landasan arsitektur data mereka.
Untuk proyek data pipeline, Traveloka menerapkan sebuah cross-cloud environment yang menggabungkan pengiriman pesan real-time yang dikelola Cloud Pub/Sub untuk mencerna event data, Cloud Dataflow untuk memroses streamed data, dan BigQuery analytics data warehouse untuk menyimpan data faktual dan historis, yang dihasilkan dari aktivitas pengguna, serta data yang telah diproses. Setiap layanan Google Cloud telah membantu mengatasi masalah yang sebelumnya menghambat jalur pipeline.
BigQuery analytics data warehouse adalah kunci dari arsitektur data yang baru. "Sebagai bagian dari solusi streaming analytic Google Cloud, dukungan dari BigQuery untuk streaming data merupakan keuntungan besar dalam mendukung penggunaan analisis real-time kami" kata Rendy Bambang, Data Engineering Lead, Traveloka. "Selain itu, kami tidak lagi khawatir tentang penyimpanan data historis selama 14 hari karena BigQuery menyimpan semuanya untuk kami, sekaligus dengan fitur sumber daya komputasi penskalaan otomatis sesuai permintaan."
"Cloud Pub/Sub memudahkan kami karena - tidak seperti arsitektur kami sebelumnya, yang membutuhkan perencanaan kapasitas untuk memasukan data - kami dapat mengandalkan penskalaan otomatis untuk menangani perubahan volume dan throughput tanpa perlu bersusah payah melakukannya," tambah Bambang. "Akhirnya, kemampuan Cloud Dataflow untuk menghasilkan pipeline workers baru, dan penskalaan otomatis, tanpa intervensi pengguna adalah keuntungan besar bagi kami, terutama ketika kami harus mengisi ulang sebuah pipeline guna memproses data historis."
Model pemrograman terpadu berbasis Apache Beam dari Cloud Dataflow memudahkan pergantian antara pemrosesan data batch dan stream, sementara fungsi windowing dan trigger-nya memungkinkan penanganan yang mudah terhadap data yang datang terlambat.
"Kemampuan Cloud Dataflow untuk menghasilkan pipeline workers baru, dan penskalaan otomatis, tanpa intervensi pengguna adalah keuntungan besar bagi kami, terutama ketika kami harus mengisi ulang sebuah pipeline guna memproses data historis."
—Rendy Bambang, Data Engineering Lead, TravelokaBerhasil menyimpan data 400TB
Kini, infrastruktur Google Cloud mampu mengelola volume data yang besar dengan cepat dan baik sembari memenuhi syarat 99,9% ketersediaan layanan end-to-end yang diterapkan perusahaan. Ada lebih dari 4TB data masuk ke Cloud Pub/Sub setiap hari, sedangkan BigQuery menyimpan sekitar 400TB (sekitar 500 miliar baris) data. Sekitar 250TB data berada di Cloud Storage, sementara 60.000 batch pekerjaan dieksekusi per hari. Cloud Dataflow sendiri menangani sekitar 2.500 pekerjaan per hari, sementara 1.500 grafik menggunakan BigQuery dihasilkan menggunakan alat business intelligence.
Data warehouse BigQuery juga merupakan bagian tidak terpisahkan dari revolusi Traveloka dalam pemberian akses data ke tim produk mereka. "Sebelumnya, ketika tim produk harus meminta data dari data warehouse kami, kami hanya memberi mereka akses baca langsung ke bucket atau tabel yang mereka butuhkan," kata Imre Nagi, Software Engineer, Tim Data, Traveloka.
Namun, pendekatan ini mengharuskan client system dipasangkan erat dengan teknologi dan format penyimpanan data, yang berarti setiap perubahan pada teknologi atau format tersebut memerlukan pembaruan ke sistem. Selain itu, karena akses berada pada tingkat bucket, tim data tidak dapat memastikan bahwa tim produk tidak mengakses kolom yang tidak seharusnya. Pada akhirnya, tim data merasa sulit untuk melacak dan mengaudit apa yang dilakukan tim produk dengan data tersebut.
Penyajian data yang terstandarisasi
"Berdasarkan masalah-masalah ini, kami memutuskan menstandarisasi cara untuk menyajikan data, yang kemudian menjadi API provisi kami," kata Nagi.
Kini, API tersebut mengirimkan jutaan data dengan total beberapa gigabyte dari data warehouse BigQuery ke sistem produksi berdasarkan permintaan. Cloud Composer menjadwalkan query ke BigQuery yang mengubah data mentah menjadi versi yang sudah dirangkum dan diredaksi, untuk kemudian ditransfer ke tabel-setengah-jadi maupun tabel-jadi yang telah diproses.
Cloud Storage menyediakan penyimpanan sementara untuk hasil permintaan dan menangani proses pengiriman hasil ke klien. Lalu, Cloud SQL melacak tautan, status, dan metadata lainnya, sementara API di-host di kluster Kubernet yang dikelola oleh Google Kubernetes Engine. Cluster Kubernetes berkomunikasi dengan Cloud Storage dan Cloud SQL untuk menyimpan hasil dan metadata pekerjaan dari query yang dibuat oleh pemohon.
Masalah mampu diatasi
"Dengan teknologi Google Cloud, API provisi data baru kami telah berhasil mengatasi beberapa masalah dalam proses pengiriman data," kata Nagi. "Kami sekarang memiliki kontrak API yang jelas yang dapat menstandarkan cara tim produk mengakses data warehouse kami."
Penggunaan API berarti membatasi tim produk dalam mengakses lapisan fisik infrastruktur Traveloka, serta meningkatkan kemampuan tim data untuk mengaudit penggunaan data. Tim juga dapat menetapkan kontrol akses sampai ke tingkat kolom, memastikan tim produk hanya menggunakan kolom yang mereka butuhkan. Selain itu, API memberikan definisi standar namun fleksibel yang dapat digunakan tim lain ketika meminta data. "Kami sekarang dapat membatasi bagaimana tim produk mengakses data, sambil tetap memungkinkan berbagai permintaan," kata Nagi. "Secara keseluruhan, kami sekarang memiliki fleksibilitas, ditambah dengan keamanan dan kontrol, yang kami butuhkan."
Beri tahu kami masalah Anda. Kami selalu siap membantu.
Hubungi kamiTentang kami Traveloka
Traveloka mendiversifikasi dan mempersonalisasikan layanannya untuk menjadi platform perjalanan dan gaya hidup satu-atap. Pada tahun 2018, Traveloka memperkenalkan layanan sewa kendaraan dan panduan perjalanan, serta fitur-fitur pelengkap seperti pemberitahuan status penerbangan untuk layanan tiket perjalanan mereka. Salah satu fitur penting yang diluncurkan tahun lalu termasuk layanan kredit online.