Pendahuluan

Pendahuluan tentang Fault Tolerance bisa dilihat di sini

Intinya Fault Tolerance terkait dengan kemampuan sistem aplikasi tetap berjalan dengan lancar, walaupun terjadi kegagalan di sebagian sistem.

Hmm, lalu bagaimana untuk mencapai sistem yang Fault Tolerance ?

Tentunya yaa.. harus di desain sistemnya secara benar. Sesuatu yang baik dan bersifat preventif harus didesain sedemikian rupa.

  • Misalnya ketika sebuah service down, maka bagaimana caranya agar otomatis service tersebut bisa hidup secepatnya.
  • Atau misalnya ketika sebuah service tidak bisa menangani permintaan yang terlalu banyak, maka bagaimana sistem bisa dengan otomatis membuat instance/service baru yang semirip agar bisa membantu menangani permintaan yang banyak tadi.
  • Kalau sebuah service mati, bagaimana tidak menjalar ke service-service lain yang tergantung kepada service yang mati ini.

Hmm.. ternyata tidak sesederhana yang kita pikirkan.

Banyak metoda dan teknik yang bisa diterapkan untuk membuat otomatisasi ketika terjadi sebuah Fault.

Dan tentunya desain agar sebuah sistem agar siap menjadi sistem yang Fault Tolerance akan butuh biaya, waktu, cara, metoda yang tidak biasa.

Oleh sebab itu hanya bagian-bagian tertentu saja di sebuah sistem yang diprioritaskan untuk didesain agar Fault Tolerance.

Inilah yang disebut sebagai kriteria Fault Tolerance

Apa saja kriterianya ?

Tentunya kriteria ini harus dikaitkan dengan hal-hal sbb :

  • Seberapa penting secara bisnis bagian sistem tersebut ? menyangkut pembayaran kah ? transaksi kah ?
  • Seberapa banyakkah user/customer yang akan terdampak dari kegagalan sistem ini.
  • Seberapa penting secara teknis bagian tersebut ? misalnya komponen yang melayani banyak service lain kah ?
  • Seberapa mahal untuk membuat sebuah sistem menjadi fault-tolerance ? butuh rak server yang mahal kah ?
  • dll.

Penentuan kriteria ini akan mempengaruhi keputusan kita dalam membuat sebuah sistem kita menjadi sistem yang Fault-Tolerance.