Anda di halaman 1dari 51

Distributed System Models

Cloud Computing and Distributed Systems (CLOUDS) Laboratory


Department of Computing and Information Systems
The University of Melbourne, Australia
http://www.cloudbus.org/652

© Pearson Education
Presentation Outline
 Introduction
 Model Fisik :
 Tiga Generasi DS: Awal, Skala Internet, Kontemporer
 Model Arsitektur
 Software Layers (Lapisan Perangkat Lunak)

 Arsitektur Sistem

 Client-Server
 Klien dan Server Tunggal, Beberapa Server, Server Proxy dengan Cache, Model
Peer
 Model Client-Sever alternatif didorong oleh :
 Kode Mobile, agen Mobile, komputer jaringan, klien kecil, perangkat Mobile, dan
jaringan alternatif
 Tantangan / Persyaratan Desain
 Model Fundamental - deskripsi formal
 Model interaksi, kegagalan, dan keamanan.

 Ringkasan

2
Introduction
 Sistem terdistribusi harus dirancang untuk berfungsi dengan
benar dalam SEMUA keadaan / skenario.
 Model sistem terdistribusi membantu dalam …
 .. mengklasifikasikan dan memahami implementasi yang berbeda
 .. mengidentifikasi kelemahan dan kekuatan mereka
 .. menyusun sistem baru dari blok bangunan yang telah divalidasi
sebelumnya
 Mempelajari model sistem terdistribusi dari berbagai
perspektif
 Struktur, organisasi, dan penempatan komponen
 Interaksi
 Sifat dasar sistem

3
Karakterisasi

 Struktur dan organisasi sistem dan hubungan


antar komponennya harus dirancang dengan
tujuan sebagai berikut:
 Untuk mencakup berbagai keadaan seluas mungkin.
 Untuk mengatasi kemungkinan kesulitan dan ancaman.
 Untuk memenuhi tuntutan saat ini dan mungkin masa depan.
 Model arsitektur menyediakan keduanya:
Dalam hal model implementasi dan blok
 titik awal yang pragmatis dasar
 pandangan konseptual Dalam hal pandangan logis sistem, aliran interaksi,
dan komponen
untuk mengatasi tantangan.

4
Karakterisasi : Tantangan (Kesulitan dan
Ancaman)

 Model penggunaan yang sangat bervariasi


 Variasi beban kerja yang tinggi, pemutusan sebagian
komponen, atau koneksi yang buruk.
 Beragam lingkungan sistem
 Perangkat keras, sistem operasi, jaringan, dan kinerja
heterogen.
 Masalah internal
 Jam yang tidak disinkronkan, pembaruan yang bentrok,
berbagai kegagalan perangkat keras dan perangkat lunak.
 Ancaman eksternal
 Serangan terhadap integritas data, kerahasiaan, dan penolakan
layanan.

5
Karakterisasi : Berurusan dengan Tantangan

 Observations
 Model penggunaan yang sangat bervariasi
 Struktur dan organisasi sistem memungkinkan distribusi beban
kerja, layanan yang berlebihan, dan ketersediaan yang tinggi.
 Beragam lingkungan sistem
 Struktur yang fleksibel dan modular memungkinkan penerapan
solusi yang berbeda untuk perangkat keras, OS, dan jaringan
yang berbeda.
 Masalah internal
 Hubungan antara komponen dan pola interaksi dapat
menyelesaikan masalah konkurensi, sedangkan struktur dan
organisasi komponen dapat mendukung mekanisme failover.
 Ancaman eksternal
 Keamanan harus dibangun ke dalam infrastruktur dan merupakan
dasar untuk membentuk hubungan antar komponen.

6
Models at a Glance
(Model Sekilas)

Model Fisik, Arsitektur, dan


Fundamental
Physical Models

 Representasi elemen H / W yang mendasari DS yang


mengabstraksi detail spesifik dari teknologi komputer /
jaringan.
 Model fisik dasar - sekumpulan kecil node.
 Tiga Generasi DS (Sistem Terdistribusi):
 DS awal [70-80]: Berbasis LAN, 10-100 node
 DS skala Internet [awal 90-2005]: Kluster, kisi, P2P (dengan node
otonom)
 DSs kontemporer: node dinamis dalam sistem seluler yang
