Google Punya VCS Sendiri Seperti Github Bernama “Piper”

vcs branch illustration

Google Punya VCS Sendiri Seperti Github Bernama “Piper” – Pada artikel sebelumnya disebutkan bahwa Google memiliki repositori tunggal untuk mengolah 2 miliar kode seperti Google Search, Google Maps, Google Docs, Google+ , Google Calendar, Gmail, YouTube, dan setiap layanan Internet Google lainnya. Untuk mengolah kode-kode pada respositori tersebut ternyata Google memiliki perangkat lunak VCS (Version Control System) sendiri bernama Piper. Sistem piper beroperasi secara menyeluruh pada infrastruktur online milik Google sehingga seluruh layanan online dapat berjalan dengan baik.

Menurut Potvin dilansir dari WIRED, sistem tersebut menjangkau 10 pusat data berbeda yang dimiliki oleh Google. Hal tersebut bukan hanya 2 miliar baris kode yang tersedia didalam sebuah sistem untuk tiap – tiap teknisi, tetapi sistem ini juga memberikan kebebasan tersendiri bagi teknisi Google untuk menggunakan dan menggabungkan seluruh kode dari berbagai macam proyek. Potvin mengatakan, “Ketika anda memulai proyek baru, anda telah memiliki libraries (kumpulan dari data dan kode program) yang sangat lengkap. Hampir keseluruhannya telah terproses.” Terlebih lagi, teknisi dapat melakukan perubahan pada sebuah kode tunggal dan secara instan dapat di jalankan pada berbagai layanan Google. Dalam memperbaharui satu hal, berarti juga melakukan perubahan secara keseluruhan.

Ada keterbatasan pada sistem ini. Potvin mengatakan beberapa kode – kode sensitif misalkan saja seperti algoritma pencarian PageRank – terletak di dalam repositori Google yang terpisah dan hanya bisa di akses oleh karyawan tertentu. Dikarenakan kode – kode tersebut tidak dijalankan pada internet dan merupakan sesuatu yang berbeda, maka Google menyimpan kode untuk kedua sistem operasinya, yakni Android dan Chrome dalam version control systems yang terpisah. Tetapi umumnya, kode Google bersifat monolit yang memberikan kebebasan dalam pengembangan ide, solusi dan komponen perangkat lunak.

Berapa besar storage yang dibutuhkan Google?

Sebagaimana yang diterangkan oleh Lambert, membangun dan menjalankan sistem tersebut tidak hanya membutuhkan pengetahuan tetapi juga daya komputasi yang besar. Piper meliputi sekitar 85 terabyte data (alias 85.000 gigabyte), dan 25.000 teknisi Google melakukan sekitar 45.000 perubahan ke repositori setiap harinya. Aktivitas tersebut sangatlah serius. Sementara itu pada saat sistem operasi open source Linux menjangkau 15 juta baris kode di 40.000 file perangkat lunak, maka teknisi Google memodifikasi 15 juta baris kode di 250.000 file setiap minggunya.

Pada saat yang bersamaan, Piper juga harus meringankan sebagian besar beban dari para coder manusia. Hal tersebut mulai dari memastikan bahwa teknisi dapat mengerti dan merampungkan seluruh kode tersebut, tidak terjadi tumpang tindih terhadap kode lainnya sewaktu melakukan perubahan, dan mereka bisa dengan cepat menghapus bug serta kode yang tidak terpakai dari repositori. Dikarenakan semua proses tersebut sangatlah sulit, maka sebagian dari prosesnya tidak bisa dilakukan oleh manusia. Sekarang Google telah beralih menggunakan Piper dari version control system terdahulunya yang dikenal dengan Perforce, yakni bot/program otomatis yang menangani mayoritas perubahan.

Dalam hal ini bukan berarti bot yang menulis kode. Mereka hanya menghasilkan banyak data dan file konfigurasi yang diperlukan untuk menjalankan perangkat lunak perusahaan. “Anda harus melakukan upaya untuk menjaga kesehatan kode,” ungkap Potvin. “Dan dalam hal ini bukan hanya manusia yang menjaga kesehatan kode, tetapi robot juga.”

Bisakah orang lain mendapatkan keuntungan dari sistem yang sama ?

Jawabannya tentu saja. Aplikasi utama Facebook mencakup lebih dari 20 juta baris kode, dan perusahaan memperlakukan keseluruhannya sebagai sebuah proyek tunggal. Pihak lain juga melakukan hal yang sama tetapi pada skala yang lebih kecil. Ketika perusahaan lain tumbuh mendekati ukuran Google atau Facebook, logistik dapat menjadi penghambat. Akan tetapi Google dan Facebook sedang mengeksplorasi cara untuk mengatasi hal tersebut bagi semua orang.

Dua raksasa internet ini sedang mengerjakan sebuah version control system open source yang bisa digunakan untuk mengolah kode dalam skala besar. Hal ini berdasarkan pada sistem yang sudah ada, yang disebut Mercurial. “Kami mencoba untuk melihat apakah skala Mercurial dapat di buat seukuran dengan repositori Google,” Jelas Potvin, mengindikasikan bahwa Google bekerja sama dengan pakar pemprograman Bryan O’Sullivan dan tim lain yang membantu mengawasi aktivitas coding di Facebook.

Yang mungkin terlihat ekstrim. Pada akhirnya, tidak banyak perusahaan yang mengolah kode sebanyak yang Google atau Facebook lakukan saat ini. Namun dalam waktu dekat, mungkin hal tersebut akan terjadi.

Via WIRED

Dilihat 344 kali

Related Posts

About The Author

Bergelut dibidang teknologi, sebagai Quality Assurance dan juga seorang Hardcore Gamer