Sistem Terdistribusi & Paralel TIK-604 Husni.trunojoyo.ac.id/kuliah/sister
Tren dan Tantangan Pertemuan 02, 08 Maret 2017
Husni
[email protected]
Hari ini… ▪ Bahasan terakhir: ▪ Pengantar Perkuliahan ▪ Mengapa sistem terdistribusi? ▪ Apa saja requirement utama terdistribusi?
untuk
membangun
sistem
▪ Bagian I: Tren di bidang sistem terdistribusi ▪ Bagian II: Tantangan umum dalam membangun terdistribusi
sistem
▪ Bahasan hari ini:
▪ Pengumuman: ▪ Deadline proyek 1 kurang 7 hari lagi
Hari ini… Bagian I Tren di bidang Sistem Terdistribusi
Tren dalam Sistem Terdistribusi ▪ Sistem terdistribusi sedang menjalani periode perubahan signifikan dan ini terlihat dari sejumlah tren sedunia: ✓Hadirnya teknologi pervasive networking ✓Hadirnya ubiquitous computing yang dipadukan dengan semangat mendukung mobility pengguna dalam sistem terdistribusi ✓Peningkatan kebutuhan layanan multimedia ✓Munculnya sistem terdistribusi sebagai utilities ✓ Lainnya…
Tren dalam Sistem Terdistribusi ▪ Sistem terdistribusi sedang menjalani periode perubahan signifikan dan terlihat dari sejumlah tren besar: ✓Kehadiran teknologi pervasive networking ✓ Kehadiran ubiquitous computing yang dipadukan dengan keinginan mendukung mobility pengguna dalam sistem terdistribusi ✓ Peningkatan kebutuhan layanan multimedia ✓ Hadirnya sistem terdistribusi sebagai utilities ✓ Lainnya…
Pervasive Networking ▪ Kemajuan teknologi jaringan komputer melahirkan berbagai jenis jaringan, termasuk: ▪ ▪ ▪ ▪
telah
WiFi WiMAX Bluetooth Overlay network (mis. BitTorrent dan jaringan peer-topeer)
▪ Jaringan menjadi sumber daya pervasif (meresap) dan perangkat dapat dihubungkan setiap saat dan di setiap tempat
Internet Modern ▪ Suatu koleksi besar inter-koneksi jaringan komputer dari banyak jenis berbeda ▪ Memungkinkan pengguna dimanapun berada untuk memanfaatkan layanan-layanan seperti World Wide Web, email dan file transfer. intranet
☎ ☎
ISP
☎
☎
backbone
satellite link desktop computer: server: network link:
Pervasive Networking dan Internet Modern ▪ Beberapa pertanyaan penting:
▪ Bagaimana program-program yang berjalan di atas komputer heterogen terjaring berinteraksi? ▪ Dapatkah himpunan layanan yang tersedia di Internet diperluas?
▪ Dapatkah program-program berinteraksi dengan handal dan aman (reliable dan secure)?
Tren dalam Sistem Terdistribusi ▪ Sistem terdistribusi sedang menjalani periode perubahan signifikan dan terlihat dari sejumlah tren besar: ✓ Kehadiran teknologi pervasive networking
✓ Kehadiran ubiquitous computing yang dipadukan dengan kebutuhan mendukung mobility pengguna dalam sistem terdistribusi ✓ Peningkatan kebutuhan layanan multimedia ✓ Tampilan sistem terdistribusi sebagai utilitas ✓ Lainnya…
Komputasi Mobile & Ubiquitous ▪ Kemajuan perangkat mini dan jaringan nirkabel menghadirkan integrasi perangkat komputasi kecil dan portabel ke dalam sistem terdistribusi. Perangkat ini meliputi: ▪ ▪ ▪ ▪
Laptop computers Handheld devices (mis. Perangkat GPS-enabled & PDA) Wearable devices (mis. Jam pintar) Perangkat tertanam dalam peralatan (mis. Mesin cuci & mobil)
▪ Enabler dari komputasi bergerak dan Ubiquitous: ▪ Portabilitas perangkat ▪ Kemudahan koneksi
Komputasi Mobile & Ubiquitous
Mobile computing adalah kemampuan untuk melakukan komputasi selama bergerak atau mengunjungi tempattempat selain daripada lingkungan kebiasaan kita.
Ubiquitous computing adalah ketersediaan tenaga komputasional on demand di sekitar kita sehingga pengolahan informasi menjadi terintegrasi ke dalam obyek dan aktifitas sehari-hari.
Komputasi Mobile & Ubiquitous ▪ Ubiquitous computing hanya terwujud ketika mobile computing betul-betul siap.
▪ Komputasi mobile dan ubiquitous memperkenalkan sepasang tantangan bagi sistem terdistribusi: ▪ Menghadapi pergantian koneksi dan diskoneksi ▪ Menjaga operasi tetap berjalan selama perangkat bergerak.
Contoh ▪ Sistem Perawatan Kesehatan (Health Care System): ▪ perangkat baru sedang dikembangkan untuk memantau kesehatan individu dan secara otomatis menghubungi dokter bila diperlukan ▪ sistem perawatan kesehatan pribadi sering dilengkapi dengan berbagai sensor yang ditata dalam (sebaiknya nirkabel) jaringan body-area (BAN) ▪ BAN harus mampu beroperasi selama seseorang bergerak, tanpa string (kabel) yang melekat pada perangkat takbergerak (di luar badan).
Health Care Systems (HCS)
Persoalan pada HCS • Dimana dan bagaimana data termonitor harus disimpan? • Bagaimana mencegah hilangnya data kritis? • Infrastruktur apa yang dibutuhkan untuk menghasilkan dan mengirimkan peringatan? • Bagaimana dokter dapat memberikan umpan balik secara online? • Bagaimana ketahanan ekstrim dari sistem pemantauan direalisasikan? • Apa saja isu-isu keamanan dan bagaimana kebijakan yang tepat dapat ditegakkan?
Tren dalam Sistem Terdistribusi ▪ Sistem terdistribusi sedang menjalani periode perubahan signifikan dan terlihat dari sejumlah tren besar: ✓ Kehadiran teknologi pervasive networking ✓ Kehadiran ubiquitous computing yang dipadukan keinginan untuk mendukung mobility pengguna dalam sistem terdistribusi
✓ Peningkatan kebutuhan layanan multimedia ✓ Pandangan sistem terdistribusi sebagai komoditas ✓ Lainnya…
Sistem Multimedia Terdistribusi ▪ Dukungan layanan multimedia berarti kemampuan mendukung sederetan media diskrit dan kontinu
▪ Manfaat komputasi multimedia terdistribusi: ▪ ▪ ▪ ▪ ▪
Akses ke siaran TV live atau rekaman Akses ke pustaka ceramah Webcasting Akses ke pustaka penyedia layanan video-on-demand Penyediaan fasilitas konferensi audio dan video, dengan fitur telepon terintegrasi
Kebutuhan Sistem Multimedia Terdistribusi ▪ Prasyarat utama aplikasi multimedia terdistribusi adalah infrastruktur distribusi, untuk: ▪ Menyediakan dukungan (extensible) format encoding dan enkripsi (misalnya, MPEG standar) ▪ Menyediakan mekanisme untuk memastikan terpenuhinya kualitas dari layanan (QoS) yang diinginkan ▪ Memberikan strategi pengelolaan sumber daya terkait, termasuk kebijakan penjadwalan yang tepat untuk mendukung QoS yang diinginkan ▪ Menyediakan strategi adaptasi untuk menghadapi situasi “harus” dalam sistem terbuka di mana QoS tidak dapat dipenuhi atau dipertahankan.
Tren dalam Sistem Terdistribusi ▪ Sistem terdistribusi sedang menjalani periode perubahan signifikan dan terlihat dari sejumlah tren besar: ✓ Kehadiran teknologi pervasive networking ✓ Kehadiran ubiquitous computing yang dipadukan dengan keinginan mendukung mobility pengguna dalam sistem terdistribusi ✓ Peningkatan kebutuhan layanan multimedia
✓Pandangan sistem terdistribusi sebagai utilitas ✓ Lainnya…
Komputasi Terdistribusi sebagai Utilitas ▪ Sumber daya terdistribusi dapat dipandang sebagai suatu komoditas atau utilitas sebagaimana air dan listrik. ▪ Sumber daya disediakan oleh pemasok layanan yang tepat dan disewa oleh end-user, tidak perlu dimiliki.
▪ Istilah cloud computing digunakan untuk memahami pandangan ini.
Enabler dan Manfaat ▪ Cloud diimplementasikan pada komputer-komputer komoditas untuk menyediakan skala dan kinerja yang diperlukan. ▪ Virtualisasi dianggap sebagai enabler kunci untuk resource sharing, customization dan elasticity
▪ Manfaat: ▪ Membuka pandangan segalanya sebagai layanan ▪ Memungkinkan perangkat desktop atau portabel mudah mengakses (secara potensial) sumber daya dan layanan yang luas ▪ Scalability dan elasticity
Pelopor Cloud: Grid ▪ Grid computing dapat dipandang sebagai pelopor bagi cloud computing dengan bias ke arah dukungan bagi aplikasi ilmiah (operasi matematika) ▪ Grid computing terdiri dari sistem terdistribusi yang sering dibangun sebagai suatu federasi sistem komputer loosely coupled (tergabung secara bebas), heterogen (berbedabeda), dan tersebar secara geografis.
Tantangan Terbuka Cloud Computing ▪ ▪ ▪ ▪ ▪
Keamanan Cloud Model Pemrograman Cloud QoS dalam Cloud Cloud Hemat Energy Sistem Penyimpanan Cloud
▪ Lainnya…
Hari ini…
Bagian II
Tantangan Ketika Merancang Sistem Terdistribusi
Jebakan saat Pengembangan Sistem Terdistribusi Asumsi salah yang dibuat oleh pengembang (pertama kali): • • • • • • •
Jaringan pasti handal (tangguh) Jaringan selalu aman Jaringan homogen Topologi tidak akan berubah Latency tidak ada (zero) Bandwidth tak-terbatas Ada setidaknya seorang Administrator
Tantangan Perancangan Sistem Terdistribusi ▪ Banyak persoalan hadir saat perancangan sistem terdistribusi: 1. 2. 3. 4. 5. 6. 7. 8.
Heterogenitas Keterbukaan Keamanan Skalabilitas Penanganan Kegagalan Paralelisme Transparansi Kualitas Layanan
Heterogeneity Openness Security Scalability Failure Handling Concurrency Transparency Quality of Service
Tantangan Perancangan Sistem Terdistribusi ▪ Banyak Persoalan hadir saat perancangan sistem terdistribusi:
1. Heterogenitas
Heterogeneity
2. 3. 4. 5. 6. 7. 8.
Openness Security Scalability Failure Handling Concurrency Transparency Quality of Service
Keterbukaan Keamanan Skalabilitas Penanganan Kegagalan Paralelisme Transparansi Kualitas Layanan
Tantangan 1: Heterogenitas ▪ Heterogenitas berlaku terhadap: a. Jaringan b. Hardware Komputer c. Sistem Operasi d. Bahasa Pemrograman.
Solusi: Middleware ▪ Lapisan software yang menyediakan abstraksi pemrograman dan menyembunyikan heterogenitas jaringan, hardware, sistem operasi dan bahasa pemrograman yang melandasi.
Tantangan Perancangan Sistem Terdistribusi ▪ Banyak Persoalan hadir saat perancangan sistem terdistribusi: 1. Heterogenitas
Heterogeneity
2. Keterbukaan
Openness
3. 4. 5. 6. 7. 8.
Security Scalability Failure Handling Concurrency Transparency Quality of Service
Keamanan Skalabilitas Penanganan Kegagalan Paralelisme Transparansi Kualitas Layanan
Tantangan 2: Keterbukaan ▪ Keterbukaan: sejauh mana sistem dapat diperluas dan direimplementasi dengan berbagai pendekatan.
▪ Sistem terdistribusi terbuka: ▪ Dicirikan dengan antarmuka utamanya dipublikasikan
▪ Berdasarkan ketentuan dari mekanisme komunikasi yang seragam untuk mengakses ke sumber daya bersama ▪ (Atau dapat) dibangun dari komponen hardware dan software heterogen dan diuji kesesuaiannya dengan standar yang diterbitkan.
Tantangan Perancangan Sistem Terdistribusi ▪ Banyak Persoalan hadir saat perancangan sistem terdistribusi: 1. Heterogenitas 2. Keterbukaan
Heterogeneity Openness
3. Keamanan
Security
4. 5. 6. 7. 8.
Scalability Failure Handling Concurrency Transparency Quality of Service
Skalabilitas Penanganan Kegagalan Paralelisme Transparansi Kualitas Layanan
Tantangan 3: Keamanan ▪ Sumber daya informasi yang dikelola dalam sistem terdistribusi memiliki nilai hakiki tinggi bagi pengguna ▪ Persyaratan: ▪ Pengiriman informasi sensitif di dalam pesan melalui jaringan harus diamankan. ▪ Mengenali identitas pengguna (atas nama siapa pesan itu dikirim)
▪ Memastikan bahwa proses hanya mendapat hak akses sesuai haknya (yang ditetapkan sebelumnya).
Keamanan Sumber Daya ▪ Keamanan sumber daya informasi mencakup : ▪ Confidentiality (kerahasiaan): perlindungan terhadap pengungkapan oleh individu yang tidak sah ▪ Integritas: perlindungan terhadap perubahan/korupsi ▪ Ketersediaan: perlindungan terhadap gangguan pada sarana akses sumber daya ▪ Beberapa masalah belum tuntas dalam sistem terdistribusi : ▪ Serangan penggagalan layanan (denial of service) ▪ Keamanan kode bergerak (mobile code)
Tantangan Perancangan Sistem Terdistribusi ▪ Banyak Persoalan hadir saat perancangan sistem terdistribusi: 1. Heterogenitas 2. Keterbukaan 3. Keamanan
Heterogeneity Openness Security
4. Skalabilitas
Scalability
5. 6. 7. 8.
Failure Handling Concurrency Transparency Quality of Service
Penanganan Kegagalan Paralelisme Transparansi Kualitas Layanan
Tantangan 4: Skalabilitas ▪ Sistem terdistribusi dikatakan scalable jika tetap efektif saat jumlah sumber daya dan pengguna meningkat signifikan. Tanggal
Komputer
Web Server
%
1993, July
1,776,000
130
0.008
1995, July
6,642,000
23,500
0.4
1997, July
19,540,000
1,203,096
6
1999, July
56,218,000
6,598,697
12
2001, July
125,888,197
31,299,592
25
2003, July
~200,000,000
42,298,371
21
2005, July
353,284,187
67,571,581
19
Tantangan bagi Skalabilitas ▪ Desain sistem terdistribusi scalable menghadirkan tantangan berikut : ▪ Mengontrol biaya sumber daya fisik: Secara umum, jumlah sumber daya fisik yang disyaratkan sebaiknya tidak lebih O (n) untuk sistem dengan n pengguna ▪ Mengontrol hilangnya kinerja: skala struktur hirarkis lebih baik daripada yang linier ▪ Mencegah habisnya sumber daya software: beberapa masalah tidak memiliki solusi jangka panjang yang tepat ▪ Menghindari kemacetan kinerja: algoritma desentralisasi umumnya lebih baik daripada yang terpusat.
Solusi-solusi Skalabilitas ▪ Teknik terbukti berhasil : ▪ Replikasi dan caching dengan memperhatikan konsistensi ▪ Penyebaran beberapa server untuk menangani tugas biasa yang mungkin dapat di-concurrency ▪ Desentralisasi tabel lookup (mis. tabel pada DNS)
Domain Name System
Tantangan Perancangan Sistem Terdistribusi ▪ Banyak Persoalan hadir saat perancangan sistem terdistribusi: 1. 2. 3. 4.
Heterogenitas Keterbukaan Keamanan Skalabilitas
Heterogeneity Openness Security Scalability
5. Penanganan Kegagalan
Failure Handling
6. Paralelisme 7. Transparansi 8. Kualitas Layanan
Concurrency Transparency Quality of Service
Tantangan 5: Failure Handling ▪ Meskipun banyak mesin digunakan untuk kerjasama satu dengan lain, tetap ada peluang gagal.
▪ Kegagalan dalam sistem terdistribusi sifatnya parsial ▪ Teknik berurusan dengan kegagalan:
▪ ▪ ▪ ▪
Pendeteksian kegagalan Penyembunyian kegagalan Toleransi kegagalan Pemulihan dari kegagalan
Tantangan Perancangan Sistem Terdistribusi ▪ Banyak Persoalan hadir saat perancangan sistem terdistribusi: 1. 2. 3. 4. 5.
Heterogenitas Keterbukaan Keamanan Skalabilitas Penanganan Kegagalan
Heterogeneity Openness Security Scalability Failure Handling
6. Paralelisme
Concurrency
7. Transparansi 8. Kualitas Layanan
Transparency Quality of Service
Tantangan 6: Concurrency ▪ Dalam sistem terdistribusi, beberapa klien mungkin mencoba untuk mengakses suatu sumber daya bersama secara bersamaan ▪ Jika obyek tidak beroperasi dengan benar dan melakukan sinkronisasi satu sama lain, maka dapat muncul inkonsistensi.
Tantangan Perancangan Sistem Terdistribusi ▪ Banyak Persoalan hadir saat perancangan sistem terdistribusi: 1. 2. 3. 4. 5. 6.
Heterogenitas Keterbukaan Keamanan Skalabilitas Penanganan Kegagalan Paralelisme
Heterogeneity Openness Security Scalability Failure Handling Concurrency
7. Transparansi
Transparency
8. Kualitas Layanan
Quality of Service
Tantangan 7: Transparansi Transparansi Deskripsi Access Menyembunyikan perbedaan representasi data & bagaimana sumber daya di akses Location Menyembunyikan dimana sumber daya berada Migration Menyembunyikan perpindahan sumber daya ke lokasi lain Relocation Menyembunyikan perpindahan sumber daya ke lokasi lain saat sedang digunakan Replication Menyembunyikan bahwa sumber daya direplikasi Concurrency Menyembunyikan bahwa sumber daya dapat di-share oleh banyak pengguna kompetitif Failure Menyembunyikan kegagalan & pemulihan sumber daya
Tantangan Perancangan Sistem Terdistribusi ▪ Banyak Persoalan hadir saat perancangan sistem terdistribusi: 1. 2. 3. 4. 5. 6. 7.
Heterogenitas Keterbukaan Keamanan Skalabilitas Penanganan Kegagalan Paralelisme Transparansi
8. Kualitas Layanan
Heterogeneity Openness Security Scalability Failure Handling Concurrency Transparency
Quality of Service
Tantangan 8: Kualitas Layanan ▪ Setelah layanan berfungsi sebagaimana diperlukan, pertanyaan berikutnya adalah kualitas layanan (QoS)-nya. ▪ Properti non-fungsional utama yang mempengaruhi QoS : ▪ ▪ ▪ ▪
Reliability (keandalan) Security (keamanan) Performance (kinerja) Kemampuan beradaptasi untuk memenuhi perubahan konfigurasi sistem ▪ Ketersediaan sumber daya komputasi dan jaringan yang diperlukan pada waktu yang tepat.
Kuliah Berikutnya Arsitektur Sistem Terdistribusi