menawarkan layanan sadar lokasi, Awan dengan kumpulan sumber
daya yang menawarkan layanan berdasarkan pembayaran sesuai
pemakaian.

8
Architectural model

 Model arsitektur dari sistem terdistribusi berkaitan


dengan penempatan bagian-bagiannya dan
hubungan di antara mereka. Contoh :
 Client-Server (CS) dan model proses peer.
 CS dapat dimodifikasi dengan:
 Partisi data / replikasi di server koperasi
 Caching data oleh server proxy atau klien
 Penggunaan kode seluler dan agen seluler
 Persyaratan untuk menambah atau menghapus
perangkat seluler.

9
Fundamental Models

 Model Fundamental berkaitan dengan deskripsi formal


properti yang umum di semua model arsitektur
 Model menangani sinkronisasi waktu, penundaan pesan,
kegagalan, masalah keamanan ditangani sebagai :
 Model Interaksi - berkaitan dengan kinerja dan kesulitan
pengaturan batas waktu dalam sistem terdistribusi.
 Model Kegagalan - spesifikasi kesalahan yang dapat
ditunjukkan oleh proses
 Model Keamanan - membahas kemungkinan ancaman terhadap
proses dan saluran komunikasi.

10
Model Arsitektur

Lapisan Perangkat Lunak


Arsitektur Sistem
Antarmuka dan Objek
Persyaratan Desain
Model Arsitektur - Intro [1]

 Arsitektur suatu sistem adalah strukturnya dalam kaitannya


dengan komponen-komponen yang ditentukan secara
terpisah.
 Tujuannya adalah untuk memenuhi permintaan saat ini dan
kemungkinan masa depan.
 Perhatian utama adalah membuat sistem dapat diandalkan, dapat
dikelola, mudah beradaptasi, dan hemat biaya.
 Model Arsitektur:
 Menyederhanakan dan mengabstraksi fungsi masing-masing
komponen
 Penempatan komponen di seluruh jaringan komputer - tentukan
pola distribusi data dan beban kerja
 Keterkaitan antar komponen - yaitu, peran fungsional dan pola
komunikasi di antara mereka.

12
Architectural Models – Intro [2]

 Model Arsitektur - menyederhanakan dan


mengabstraksi fungsi masing-masing komponen :
 Penyederhanaan awal dicapai dengan
mengklasifikasikan proses sebagai:
 Proses server
 Proses klien client
client server
server
 Proses rekan
 Bekerja sama dan berkomunikasi secara simetris untuk
melakukan suatu tugas.

peer
peer

13 peer
peer
Arsitektur dan Lapisan Perangkat Lunak

 Istilah arsitektur perangkat lunak mengacu pada:


 Awalnya untuk struktur perangkat lunak sebagai lapisan atau modul dalam satu komputer.
 Baru-baru ini dalam hal layanan yang ditawarkan dan diminta antara proses di komputer yang sama atau
berbeda.
 Memecah kompleksitas sistem dengan mendesainnya melalui lapisan dan layanan
 Lapisan: sekelompok komponen fungsional terkait
 Layanan: fungsionalitas yang disediakan untuk lapisan berikutnya.

Layer N

Layer 2

(services offered to above layer)

Layer 1

14
Lapisan layanan perangkat lunak dan
perangkat keras dalam sistem terdistribusi

Applications, services

Middleware

Operating system
Platform

Computer and network hardware

15
Platform

 Lapisan perangkat keras dan perangkat lunak terendah


sering disebut sebagai platform untuk sistem dan aplikasi
terdistribusi.
 Lapisan tingkat rendah ini menyediakan layanan ke lapisan
di atasnya, yang diimplementasikan secara independen di
setiap komputer.
 Contoh Utama
 Intel x86 / Windows
 Intel x86 / Linux
 Intel x86 / Solaris
 SPARC / SunOS
 PowerPC / MacOS

16
Middleware

 Lapisan perangkat lunak yang tujuannya adalah untuk menutupi


heterogenitas yang ada dalam sistem terdistribusi dan untuk
menyediakan model pemrograman yang nyaman bagi pengembang
aplikasi.
 Contoh Utama:
 Sun RPC (Panggilan Prosedur Jarak Jauh)
 OMG CORBA (Arsitektur Broker Permintaan Objek Umum)
 Microsoft D-COM (Model objek komponen terdistribusi)
 Sun Java RMI (Pemanggilan Metode Jarak Jauh)
 Contoh Middleware Modern::
 Manjrasoft Aneka– for Cloud computing
 IBM WebSphere
 Microsoft .NET
 Sun J2EE
 Google AppEngine
 Microsoft Azure

