code, lesson learned, technology, Tips

Apa itu High Availability?

Selama ini gw pikir High Availability (HA) semata-mata hanya mempersiapkan cadangan kalau bencana (disaster) muncul. Mempersiapkan cadangan dalam artian data backup. Ternyata pemahaman tersebut tidak sepenuhnya benar. Hal ini baru gw sadari setelah diberikan pekerjaan untuk membuat solusi kalau sampai layanan telekomunikasi yang digunakan tim Customer Service (CS) kena bencana.

Hasil akhir yang diharapkan — ingat selalu untuk berpikir dari hasil akhir yang diharapkan — adalah: tim CS harus selalu dapat menggunakan layanan telekomunikasi. Mereka tidak peduli dan tidak perlu tahu* kalau ada bencana terjadi. Yang mereka pedulikan adalah mereka datang ke kantor dan melakukan pekerjaan mereka: menghubungi dan dihubungi pelanggan.

Untuk itu harus ada minimal 2 (dua) layanan telekomunikasi yang berfungsi dalam waktu bersamaan. Namun hanya ada 1 (satu) layanan yang aktif digunakan dalam satu waktu*. Katakanlah ada layanan utama dan layanan cadangan.

Ketika bencana terjadi (pasti terjadi, hanya masalah waktu) dan mengakibatkan layanan utama gagal beroperasi, maka saatnya layanan cadangan yang aktif. Istilah yang digunakan untuk mewakili proses ini adalah failover.

Ketika bencana berakhir dan layanan utama kembali normal. Maka layanan utama harus kembali aktif, menggantikan layanan cadangan. Proses mengembalikan penggunaan dari layanan cadangan ke layanan utama disebut fallback.

Hubungan failover dan fallback bisa dilihat pada gambar berikut ini. Gambar ini gw dapat dari dokumentasi “Building Elastix-2.4 High Availability Clusters with DRBD and Heartbeat (using a single NIC)“. Sumber: http://www.theserverexpert.com/elastix_2.4_ha_cluster-updated.pdf

Failover and fallback.

Beberapa pertanyaan yang harus dijawab adalah:

  1. layanan-layanan apa saja yang vital dan harus selalu tersedia?
  2. apakah layanan-layanan tersebut dapat dibuat duplikasinya? hal ini harus menjawab pertanyaan lain, yaitu:
    • apa saja kebutuhan layanan-layanan tersebut?
    • bagaimana membuat duplikasi kebutuhan-kebutuhan tersebut?
    • seberapa mudah membuat duplikasi layanan tersebut?
  3. data apa saja yang harus tersedia?

Sejauh ini baru itu saja yang terpikirkan. Seharusnya ada beberapa lagi, tapi gw belum sampai di sana.

Pertanyaan tadi keluar dari pengalaman ketika berusaha membuat duplikasi layanan telekomunikasi berbasis Asterisk. Asterisk dikelola dengan FreePBX, dan diberi nilai tambah oleh produk bernama Elastix. Elastix merupakan sekumpulan alat bantu yang dikembangkan di atas sistem operasi CentOS.

Asterisk memiliki modul bernama CDR (Call Detail Recording) yang berfungsi untuk menyimpan metadata komunikasi telepon yang dilakukan melalui sistem.  Terdapat juga modul lain yang merekam semua pembicaraan. Oleh karena itu, data tadi harus selalu tersedia.

Elastix menggunakan SQLite sebagai penyimpanan data konfigurasi. FreePBX sebagai antarmuka Asterisk sepertinya tidak membutuhkan penyimpanan data apapun, namun memiliki beberapa modul tambahan yang mungkin saja membutuhkan penyimpanan data untuk menyimpan konfigurasi*.

Yang ingin gw sampaikan adalah pentingnya identifikasi detail kebutuhan tiap layanan karena menentukan apa yang harus diduplikasi dan caranya.

Apa yang dimaksud dengan kebutuhan tiap layanan?

