|
Tantangan Yang Dihadapi Dalam Sistem Terdistribusi |
1. Heterogenity
Sistem terdistribusi tersusun atas beberapa jenis
jaringan yang tentunya memiliki perbedaan diantaranya.
Selain itu sistem ini juga terdiri atas sistem
operasi, perangkat keras, dan bahasa pemrograman yang berbeda.
Dengan internet protokol, diharapkan perbedaan
perbedaan jaringan dapat diatasi karena menggunakan protokol yang sama
Dengan menerapkan midleware, dapat mengatasi
perbedaan lainnya yang berfungsi sebagai penghubung untuk komunikasi dan
proses.
Contoh Heterogenity :
Aplikasi terdistribusi biasa berjalan dalam
keberagaman :
-
Hardware (mainframe, workstation, PC’s,
server, dll)
-
Software (UNIX, MSWindows, IMB OS/2,
LINUX, dll)
-
Devices (teller machine, robot, sistem
manufacture)
-
Network dan protocol (Ethernet, FDDI,
ATM, TCP/IP)
2. Keterbukaan
(Openess)
Mendukung extensibility
Setiap komponen memiliki antarmuka (interface), yang
di publish ke komponen lain.
Perlu integrasi berbagai komponen yang dibuat oleh
programmer atau vendor yang berbeda
Setiap layanan (services) harus dapat diakses oleh
semua user
Mudah dalam implementasi, instal dan debug services
User dapat membuat dan menginstal serviceyang telah
dibuat oleh user tersebut.
Contoh keterbukaan (openess)
Aspek kunci pada openess :
-
Interface dan protocol yang standard
(seperti protokol komunikasi di internet)
-
Support terhadap keanekaragaman (dengan
membuat midleware seperti COBRA).
3. Keamanan
(Security)
-
Untuk mengamankan informasi, dapat
dilakukan dengan metode enkripsi. Enkripsi ini dapat membantu menyediakan
perlindungan yang cukup terhadap sumber yang dapat diakses pengguna dimana
saja.
-
Enkripsi tersebut dapat menjaga data
data rahasia tetap aman saat dikirim melalui jaringan.
-
Salah satu masalah utamayang ada
mengenai hal itu adalah denial of service.
-
Confidentiality : keamanan terhadap data
yang diakses oleh user yang tidak diperbolehkan (unauthorizes user).
-
Integrity : keamanan terhadap
kelengkapan dan autentikasi data
-
Availability : menjaga agar resource
dapat selalu diakses
4. Skalability
-
Sebuah sistem terdistribusi dapat
diperbesar jika biaya penambahan user tidak terlalu besar atau masih berada dalam
jumlah yang stabil.
-
Algoritma untuk mengakses data harus
menghindari efek bottleneck
-
Selain itu, data juga distrukturisasi
secara hierarki agar dapat diakses dalam waktu yang singkat.
-
Sistem tetap harus memperhatikan
efisiensi walaupun terdapat penambahan secara signifikan user atau sumber daya yang terhubung :
o
Cost (biaya) penambhaan sumber daya
(resources) harus reasonable
o
Penurunan kinerja (performance)
diakibatkan oleh penambahan user atau sumber daya harus terkontrol.
5. Reliabitlty dan Fault Tolerance
-
Availability : kalau mesin mati (down),
sistem tetap harus berjalan dengan jumlah layanan yang tersisa.
o
Komponen yang sangat vital (critical
resources) berjumlah seminimal mungkin.
o
Software dan Hardware harus di replikasi
: kalau terjadi kegagalan atau error maka yang
lain akan menangani
o
Data dalam sistem tidak boleh hilang
o
Copy file disimpan secara redundan pada
server lain. Tapi tetap harus dijaga konsistensi datanya.
-
Fault Tolerance : sistem harus bisa mendeteksi
kegagalan dan melakukan tindakan dengan dasar sebagai berikut :
o
Mask The Fault (Menutupi Kegagalan) :
tugas harus dapat dilanjutkan dengan menurunkan kinerja tapi tanpa terjadi
kehilangan data atau informasi.
o
Fail Gravefully : membuat suatu
antisipasi terhadap suatu kegagalan kesuatu prosedur yang telah direncanakan
dan memungkinkan untuk menghentikan proses dalam waktu yang singkat tanpa
kehilangan informasi atau data.
6. Konkuren
(Concurency)
-
Adanya beberapa user sekaligus dalam
sistem terdistribusi dapat menjadi peminta request ke sumber yang disediakan
server
-
Dalam lingkungan yang konkuren, setiap
sumber harus didesain menjadi aman untuk diakses
7. Transparan
-
Transparan : bagi pengguna, keberadaan
beberapa komponen tampak sebagai satu sistem saja.
o
Access transparency : Local & remote
resources dapat diakses dengan operasi yang sama.
o
Location transparency : resource dapat
diakses tanpa tahu dimana lokasinya.
o
Cocurerrency Transparency : beberapa
proses dapat sama sama menggunakan suatu resource tanpa saling interferensi.
o
Scalling transparency : Sistem dan
aplikasi mudah bertambah luas tanpa perubahan struktur sistem dan algoritma
aplikasi.
o
Replication transparency : pemakai
maupun pemrogram aplikasi tidak perlu mengetahui adanya replikasi resource,
yang dapat meningkatkan kehandalan dan unjuk kerja
o
Failure Transparency : Pemakai dan
pemrogram aplikasi dapat menyelesaikan tugasnya walaupun ada kegagalan hardware
atau software
o
Mobility Transparency : Resource dan
klien dapat berpindah tanpa mempengaruhi operasi pemakai atau program.
o
Performance tramsparency : Sistem dapat
dikonfigurasi ulang untuk meningkatkan unjuk kerja, sejalan dengan perubahan
beban sistem.