17
Sistem Arsitektur

 Aspek paling jelas dari desain DS adalah


pembagian tanggung jawab antara komponen
sistem (aplikasi, server, dan proses lainnya) dan
penempatan komponen pada komputer di
jaringan.
 Ini memiliki implikasi besar untuk :
 Performa, keandalan, dan keamanan sistem yang
dihasilkan.

18
Model Dasar Server Klien: Klien memanggil
server individu

Client invocation Server


invocation

result result
Server

Client
Key:
Process: Computer:

 Proses klien berinteraksi dengan proses server individu di komputer terpisah


untuk mengakses data atau sumber daya. Server pada gilirannya dapat
menggunakan layanan dari server lain.
 Contoh:
 Server Web sering kali merupakan klien dari file server.
 Browser  mesin pencari -> crawler  server web lainnya.
19
Jenis Arsitektur Client-Server
(Tier arch melengkapi arsitektur layer)
 Model dua tingkat (klasik)

client
client server
server

 Tiga tingkat (saat server, menjadi klien)

client
client Server/client
Server/client server
server

 Multi-tier (model kaskade)


server
server

client
client Server/client
Server/client Server/client
Server/client
server
server
20
Klien dan Server

 Interaksi umum antara klien dan server.

21
Layanan yang disediakan oleh banyak server
Service

Server
Client

Server

Client
Server

 Layanan dapat diimplementasikan sebagai beberapa proses server di komputer host yang
terpisah.
 Contoh: Aplikasi dan server Web berbasis cluster seperti Google, database paralel Oracle
22
Server proxy (transparansi replikasi) dan
cache: Server proxy web
Client Web
server
Proxy
server

Client Web
server

 Cache adalah penyimpanan data yang baru-baru ini


digunakan

23
Proses Peer: Aplikasi terdistribusi berdasarkan
proses peer
Peer 2

Peer 1
Application

Application

Sharable Peer 3
objects
Application

Peer 4

Application

Peers 5 .... N

 Semua proses memainkan peran yang sama, berinteraksi secara kooperatif


sebagai rekan untuk melakukan aktivitas atau komputasi terdistribusi tanpa
perbedaan antara klien dan server. Misalnya, sistem berbagi musik Gnutella,
Napster, Kaza, dll.
 "Papan putih" yang didistribusikan - pengguna di beberapa komputer untuk melihat
24 dan secara interaktif mengubah gambar di antara mereka.
P2P dengan Server Indeks Terpusat (misalnya
Arsitektur Napster)

peer
peer

peer
peer

peer
peer
peer
peer

peer
peer

peer
peer
peer
peer

25
Varian Model Server Klien: Kode seluler dan
applet Web
a) client request results in the downloading of applet code

Client Web
Applet code server

b) client interacts with the applet

Web
Client Applet server

 Applet yang diunduh ke klien memberikan respons interaktif yang baik


 Kode seluler seperti Applet berpotensi menjadi ancaman keamanan, jadi
browser memberi applet akses terbatas ke sumber daya lokal (misalnya
TIDAK ADA akses ke sistem file lokal / pengguna).
26
Varian Model Server Klien: Agen Seluler

 Program yang sedang berjalan (kode dan data) yang berjalan


dari satu komputer ke komputer lain dalam jaringan melakukan
tugas otonom, biasanya atas nama beberapa proses lain
 keuntungan: fleksibilitas, penghematan biaya komunikasi

 pasar virtual, pemeliharaan perangkat lunak pada komputer

dalam suatu organisasi.


 Potensi ancaman keamanan terhadap sumber daya di
komputer yang mereka kunjungi. Agen penerima sumber daya
lingkungan harus memutuskan sumber daya lokal mana yang
akan diizinkan. (mis., crawler dan server web).
 Agen itu sendiri dapat menjadi rentan - mereka mungkin tidak
dapat menyelesaikan tugas jika aksesnya ditolak.

27
Klien tipis dan server komputasi

Compute server
Network computer or PC

Thin network Application