Di atas sudah gw jelaskan bahwa modul Asterisk bernama CDR membutuhkan MySQL untuk penyimpanan data. Hal ini memaksa untuk mencari tahu apakah MySQL memiliki fitur untuk melakukan duplikasi layanan. Setelah dicari tahu ternyata MySQL memiliki fitur replikasi. Lalu muncul pertanyaan selanjutnya, MySQL versi berapa yang digunakan? Apakah versi tersebut sudah mendukung skenario replikasi yang kita butuhkan? Intinya adalah pemahaman tools yang digunakan, layanan yang ditawarkan tool tersebut, serta kompleksitasnya.

Kesimpulan

High Availability (HA) sulit dan kompleks sekali. Karena harus dipikirkan secara matang dan dilakukan oleh mereka yang paham dan kenal betul karakteristik penggunaan layanan, karakteristik layanan itu sendiri, karakteristik kebutuhan layanan, dan sebagainya.

Tulisan ini gw buat semata-mata untuk mengeluarkan isi pikiran saja. Mungkin saja berguna buat orang lain.

Standard
notes, technology

Opera Software: Bali Blogger Meet-up

Pernah terpikir ga sih browser semacem Opera dapet duit darimana?

Dulu banget (pas gw masih bocah) kudu pakai keygen supaya bisa pakai browser yang satu ini. Yes, waktu itu browser inovatif ini berbayar sebelum kemudian muncul versi gratis yang dibubuhi iklan di ‘navigation bar’-nya. Berbayar karena Opera ini *sangat* inovatif, dan merupakan pionir browser dengan tab.

Pertanyaan tadi terjawab Rabu (17 Oktober 2012) malam lalu di acara Opera Browser Bali Blogger Meet-up, tepatnya di Warung Made Seminyak.

Daud Irsan Aditirto (Business Development Director, Opera Software Indonesia) membocorkan salah satu sumber pendapatan Opera browser. Doi jelaskan bahwa tiap pencarian yang dilakukan pengguna melalui kotak pencarian di sudut kanan atas Opera browser bernilai beberapa sen. Google sebagai default search engine ternyata punya kontrak kerjasama dengan Opera. Cool!

Sebelumnya gw sudah pernah baca bahwa browser lain juga punya deal dengan Google. Nilai kontraknya juga fantastis! (di acara meet-up kemarin, gw sebut angka USD 1 juta yang ternyata salah besar. my bad).

Selain pendapatan dari kotak pencarian, doi juga jelaskan bahwa ternyata Opera Software sudah memasuki pasar yang tidak dimasuki browser companies lain: mid-to-low end mobile handheld devices. Bisa dikatakan rata-rata “hape Cina” yang beredar di pasar saat ini punya Opera browser di dalamnya.

Hal baru yang menurut gw gokil adalah fakta bahwa browser ini tidak terinstall di atas operating-system melainkan implanted di chip! Murah, cepat, dan memenuhi kebutuhan (serta limitasi) device di level tersebut. Sangat cerdas.

Gw sendiri pengguna Android, dan kebanyakan waktu menggunakan stock browser. Tapi, seperti yang kita ketahui koneksi data provider telekomunikasi kita kacrut banget. Emang sih dapetnya 3G, tapi 3G ecek-ecek. Efeknya? Mau browsing aja terkadang bisa nambah stres.

Opera browser (Opera Mini dan Opera Mobile, tepatnya) punya pendekatan berbeda. Kebanyakan pengguna awam mungkin tidak sadar bahwa browsing dengan browser ini ‘lebih cepat’. Hal ini memungkinkan karena hape kita tidak terhubung langsung ke website yang ingin kita kunjungi/buka, melainkan kita terlebih dahulu terhubung ke proxy server milik Opera, lalu Opera-lah lah yang mengambil konten dari website tersebut dan mengirimkannya ke browser. Lihat gambar di bawah ini, atau baca halaman Wikipedia ini untuk detailnya.

