Virtualization & Cloud Storage

Salah satu masalah yang sering dihadapi oleh seorang application developer adalah setting environment. Bagaimana tidak? seorang developer seringkali harus mengelola banyak proyek dengan berbagai macam development tools yang berbeda-beda. Umumnya hal ini akan menyebabkan komputer seorang developer “penuh” dengan macam-macam aplikasi yang ujung-ujungnya membuat komputer itu semakin lama semakin “lemot”.

Ketika beberapa proyek selesai, biasanya muncul keinginan untuk membersihkan file-file yang sudah tidak terpakai. File-file tersebut bisa berupa development tools, component library, berbagai versi source code, sampai ke dokumen pendukung proyek. Biasanya ini dilakukan dengan meng-copy file-file tersebut ke Backup Storage. Dalam kondisi ekstrim, setelah semua terkumpul ke Backup Storage, maka kegiatan selanjutnya adalah mem-format ulang komputer agar komputer kita bersih dari sisa “sampah” berupa registry, settings, dll.

 Semua masalah itu hilang sampai dengan….. ada enhancement. Maka sang developer harus meluangkan sehari-dua hari untuk me-ressurect (maksudnya instal ulang) environment proyek agar bisa menjalankan dan mengubah aplikasi tersebut. Pfff… nasiiiib…

Masalah lain yang sering menghantui adalah Harddisk crash atau bahkan laptop dicuri. Percaya atau tidak, dulu kalau saya parkir dan meninggalkan laptop di mobil, saya lebih khawatir laptopnya hilang ketimbang mobilnya hilang. Mobil kan masih diasurasi, bisa diganti kalau hilang. Tapi data-data di laptop? Siapa yang mau ganti?

 Thanks God, sekarang ada solusi untuk semua itu ^_^

Solusi pertama adalah Cloud Storage. Aplikasi ini memungkinkan kita men-sinkronisasi suatu directory dalam drive kita ke media penyimpanan di internet secara otomatis. Saya menggunakan salah satu layanan Cloud Storage sejak tahun 2008. Saat itu saya menggunakan Dropbox. Per-tahun ini saya menggunakan Google Drive. Kalau dulu saya menggunakannya hanya untuk kebutuhan khusus, sekarang saya menggunakannya dengan jauh lebih intensif. Saya membeli tambahan quota dan men-sinkronisasi data di semua perangkat saya. Beberapa tips terkait hal ini adalah:

  1. Pilih penyedia Cloud Storage yang anda percaya. Perhitungkan kelebihan dan kekurangan dari setiap penyedia. Saat ini yang cukup terkenal adalah Dropbox, Google Drive, SkyDrive, dan Box.
  2. Gunakan di semua perangkat yang kita miliki. Ini akan membantu kita mengakses file dari manapun kita berada.
  3. Pilihlah directory mana yang akan di-sinkronisasi di setiap perangkat. Umumnya aplikasi Cloud Storage memungkinkan kita untuk memilih directory mana yang akan di-sinkronisasi di suatu perangkat. Gunakan ini untuk menjaga efisiensi kapasitas penyimpanan.
  4. Berikan akses (Share) terhadap file-file yang perlu dilihat atau diubah oleh rekan kita. Ini menghemat waktu dan menghemat kapasitas mailbox anda. 

Solusi kedua adalah Virtualization. Dulu saya menggunakan Parallel Desktop dan VMWare karena aplikasi ini cukup populer di kalangan pengguna Macbook. Sekarang saya lebih menyukai menggunakan Virtual Box karena aplikasi ini lightweight, tersedia di berbagai platform OS, dapat membaca hampir semua file VM yang dihasilkan aplikasi lain, dan juga gratis 🙂 Beberapa tips terkait hal ini adalah:

  1. Sebaiknya kita membuat sebuah virtual machine tersendiri untuk setiap proyek. Dengan demikian, kita dapat menjaga “kebersihan” komputer kita. Suatu virtual machine hanya akan berisi aplikasi yang berhubungan dengan proyek yang relevan saja. Tidak ada resiko “lemot” karena kebanyakan service yang tidak relevan.
  2. Alokasi processor, memory, harddisk seperlunya saja. Evaluasi kebutuhan ini secara periodik.
  3. Simpanlah VM yang sudah tidak terpakai dalam Harddisk Eksternal. Jika suatu saat kita membutuhkannya untuk melakukan enhancement, maka cukup mount saja VM tersebut. Praktis kan? 🙂
  4. Sinkronisasi data proyek ke Cloud Storage. Ukuran VM yang relatif besar akan menyulitkan kita mengupload seluruh file VM. Tetaplah men-sinkronisasi data proyek ke Cloud Storage untuk mengantisipasi rusak atau hilangnya Harddisk Eksternal anda.
  5. Pastikan anda bisa mengubah ukuran Harddisk ditengah jalan. Sebagai contoh, jika anda menggunakan format VHD, anda akan membutuhkan sebuah tools bernama VHD Resizer untuk mengubah ukuran Harddisk secara mudah. Cara lain (termasuk command line vboxmanage dengan paramter –resize) agak membingungkan dan bisa menyebabkan Bootable harddisk menjadi non-bootable.
  6. Meskipun cukup mahal, tapi agar VM dapat bekerja cepat, berinvestasilah dengan membeli laptop dengan jumlah processor yang cukup banyak dan sedapat mungkin, gunakan SSD ketimbang Harddisk biasa.
  7. Buatlah beberapa “Template” VM, sehingga mempercepat apabila kita akan membuat VM baru. Saran saya, buatlah VM untuk OS yang masih kosong (belum ada aplikasi terinstal), VM untuk proyek dengan teknologi tertentu, misalnya VM untuk proyek pengembangan aplikasi .NET yang berisi (Visual Studio, SQL Server, Office, dll).

Semoga membantu 🙂

Advertisements