Client Process

 Network computer: unduh OS dan aplikasi dari jaringan dan jalankan


di desktop (selesaikan masalah gradasi naik) saat runtime.
 Thin clients: UI berbasis Windows di mesin pengguna dan eksekusi
aplikasi di komputer jarak jauh. Misalnya, sistem X-11.

28
Perangkat seluler dan jaringan spontan
[Sistem Terdistribusi Generasi ke-3]

 Dunia semakin dihuni oleh perangkat komputasi kecil dan portabel.


 W-LAN perlu menangani perangkat roaming heterogen yang terus
berubah
 Perlu menyediakan layanan penemuan: (1) layanan pendaftaran untuk
memungkinkan server mempublikasikan layanan mereka dan (2)
layanan pencarian untuk memungkinkan klien menemukan layanan yang
memenuhi persyaratan mereka.
29
Kesimpulan - Model & Implikasi

 Penggunaan CS (Client-Server) berdampak pada


arsitektur perangkat lunak berikut:
 Distribusi tanggung jawab
 Mekanisme sinkronisasi antara klien dan server
 Jenis permintaan / tanggapan yang dapat diterima
 Model CS dasar, tanggung jawab dialokasikan secara
statis.
 File server bertanggung jawab atas file, bukan halaman web.
 Model proses peer, tanggung jawab dialokasikan secara
dinamis:
 Dalam sistem file sharing musik yang sepenuhnya terdesentralisasi, proses
pencarian dapat didelegasikan ke peer yang berbeda pada saat runtime.

30
Persyaratan Desain / Tantangan Sistem Terdistribusi
 Masalah perfoma
 Responsivitas
 Dukung klien interaktif

 Gunakan caching dan replikasi

 Throughput
 Load balancing dan ketepatan waktu
 Keandalan

 Keamanan

 Performa adaptif.

 Masalah ketergantungan:
 Ketepatan, keamanan, dan toleransi kesalahan

 Aplikasi yang dapat diandalkan terus bekerja jika ada kesalahan

dalam perangkat keras, perangkat lunak, dan jaringan.

31
Garis Besar Presentasi
 pengantar
 Model Arsitektur
 Lapisan Perangkat Lunak

 Arsitektur SistemClient-Server

 Clients and a Single Sever, Multiple Servers, Proxy Servers with

Caches, Peer Model


 Model Client-Sever alternatif didorong oleh:

 Kode seluler, agen seluler, komputer jaringan, klien kecil,

perangkat seluler, dan jaringan spontan


 Tantangan / Persyaratan Desain

 Model Fundamental - deskripsi formal


 Model Interaksi, Kegagalan, dan Keamanan.

 Ringkasan

32
Ringkasan Kuliah (II)
 Model Fundamental berkaitan dengan deskripsi formal dari properti
yang umum di semua model arsitektur.
 Semua model arsitektur terdiri dari proses yang berkomunikasi satu
sama lain dengan mengirimkan pesan melalui jaringan komputer.
 Model menangani sinkronisasi waktu, penundaan pesan,
kegagalan, masalah keamanan :
 Model Interaksi - berkaitan dengan kinerja dan kesulitan
pengaturan batas waktu dalam sistem terdistribusi.
 Model Kegagalan - spesifikasi kesalahan yang dapat ditunjukkan

oleh proses
 Model Keamanan - membahas kemungkinan ancaman terhadap

proses dan saluran komunikasi.

33
Model Interaksi
 Perhitungan terjadi dalam proses;
 Proses berinteraksi dengan meneruskan pesan, menghasilkan :
 Komunikasi (arus informasi)

 Koordinasi (sinkronisasi dan pemesanan aktivitas) antar

proses.
 Dua faktor penting yang mempengaruhi proses berinteraksi
dalam sistem terdistribusi adalah:
 Performa komunikasi seringkali merupakan karakteristik yang

membatasi.
 Tidak mungkin mempertahankan satu gagasan global

tentang waktu.

34
Model Interaksi: Kinerja Saluran Komunikasi
 Saluran komunikasi dalam model kami diwujudkan dalam berbagai cara di
DS. Misalnya, dengan penerapan:
 Aliran

 Pesan sederhana yang melewati jaringan.

 Komunikasi melalui jaringan komputer memiliki karakteristik kinerja :


 Latensi:

 Penundaan antara awal transmisi pesan dari satu proses ke awal