Namun ada satu pertanyaan lagi yang ingin gw tanyakan: lokasi proxy server Opera ini dimana? Apakah ada di Indonesia? Karena letak geografis sangat mempengaruhi kecepatan. Apalagi ketika website yang kita akses adalah website lokal yang servernya juga berada di jaringan Internet lokal Indonesia (IIX/OpenIXP).

Ada banyak lagi teknologi bagus yang dimiliki Opera browser, semacem Opera Turbo, Dragonfly, dsb. Penasaran? Dateng ke meet-up berikutnya! :P

Tapi seperti kebanyakan teknologi, Opera browser tidak dibuat untuk semua jenis pengguna. Kita masing-masing punya preferensi. Tinggal memilih solusi yang tepat untuk masalah yang tepat.

Satu hal yang sangat disayangkan ketika meet-up kemarin adalah minimnya peserta yang datang. Cuma ada gw, mas @kojaque, dan @adisetiawan.

Kenapa?

Ternyata di Bali ada tanggal tertentu yang menurut kepercayaan lokal sangat tepat untuk melangsungkan pernikahan. Bloggers yang awalnya berminat untuk hadir mendadak berhalangan karena harus menghadiri rentetan undangan pernikahan. Hari yang ngenes buat event apapun (dan para jomblo :P).

Well. Ini blog post pertama gw yang disponsori oleh perusahaan browser. Disponsori segelas bir bintang dingin :D

Cheers.

Standard
lesson learned, random, technology

Debian

It’s 4 AM. Have just wrapped my very first experience installing Debian OS which turns out total fail.

Perhaps I did it all wrong.

Earlier yesterday at the office I downloaded an image of the 1st dvd of the OS. I *assumed* that’s the minimum I should have to get Debian with GUI running.

The other problem was my dvd reader; it’s not helpful at all. It think I need to get a replacement.

Well anyway it’s not a total failure. I managed to have Debian running…headless.

You heard me: headless.
No GUI. No whatever.

I think I’m gonna do another attempt next week. Gotta buy an external dvd reader and download all those +/- 6 dvds.

Standard
life, technology

Dompet, handphone, flashdisk

Dompet, handphone, dan flashdisk adalah tiga hal utama yang menurut gw vital sehingga harus dibawa sebelum gw pergi keluar rumah menuju kantor. Kalau mau sedikit memperhatikan, ternyata ketiga hal ini mempunyai keterkaitan yang berawal dari dompet. Dipersempit ke pengetahuan gw, berikut ini gw sajikan ulasan mengenai dompet, handphone, dan flashdisk, plus sebuah kesimpulan yang mungkin sedang terjadi di masa ini.

Dompet
Lembaran uang kertas, Kartu Tanda Pengenal (KTP), beberapa kartu nama untuk keperluan bisnis, serta catatan-catatan dalam bentuk kertas menjadi penghuni tetap sebuah dompet di masa-keemasan-nya dulu. Gw ingat betul, sewaktu gw SD-SMP (90-an), kalau diperhatikan dompet bapak atau ibu gw pasti isinya seputar hal yang tadi gw sebutkan di depan.

Handphone
Benda yang satu ini fenomenal. Sempat menjadi sebuah identitas penanda strata sosial hanya dengan memilikinya. Kalau saja pada ingat bahwa saat itu nomor perdana sendiri bisa mencapai nominal 500 ribu rupiah! Itu baru nomor, belum pulsa dan mahalnya biaya komunikasi. Fenomena ini terjadi pada awal dekade lalu.

Flashdisk
Tugas kuliah yang menumpuk yang harus segera dikirim ke email dosen bersangkutan, memaksa kami harus memiliki benda yang satu ini untuk membawa data-data dari kos ke warnet terdekat. Flashdisk dengan (terkadang) aman dan (terkadang) nyaman menyimpan data-data kita, memberi portabilitas yang kita butuhkan. Gw ingat betul, di 2005, harus merogoh kocek 500 ribuan untuk mendapatkan flashdisk dengan kapasitas 512MB. Haha, harga memang ga pernah bohong. Flashdisk itu tetap ada sampai detik ini.

