(SisTer) Program Studi Teknik Informatika Universitas Trunojoyo Madura 04 September 2015
Garis Besar Perkuliahan 1 Perkuliahan 2 3
Dosen Sekilas Perkuliahan, S.Kom., MT. (S1 Ilmu Komputer UGM, S2 Informatika ITB) Web: http://husni.trunojoyo.ac.id Email: husni@if.trunojoyo.ac.id Kantor: Lab. CC dan Lab. SisTer, 3 Gedung Lab. Bersama Jam Diskusi: Kamis 13.00 s.d 16.30, Jumat, 10.00-11.30
Tujuan Perkuliahan Perkuliahan
Buku Teks dan Prasyarat Textbook Andrew S. Tanenbaum and Maarten Van Steen, Distributed Systems: Principles and Paradigms (2nd Edition), 2007 Prasyarat: Sistem Operasi Jaringan Komputer
Buku Teks dan Prasyarat Textbook Andrew S. Tanenbaum and Maarten Van Steen, Distributed Systems: Principles and Paradigms (2nd Edition), 2007 Prasyarat: Sistem Operasi Jaringan Komputer
Topik Perkuliahan Arsitektur Proses Komunikasi Penamaan Sinkronisasi Konsistensi dan Replikasi Toleransi Kegagalan Keamanan (dilewatkan) Sistem File Terdistribusi (tentatif).
Hasil yang Diharapkan Memahami cara kerja sistem terdistribusi Mampu menjelaskan: Prinsip-prinsip yang mendasari berfungsinya sistem terdistribusi Bagaimana prinsip-prinsip tersebut diterapkan dalam sistem terdistribusi, apa masalah dan tantangannya Mampu memperkirakan secara cermat pengaruh pilihan rancangan dan fitur-fitur pada sistem terdistribusi Mampu merancang dan mengimplementasikan aplikasi terdistribusi (prototipe)
Hasil yang Diharapkan Memahami cara kerja sistem terdistribusi Mampu menjelaskan: Prinsip-prinsip yang mendasari berfungsinya sistem terdistribusi Bagaimana prinsip-prinsip tersebut diterapkan dalam sistem terdistribusi, apa masalah dan tantangannya Mampu memperkirakan secara cermat pengaruh pilihan rancangan dan fitur-fitur pada sistem terdistribusi Mampu merancang dan mengimplementasikan aplikasi terdistribusi (prototipe)
Hasil yang Diharapkan Memahami cara kerja sistem terdistribusi Mampu menjelaskan: Prinsip-prinsip yang mendasari berfungsinya sistem terdistribusi Bagaimana prinsip-prinsip tersebut diterapkan dalam sistem terdistribusi, apa masalah dan tantangannya Mampu memperkirakan secara cermat pengaruh pilihan rancangan dan fitur-fitur pada sistem terdistribusi Mampu merancang dan mengimplementasikan aplikasi terdistribusi (prototipe)
Hasil yang Diharapkan Memahami cara kerja sistem terdistribusi Mampu menjelaskan: Prinsip-prinsip yang mendasari berfungsinya sistem terdistribusi Bagaimana prinsip-prinsip tersebut diterapkan dalam sistem terdistribusi, apa masalah dan tantangannya Mampu memperkirakan secara cermat pengaruh pilihan rancangan dan fitur-fitur pada sistem terdistribusi Mampu merancang dan mengimplementasikan aplikasi terdistribusi (prototipe)
Penilaian Perkuliahan Komponen yang dinilai: Ujian Tengah Semester (UTS): 40% (Tertutup) Laporan Perkembangan Proyek: 25% (Pertemuan ke-7) Laporan Akhir Proyek: 35% (Pertemuan ke-13 dan ke-14) Konversi Nilai Akhir: A > 80 80 > B > 70 70 > C > 60 60 > D > 50 E < 50
Penilaian Perkuliahan Komponen yang dinilai: Ujian Tengah Semester (UTS): 40% (Tertutup) Laporan Perkembangan Proyek: 25% (Pertemuan ke-7) Laporan Akhir Proyek: 35% (Pertemuan ke-13 dan ke-14) Konversi Nilai Akhir: A > 80 80 > B > 70 70 > C > 60 60 > D > 50 E < 50
Ketentuan Perkuliahan Mengikuti aturan UTM dan Fakultas Teknik Keterlambatan: tidak lebih 15 menit Kelas dimulai 13.00 (tepat) Pakaian: Tidak menggunakan T-Shirt, Sandal, Celana Pendek, Celana Training. Tidak ketat! Posisi duduk: Perempuan di sisi kiri, laki-laki di sisi kanan Gadget: Di-silent-kan atau dimatikan. Tidak digunakan. Hanya Dosen yang boleh menggunakan Gadget! Terakhir: Dosen tidak dapat obyektif 100%, perilaku Mahasiswa mempengaruhi penilaian.
Ketentuan Proyek Perkuliahan Proyek dikerjakan oleh Kelompok (3 s.d 5 Mahasiswa). Segera buat kelompok! Tahap I: membuat web crawler (2 minggu) Tahap II: mendistribusikan web crawler pada minimal 3 komputer (5 minggu). Aplikasikan konsep sistem terdistribusi ke dalam proyek tersebut. Laporan: Penjelasan rancangan, cara kerja dan kode program. Laporan dan Slide presentasi wajib ditulis menggunakan Tex (LaTEX) Software/Tool tidak dibatasi. Paling penting: paham dan mampu menjelaskan!
Perkuliahan Definisi bebas Suatu kumpulan komputer independen yang muncul kepada pengguna sebagai sistem tunggal yang koheren Karakteristik Komponen-komponen otonom (yaitu komputer) Suatu sistem tunggal yang koheren Perbedaan antara komponen serta komunikasi di antara mereka tersembunyi dari pengguna Pengguna dapat berinteraksi dengan cara yang seragam dan konsisten terlepas dari mana dan kapan interaksi berlangsung Mudah diperluas dan diganti Dalam hal tertentu, sistem terdistribusi adalah sebuah sistem operasi yang mengelola beberapa komputer terhubung melalui jaringan
Perkuliahan Definisi bebas Suatu kumpulan komputer independen yang muncul kepada pengguna sebagai sistem tunggal yang koheren Karakteristik Komponen-komponen otonom (yaitu komputer) Suatu sistem tunggal yang koheren Perbedaan antara komponen serta komunikasi di antara mereka tersembunyi dari pengguna Pengguna dapat berinteraksi dengan cara yang seragam dan konsisten terlepas dari mana dan kapan interaksi berlangsung Mudah diperluas dan diganti Dalam hal tertentu, sistem terdistribusi adalah sebuah sistem operasi yang mengelola beberapa komputer terhubung melalui jaringan
Perkuliahan Definisi bebas Suatu kumpulan komputer independen yang muncul kepada pengguna sebagai sistem tunggal yang koheren Karakteristik Komponen-komponen otonom (yaitu komputer) Suatu sistem tunggal yang koheren Perbedaan antara komponen serta komunikasi di antara mereka tersembunyi dari pengguna Pengguna dapat berinteraksi dengan cara yang seragam dan konsisten terlepas dari mana dan kapan interaksi berlangsung Mudah diperluas dan diganti Dalam hal tertentu, sistem terdistribusi adalah sebuah sistem operasi yang mengelola beberapa komputer terhubung melalui jaringan
Perkuliahan Di Dunia Internet modern, komputasi terdistribusi adalah salah satu teknologi kunci yang memainkan peran penting. Sistem terdistribusi mengharuskan server berjalan di ruang alamat yang berbeda, berpotensi pada host yang berbeda, dan dapat berkomunikasi satu sama lain. Data dalam jumlah besar (beberapa terabyte) dapat dibaca dan diproses secara paralel, dalam hitungan detik pada jenis komputasi ini
Perkuliahan Di Dunia Internet modern, komputasi terdistribusi adalah salah satu teknologi kunci yang memainkan peran penting. Sistem terdistribusi mengharuskan server berjalan di ruang alamat yang berbeda, berpotensi pada host yang berbeda, dan dapat berkomunikasi satu sama lain. Data dalam jumlah besar (beberapa terabyte) dapat dibaca dan diproses secara paralel, dalam hitungan detik pada jenis komputasi ini
Perkuliahan Di Dunia Internet modern, komputasi terdistribusi adalah salah satu teknologi kunci yang memainkan peran penting. Sistem terdistribusi mengharuskan server berjalan di ruang alamat yang berbeda, berpotensi pada host yang berbeda, dan dapat berkomunikasi satu sama lain. Data dalam jumlah besar (beberapa terabyte) dapat dibaca dan diproses secara paralel, dalam hitungan detik pada jenis komputasi ini
Sistem Operasi Terdistribusi
Infrastruktur Aplikasi Modern
Infrastruktur Web: Load Balancer
Load Balancing Perkuliahan
Load Balancing Perkuliahan
Virtualisasi Berbasis Container
Virtualisasi vs. Docker
Virtualisasi vs. Docker vs. OSv
Cloud Computing Perkuliahan
Cloud Computing Perkuliahan
Perkuliahan
Web Crawler Perkuliahan
Web Crawler Banyak Thread
Web Crawler Terdistribusi
Software/Tool Penting & Menarik OpenStack: membangun infrastruktur cloud sendiri MySQL atau MariaDB: fitur replikasi multi-masternya untuk mengelola database yang tersebar di beberapa mesin GlusterFS: replikasi file antar server secara otomatis Docker: virtualisasi berbasis container yang ringan, cepat dan mengatasi masalah heterogenitas HAProxy: load balancer dan reverse Proxy Nginx: web server yang ringan dan stabil
Software/Tool Penting & Menarik OpenStack: membangun infrastruktur cloud sendiri MySQL atau MariaDB: fitur replikasi multi-masternya untuk mengelola database yang tersebar di beberapa mesin GlusterFS: replikasi file antar server secara otomatis Docker: virtualisasi berbasis container yang ringan, cepat dan mengatasi masalah heterogenitas HAProxy: load balancer dan reverse Proxy Nginx: web server yang ringan dan stabil
Software/Tool Penting & Menarik OpenStack: membangun infrastruktur cloud sendiri MySQL atau MariaDB: fitur replikasi multi-masternya untuk mengelola database yang tersebar di beberapa mesin GlusterFS: replikasi file antar server secara otomatis Docker: virtualisasi berbasis container yang ringan, cepat dan mengatasi masalah heterogenitas HAProxy: load balancer dan reverse Proxy Nginx: web server yang ringan dan stabil
Software/Tool Penting & Menarik OpenStack: membangun infrastruktur cloud sendiri MySQL atau MariaDB: fitur replikasi multi-masternya untuk mengelola database yang tersebar di beberapa mesin GlusterFS: replikasi file antar server secara otomatis Docker: virtualisasi berbasis container yang ringan, cepat dan mengatasi masalah heterogenitas HAProxy: load balancer dan reverse Proxy Nginx: web server yang ringan dan stabil
Software/Tool Penting & Menarik OpenStack: membangun infrastruktur cloud sendiri MySQL atau MariaDB: fitur replikasi multi-masternya untuk mengelola database yang tersebar di beberapa mesin GlusterFS: replikasi file antar server secara otomatis Docker: virtualisasi berbasis container yang ringan, cepat dan mengatasi masalah heterogenitas HAProxy: load balancer dan reverse Proxy Nginx: web server yang ringan dan stabil
Software/Tool Penting & Menarik OpenStack: membangun infrastruktur cloud sendiri MySQL atau MariaDB: fitur replikasi multi-masternya untuk mengelola database yang tersebar di beberapa mesin GlusterFS: replikasi file antar server secara otomatis Docker: virtualisasi berbasis container yang ringan, cepat dan mengatasi masalah heterogenitas HAProxy: load balancer dan reverse Proxy Nginx: web server yang ringan dan stabil
Recall: Proyek Web Crawler Terdistribusi Buat web crawler tunggal, pastikan berjalan dengan baik Buat atau salinkan web crawler ke mesin lain. Pastikan dua atau tiga web crawler tersebut berjalan sesuai harapan. Samakan semua data pada semua mesin yang menjalankan Crawler. Jika salah satu program web Crawler dibetulkan, dicoding lagi, pastikan perubahan tersebut juga terjadi pada Web Crawler lain Semua web crawler perlu berkoordinasi? Perlu berbagi data? Banyak cara menyelesaikan masalah, lakukan dan perhatikan? ;-)
Recall: Proyek Web Crawler Terdistribusi Buat web crawler tunggal, pastikan berjalan dengan baik Buat atau salinkan web crawler ke mesin lain. Pastikan dua atau tiga web crawler tersebut berjalan sesuai harapan. Samakan semua data pada semua mesin yang menjalankan Crawler. Jika salah satu program web Crawler dibetulkan, dicoding lagi, pastikan perubahan tersebut juga terjadi pada Web Crawler lain Semua web crawler perlu berkoordinasi? Perlu berbagi data? Banyak cara menyelesaikan masalah, lakukan dan perhatikan? ;-)
Recall: Proyek Web Crawler Terdistribusi Buat web crawler tunggal, pastikan berjalan dengan baik Buat atau salinkan web crawler ke mesin lain. Pastikan dua atau tiga web crawler tersebut berjalan sesuai harapan. Samakan semua data pada semua mesin yang menjalankan Crawler. Jika salah satu program web Crawler dibetulkan, dicoding lagi, pastikan perubahan tersebut juga terjadi pada Web Crawler lain Semua web crawler perlu berkoordinasi? Perlu berbagi data? Banyak cara menyelesaikan masalah, lakukan dan perhatikan? ;-)
Recall: Proyek Web Crawler Terdistribusi Buat web crawler tunggal, pastikan berjalan dengan baik Buat atau salinkan web crawler ke mesin lain. Pastikan dua atau tiga web crawler tersebut berjalan sesuai harapan. Samakan semua data pada semua mesin yang menjalankan Crawler. Jika salah satu program web Crawler dibetulkan, dicoding lagi, pastikan perubahan tersebut juga terjadi pada Web Crawler lain Semua web crawler perlu berkoordinasi? Perlu berbagi data? Banyak cara menyelesaikan masalah, lakukan dan perhatikan? ;-)
Recall: Proyek Web Crawler Terdistribusi Buat web crawler tunggal, pastikan berjalan dengan baik Buat atau salinkan web crawler ke mesin lain. Pastikan dua atau tiga web crawler tersebut berjalan sesuai harapan. Samakan semua data pada semua mesin yang menjalankan Crawler. Jika salah satu program web Crawler dibetulkan, dicoding lagi, pastikan perubahan tersebut juga terjadi pada Web Crawler lain Semua web crawler perlu berkoordinasi? Perlu berbagi data? Banyak cara menyelesaikan masalah, lakukan dan perhatikan? ;-)
Recall: Proyek Web Crawler Terdistribusi Buat web crawler tunggal, pastikan berjalan dengan baik Buat atau salinkan web crawler ke mesin lain. Pastikan dua atau tiga web crawler tersebut berjalan sesuai harapan. Samakan semua data pada semua mesin yang menjalankan Crawler. Jika salah satu program web Crawler dibetulkan, dicoding lagi, pastikan perubahan tersebut juga terjadi pada Web Crawler lain Semua web crawler perlu berkoordinasi? Perlu berbagi data? Banyak cara menyelesaikan masalah, lakukan dan perhatikan? ;-)