penerimaan oleh proses lainnya.


 Bandwidth:

 jumlah total informasi yang dapat dikirimkan dalam waktu tertentu.

 Saluran komunikasi yang menggunakan jaringan yang sama, harus

berbagi bandwidth yang tersedia.


 Naik opelet

 Variasi waktu yang dibutuhkan untuk menyampaikan serangkaian

pesan. Ini sangat relevan dengan data multimedia.

35
Model Interaksi: Jam komputer dan kejadian waktu

 Setiap komputer di DS memiliki jam internal sendiri, yang dapat


digunakan oleh proses lokal untuk mendapatkan nilai waktu saat ini.
 Oleh karena itu, dua proses yang berjalan di komputer berbeda
dapat mengaitkan stempel waktu dengan kejadiannya.
 Namun, meskipun dua proses membaca jamnya pada waktu yang
sama, jam lokalnya mungkin menyediakan waktu yang berbeda.
 Ini karena jam komputer menyimpang dari waktu yang tepat dan

kecepatan penyimpangannya berbeda satu sama lain.


 Bahkan jika jam pada semua komputer dalam DS diatur ke waktu
yang sama pada awalnya, jam mereka pada akhirnya akan sangat
bervariasi kecuali koreksi diterapkan.
 Ada beberapa teknik untuk mengoreksi waktu pada jam
komputer. Misalnya, komputer dapat menggunakan penerima
radio untuk mendapatkan pembacaan dari GPS (Global
Positioning System) dengan akurasi sekitar 1 mikrodetik.

36
Model Interaksi: Dua varian model interaksi

 Dalam DS, sulit untuk menetapkan batas waktu pada waktu yang
dibutuhkan untuk eksekusi proses, pengiriman pesan, atau pergeseran
jam.
 Synchronous DS - sulit dicapai:
 Waktu yang dibutuhkan untuk menjalankan suatu langkah dari suatu
proses telah diketahui batas bawah dan batas atasnya.
 Setiap pesan yang dikirim melalui saluran diterima dalam waktu
terbatas yang diketahui.
 Setiap proses memiliki jam lokal yang laju penyimpangannya dari
waktu nyata telah diketahui terikat.
 Asynchronous DS: Tidak ada batasan pada:
 Kecepatan eksekusi proses
 Penundaan transmisi pesan
 Tingkat penyimpangan jam.

37
Model Interaksi: Pengurutan Peristiwa

 Dalam banyak aplikasi DS, kami tertarik untuk


mengetahui apakah suatu peristiwa terjadi
sebelum, sesudah, atau secara bersamaan
dengan peristiwa lain di proses lain.
 Eksekusi suatu sistem dapat dijelaskan dalam

istilah peristiwa dan urutannya meskipun tidak


memiliki jam yang akurat.
 Pertimbangkan milis dengan: pengguna X, Y, Z,
dan A.
38
Pengurutan acara secara waktu nyata

send receive receive


X
1 m1 4
m2
send
2 3 receive Physical
Y
receive time

send
Z
receive receive

m3 m1 m2
A
receive receive receive
t1 t2 t3

39
Kotak Masuk Pengguna A terlihat seperti:

Item From Subject


23 Z Re: Meeting
24 X Meeting
26 Y Re: Meeting
 Karena pengiriman independen dalam pengiriman pesan, pesan mungkin
dikirim dalam urutan yang berbeda.
 Jika pesan m1, m2, m3 membawa waktunya t1, t2, t3, maka pesan tersebut
dapat ditampilkan kepada pengguna sesuai dengan pemesanan waktu mereka.

40
Model Kegagalan

 Dalam DS, baik proses maupun saluran


komunikasi mungkin gagal - yaitu, mereka
mungkin menyimpang dari apa yang dianggap
sebagai perilaku yang benar atau diinginkan.
 Jenis kegagalan :
 Kegagalan Kelalaian
 Kegagalan Sewenang-wenang
 Kegagalan Pengaturan Waktu

41
Proses dan saluran

process p process q

send m receive

Communication channel
Outgoing message buffer Incoming message buffer

 Saluran komunikasi menghasilkan kegagalan kelalaian jika