Korelasi
So, dimana keterkaitan handphone dan flashdisk dengan dompet? Di awal sekali, dompet mendominasi semua kategori:

Dompet

  • Identitas: Kartu Tanda Pengenal
  • Transaksi: uang, kartu kredit, kartu debit
  • Komunikasi: kartu nama, kartu telepon, dan
  • Data: catatan-catatan di kertas

Seiring makin membludaknya umat manusia, perkembangan sektor trasportasi semakin pesat dan berbanding lurus dengan kecepatan penyebaran manusia. Hadirlah teknologi komunikasi selular: handphone. Perlahan tapi pasti teknologi ini mematikan layanan telepon umum koin dan kartu. Pada rentang waktu ini:

Dompet

  • Identitas
  • Transaksi
  • Data

Handphone 1G

  • Komunikasi

Teknologi komunikasi berkembang dengan baik dan pesat. Data digital yang dibutuhkan komputer dapat ditransmisikan melalui medium analog, tentunya dengan modem (modulator demodulator). Tugas-tugas kuliah yang tadinya dalam format kertas beralih sudah ke format digital. Hal ini tidak terlepas dari otomasi yang dijanjikan aplikasi komputer yang juga mengubah perilaku manusia dalam melakukan pengecekan manual terhadap berkas-berkas data.

Semua serba cepat dan tepat. Korbannya ya kita mahasiswa, yang diminta untuk mengirimkan tugas dalam format digital ke email dosen tiap minggunya. Disinilah flashdisk jatuh sebagai pilihan media yang efektif dan tepat untuk membawa data dari kos ke warnet. Di rentang waktu ini:

Dompet

  • Identitas
  • Transaksi
  • Data

Handphone 2G

  • Komunikasi
  • Data

Flashdisk

  • Data

Nah, sekarang bagian paling menarik: saat ini. Masa dimana semua semakin cepat dan semrawut, seakan menuju chaos. Transportasi, komunikasi, dan transaksi, semua semakin cepat dan tepat (terlepas dari galat yang ada).

Semakin cepat dan tepat, bukan berarti kita semakin dekat. Tren yang terjadi, kita membawa sosialisasi ke arena komunikasi digital. Gw sempat tertawa ketika membaca sebuah postingan twitter seorang teman dekat disebuah acara tahun-baruan, dimana beberapa anggota keluarga-nya (yang, mungkin, ketemu-nya sekali setahun) sibuk dengan handphone dan blackberry masing-masing. Aneh? Tidak untuk masa ini. Sosialisasi 2.0, kata seorang blogger nasional. De-sosialisasi sosialisasi, kata gw.

Aha. Tentu pernah juga mendengar istilah mobile banking/online banking/internet banking? Sebuah layanan dari bank yang memungkinkan kita melakukan transaksi hanya dengan menggunakan handphone dan mobile devices pada umumnya? Well, the list can goes on and on. I guess I’ll put the stop mark here.

Pada masa ini:

Dompet

  • Identitas
  • Transaksi

Handphone 3G

  • Komunikasi
  • Data
  • Sosialisasi
  • Hiburan
  • Transaksi

Flashdisk

  • Data

Notebook, Netbook, Smart Phone:

  • Komunikasi
  • Data
  • Sosialisasi
  • Hiburan
  • Transaksi
  • Navigasi

Kesimpulan
Dari apa yang gw perhatikan dan gw rasakan, semua kategori di atas akan bergeser ke sebuah benda yang disebut Smart Mobile Devices yang di-cikal-bakali oleh Smart Phone (e.g.: iphone, dan android-ready devices). Kategori, fungsionalitas, atau fasilitas yang gw sebutkan di atas, hanya bagian kecil dari banyak hal yang bisa dipaketkan di Smart Mobile Devices.

Smart Mobile Devices ini hanya platform. Aplikasi yang ada di atas platform ini yang akan membawa kita ke sebuah tren (baca: kemungkinan) tak terduga. Life 2.0, perhaps.

Dan semuanya bermula dari dompet? Entahlah :)

Standard