Halo semuanya, sesuai janji saya pada posting sebelumnya, kali ini saya akan membahas mengenai konsep yang dapat diaplikasikan untuk mengimplementasikan sistem yang Highly Available pada datacenter anda.
Sebelum membahas tentang teknologi yang berhubungan dengan HA, ada baiknya untuk mengenal sekilas mengenai konsep yang diterapkan untuk implementasi HA. Dari segi tipe, HA terbagi atas 2 tipe yaitu Continuous Availability dan Failover Availability:
1. Continuous Availability
Dalam Continuous availability, service (sebagai contoh database engine) dituntut untuk tetap available tanpa adanya downtime yang dapat dirasakan oleh user. Terdapat 3 design standar yang dapat digunakan untuk mengimplemetasikan Continuous availability, yaitu Programatic, Shared dan Multiple Copy:
a. Programmatic
Pada intinya, konsep ini mengandalkan pemrograman dari sisi user application (bukan dari sisi server) dengan cara mengakses ke dua atau lebih server yang tidak saling berhubungan. Keuntungan dari system ini adalah mendapatkan maximum flexibility dimana saat terjadi failure pada satu server tidak akan mempengaruhi kinerja dari user application.
Kelebihan:
· Maximum flexibility
Kekurangan:
· Waktu dan biaya pembuatan aplikasi yang sangat tinggi
· Kurangnya dukungan dari aplikasi yang ada dipasaran
· Kompleksitas yang sangat tinggi
b. Shared Availability
Design konsep ini adalah dengan penggunaan redundant systems yang berbagi critical redources. Dengan konsep ini, selain untuk High Availibility, system juga berfungsi sebagai load balancer.
Kelebihan:
· Very high degree of availability
· Increased Scalability
· Tidak perlu mengubah aplikasi
Kekurangan:
· Biaya yang sangat tinggi
· Diperlukan hardware khusus
· Diperlukan skill khusus untuk mengimplementasikan
c. Multiple Copy
Konsep ini menggunakan beberapa copy dari data yang diinginkan untuk highly available pada beberapa server yang saling berhubungan. Dengan konsep ini, selain untuk High Availibility, server-server juga berfungsi sebagai load balancer. Marathon everRun adalah satu contoh software pendukung dalam implementasi konsep ini.
Kelebihan:
· Very high degree of availability
· Tidak perlu adanya perubahan pada sisi user application
· Moderate cost increase
· Mudah dalam implementasi dan administrasi
Kekurangan:
· Diperlukan software pendukung
· Additional hardware administration
2. Failover Availability
Berbeda dengan Continuous Availability, Failover Availability membutuhkan waktu (walaupun sedikit) saat terjadi failure. Dalam konsep ini digunakan 2 buah server (primary dan secondary) dengan data (yang diinginkan untuk highly available) identik pada masing-masing server.
Pada saat system dengan konsep ini berjalan normal, hanya primary server yang bertugas untuk melayani seluruh user. Sedangkan pada saat primary server mengalami failure dan secondary server mendeteksi hal tersebut, maka secondary server menggantikan fungsi dari primary server. Dalam Failover Availability, terdapat 2 tipe yaitu synchronous dan asynchronous:
a. Synchronous
Dengan tipe ini, masing-masing server (primary dan secondary) saling melakukan sinkronisasi data, sehingga keseragaman data pada masing-masing server tersebut lebih terjamin.
Kelebihan:
· Keseragaman data pada kedua server lebih terjamin, sehingga pada saat terjadi failure, keselamatan data akan lebih terjamin
Kekurangan:
· Karena kedua server saling melakukan sinkronisasi, maka network traffic akan lebih tinggi jika dibandingkan dengan tipe Asynchronous
b. Asynchronous
Dengan tipe ini, sinkronisasi dilakukan dengan cara mengirim perubahan data pada server yang sedang aktif kepada server yang sedang pasif. Sehingga hanya satu server yang melakukan sinkronisasi dan pada akhirnya network traffic akan lebih terminimalisir. Contoh software pendukung yang menggunakan tipe ini adalah neverfail.
Kelebihan:
· Network traffic lebih terminimalisir
Kekurangan:
· Keseragaman data kurang terjamin
Wow..panjang juga yah... Sebagai informasi, posting ini sebagian besar saya kutip dari IBM Developer Works melalui artikelnya yang berjudul “Implementing high availability with DB2 9.5”. Melalui posting ini, saya harap anda dapat mengetahui konsep mana yang cocok untuk diimplementasikan untuk datacenter anda. Pada Posting selanjutnya, saya akan membahas tentang berbagai macam solusi yang dapat dipertimbangkan untuk diterapkan pada datacenter anda. Sampai bertemu pada posting saya yang selanjutnya.
Om infonya bagus banget, izin copy ya, buat landasan teori makalah saya. :D
BalasHapus