tidak mengirimkan pesan dari buffer pesan keluar "p" ke buffer
pesan masuk "q". Ini dikenal sebagai "menjatuhkan pesan"
dan umumnya disebabkan oleh kurangnya ruang buffer di
penerima atau di gateway atau oleh kesalahan transmisi
jaringan.
42
Kelalaian dan kegagalan sewenang-wenang
Kelas-Kegagalan Effeck Deskripsi
Gagal-berhenti Process Proses terhenti dan tetap terhenti.
Proses lain dapat mendeteksi status
ini.
Crash Process Proses terhenti dan tetap terhenti.
Proses lain mungkin tidak dapat
mendeteksi status ini.
Kelalaian Channel Pesan yang dimasukkan dalam
buffer pesan keluar tidak pernah
sampai di buffer pesan masuk
pihak lain.
kelalaian-kirim Process proses menyelesaikan pengiriman,
tetapi pesan tersebut tidak
dimasukkan ke dalam buffer pesan
keluarnya.
kelalaian- Process Sebuah pesan dimasukkan ke dalam
terima buffer pesan masuk dari suatu proses,
tetapi proses itu tidak menerimanya.
43
Kegagalan pengaturan waktu

Kelas Kegagalan Effeck Description

Jam Process Jam lokal proses melebihi batas


pada laju penyimpangannya dari
waktu nyata.

Performance Process Proses melebihi batas pada


tingkat interval penyimpangan dari
waktu nyata.

Performance Channel Pengiriman pesan membutuhkan


waktu lebih lama dari batas yang
dinyatakan.
44
Kegagalan Masking
 Dimungkinkan untuk membangun layanan yang andal dari
komponen yang menunjukkan kegagalan.
 Misalnya, beberapa server yang menyimpan replika data

dapat terus menyediakan layanan saat salah satunya


mogok..
 Pengetahuan tentang karakteristik kegagalan suatu
komponen dapat memungkinkan layanan baru dirancang
untuk menutupi kegagalan komponen yang bergantung
padanya:
 Checksum digunakan untuk menutupi pesan yang rusak.

45
Model Keamanan

 Keamanan DS dapat dicapai dengan


mengamankan proses dan saluran yang
digunakan dalam interaksi dan dengan
melindungi objek yang mereka enkapsulasi dari
akses yang tidak sah.

46
Melindungi Objek: Objek dan prinsipal
Access rights Object
invocation

Client
result Server

Principal (user) Network Principal (server)

 Gunakan "hak akses" yang menentukan siapa yang diizinkan


untuk melakukan operasi pada suatu objek.
 Server harus memverifikasi identitas kepala sekolah
(pengguna) di belakang setiap operasi dan memeriksa bahwa
mereka memiliki hak akses yang memadai untuk melakukan
operasi yang diminta pada objek tertentu, menolak mereka
yang tidak melakukannya.
47
Penyerang

Copy of m

The enemy
m’
Processp m Processq
Communication channel

 Untuk memodelkan ancaman keamanan, kami


mengendalilkan penyerang yang mampu mengirim proses
apa pun atau membaca / menyalin pesan di antara
sepasang proses
 Potensi Ancaman penyerangan l: ancaman terhadap
proses, ancaman terhadap saluran komunikasi, dan
penolakan layanan.
48
Mengalahkan ancaman keamanan:
Saluran aman
PrincipalA PrincipalB

Processp Secure channel Processq

 Enkripsi dan otentikasi digunakan untuk membangun saluran aman.


 Setiap proses mengetahui identitas prinsipal yang atas namanya
dijalankan oleh proses lain dan dapat memeriksa hak akses mereka
sebelum melakukan operasi.

49
Ringkasan

 Kebanyakan DS disusun sesuai dengan salah satu dari


berbagai model arsitektur: :
 Server klien

 Klien dan Satu Server, Beberapa Server, Server Proxy

dengan Cache, Model Peer


 Model Client-Sever alternatif didorong oleh:

 Kode seluler, agen seluler, komputer jaringan, klien

kecil, perangkat seluler, dan jaringan spontan


 Model Fundamental - deskripsi formal
 Model interaksi, kegagalan, dan keamanan.

 Konsep yang dibahas dalam modul memainkan peran penting


saat merancang DS dan aplikasi

50
Chapter 2

Lanjut Chapter ke 3
Komunikasi antar Proses

51

Anda mungkin juga menyukai