ANALISIS DAN IMPLEMENTASI DISTRIBUTED CL

ANALISIS DAN IMPLEMENTASI DISTRIBUTED CLOUD STORAGE SERVER
DENGAN JARINGAN PEER-TO-PEER
Radika Samsu Wardana, Achmad Basuki, Eko Sakti Pramukantoro
Teknik Informatika, Program Teknologi Informasi dan Ilmu Komputer
Universitas Brawijaya

Abstrak
Distributed server adalah arsitektur yang
dapat digunakan agar client mendapatkan
pengalaman interaksi yang lebih baik
terhadap layanan. Arsitektur distributed
cloud storage server menggunakan lebih dari
satu server, sehingga dibutuhkan mekanisme
untuk mengelola sinkronisasi antar server.
Mekanisme yang dapat digunakan adalah
replikasi, yaitu menyamakan perubahan data
pada satu server dengan server lainnya. Pada
penelitian ini, sebuah aplikasi cloud storage
service OwnCloud dipadukan dengan
BitTorrent Sync, menghasilkan sistem
distributed cloud storage. Protokol Bit

Torrent yang bekerja secara peer-to-peer
berguna untuk menyeimbangkan waktu
replikasi terhadap banyaknya jumlah server
yang digunakan pada arsitektur distributed
cloud storage. Dengan distributed cloud
storage server, banyaknya client yang
mengakses tidak membuat performa
pengalaman interaksi oleh client merosot
tajam.
Keyword:
Cloud
Storage,
Sistem
Terdistribusi, Bit Torrent Sync
1. Pendahuluan
Cloud storage adalah sebuah layanan
yang menyediakan penyimpanan data pada
sebuah server. Karena data disimpan di
server, cloud storage memiliki beberapa
kelebihan, salah satunya untuk bekerja


berkolaborasi [NIE-14]. Selain itu, dengan
cloud storage pengguna tidak bergantung
hanya pada perangkat miliknya sendiri, serta
data menjadi dapat diakses dari manapun
melalui jaringan internet.
Masalah untuk menyimpan data pada
server terjadi pada jaringan internet.
Jaringan internet tersusun atas berbagai
macam jaringan yang berbeda karakteristik
dan kemampuannya sehingga terdapat
kemungkinan terjadi bottleneck. Bottleneck
dapat mempengaruhi kecepatan pengiriman
data antara server dengan client. Menurut
Tom Leighton, semakin jauh jarak pengguna
dari server, maka kecepatan pengiriman data
akan semakin lambat dan waktu download
akan semakin lama [LEI-09].
CDN merupakan sebuah arsitektur yang
dapat menjadi solusi bagi masalah tersebut.

CDN mengantarkan konten dan aplikasi ke
edge server yang berada dekat dengan client,
sehingga client tidak perlu mengakses server
yang jauh untuk menikmati layanan.
Keberadaan lokasi geografis server yang
relatif dekat dengan client akan memberikan
performa layanan yang efisien karena
meminimalisir tingkat terjadinya kemacetan
yang dapat terjadi di sepanjang jaringan
[NYG-10].
Untuk mewujudkan arsitektur tersebut
dibutuhkan sebuah mekanisme replikasi
untuk menjaga sinkronisasi antar edge
server. Sinkronisasi dilakukan dengan

jaringan peer-to-peer agar dapat memadai
jumlah replikasi data ke banyak server yang
digunakan. Dengan jaringan peer-to-peer,
semakin banyak node yang bertukar data,
kapasitas

kemampuan
sistem
akan
meningkat, dan semua node bekerja sama
untuk mentransfer data [MEN-10]. Pada
penelitian ini akan dipaparkan metode untuk
menerapkan arsitektur distributed cloud
storage dengan jaringan peer-to-peer.
2. Permasalahan
Pada arsitektur distributed server
menggunakan
banyak
server
untuk
membangun suatu layanan. Karena satu
layanan disediakan oleh banyak server,
maka server-server tersebut harus tetap
sinkron antara satu dengan lainnya.
Untuk mewujudkan arsitektur ini
dibutuhkan mekanisme replikasi agar

layanan pada setiap edge server tetap
sinkron. Hal ini diperlukan agar layanan
yang disediakan oleh salah satu server sama
dengan server lainnya, sehingga tidak terjadi
perbedaan dari manapun client mengakses.
Sistem yang diajukan pada penelitian ini
dirancang agar dapat meningkatkan kualitas
layanan terhadap client. Dengan arsitektur
distributed server, client akan mendapatkan
pengalaman interaksi secara lokal karena
edge server berada dekat dengan client.
Namun ketika sebuah perbaruan konten
terjadi pada server, data perbaruan harus
disampaikan ke server lainnya. Selama
proses terjadi sinkronisasi antar server, akan
terdapat selang waktu sinkronisasi. Ini
menyebabkan adanya kemungkinan konten
tidak dapat diakses oleh client lain untuk
sementara waktu. Oleh karena itu, pada
penelitian ini akan dilakukan analisis

terhadap kinerja distribusi data konten antar

server secara peer-to-peer serta kinerja
sistem terhadap client.
3. Tinjauan Pustaka
Arsitektur Content Delivery Network
banyak digunakan untuk mendistribusikan
konten dan aplikasi ke edge server. Edge
server adalah sebuah server yang berada di
ujung jaringan internet, berada dekat dengan
client. Dengan arsitektur ini diharapkan
client dapat merasakan pelayanan yang lebih
baik, karena server seolah-olah hanya
melayani client tersebut. Komunikasi client
dan edge server tidak perlu melewati
jaringan
yang
jauh,
menghindari
kemungkinan terjadinya collision dan

bottleneck di sepanjang jaringan.

Gambar 1 Komponen sistem dari delivery
network
BitTorrent merupakan sebuah protokol
yang
digunakan
untuk
membangun
komunikasi secara peer-to-peer. Kelebihan
protokol ini adalah pertukaran data tidak
hanya dilakukan 2 arah antara client dengan
server, namun melibatkan seluruh host yang

terhubung dengan jaringan. Semakin banyak
host yang bertukar data, kapasitas
kemampuan sistem akan meningkat, dan
semua host berkolaborasi untuk mentransfer
data.
Arsitektur sistem pada penelitian ini

memiliki desain mendekati arsitektur CDN.
Sistem akan menggunakan beberapa server
yang didistribusikan ke wilayah client yang
tersebar. Karena banyaknya server yang
akan digunakan pada arsitektur server
terdistribusi, maka komunikasi antar server
akan
dilakukan
secara
peer-to-peer
menggunakan aplikasi BitTorrent Sync.
Dengan aplikasi ini, distribusi konten dan
aplikasi antar server dapat dilakukan secara
peer-to-peer dan diharapkan menghasilkan
performa yang lebih baik.
4. Metode Penelitian
Untuk melakukan analisis, diperlukan
implementasi sistem agar mendapatkan hasil
pengujian. Implementasi sistem layanan
Cloud Storage dilakukan menggunakan

aplikasi OwnCloud. OwnCloud adalah
sebuah aplikasi cloud storage berbasis web
menggunakan bahasa php. Aplikasi ini dapat
digunakan untuk membangun layanan cloud
storage sendiri yang bekerja dengan server
tunggal.
Untuk mewujudkan distributed server,
maka dibutuhkan mekanisme sinkronisasi
untuk mengirimkan konten dari satu server
ke server lainnya. BitTorrent Sync adalah
sebuah aplikasi yang dikembangkan di atas
protokol Bit Torrent. Aplikasi ini berguna
untuk melakukan sinkronisasi direktori antar
komputer. Pada penelitian ini, direktori
ownCloud pada masing-masing server akan
disinkronisasi oleh BitTorrent Sync,
sehingga perubahan data baru yang terjadi

pada salah satu server akan disampaikan ke
server lainnya. Dengan proses ini,

sinkronisasi antar server dapat terwujud.
Pada sistem yang dibuat pada penelitian
ini, pemilihan server dilakukan berdasarkan
alamat IP pengguna. Dengan menggunakan
BIND9 DNS View, dns server dapat
mengarahkan client untuk mengakses dari
server yang sesuai dengan alamat IP-nya.
Sistem yang akan diteliti memiliki
desain hasil pendekatan dari arsitektur CDN,
namun mekanisme replikasi akan dilakukan
dengan aplikasi BitTorrent Sync sehingga
sinkronisasi antar server dapat dilakukan
secara peer-to-peer.

Gambar 2 Implementasi Desain
Pengujian terhadap sistem dilakukan
dengan beberapa skenario. Layanan dari
sistem diuji dengan memberikan beberapa
client yang mengakses server secara
bersamaan. Sistem dengan arsitektur server

tunggal
juga
dilakukan
sebagai
perbandingan. Sedangkan pada sistem
dengan arsitektur server terdistribusi,
pengujian dilakukan dengan menambahkan
server sesuai dengan pertambahan jumlah
client. Dengan skenario tersebut, dapat
dilihat peningkatan performa dari sistem
yang dibuat dalam penelitian ini.

5. Implementasi dan Pengujian
Sistem diterapkan dan diuji pada
laboraturium jaringan komputer Universitas
Brawijaya. Sistem dibangun menggunakan
perangkat keras serta perangkat lunak sesuai
dengan analisis kebutuhan. Implementasi
sistem sesuai dengan desain yang telah
dibuat.
Mula-mula disiapkan perangkat keras
berupa komputer server yang menjalankan
layanan. Masing-masing komputer server
dipasang perangkat lunak OwnCloud agar
dapat menjalankan aplikasi Cloud Storage.
Namun agar terbentuk sistem Cloud Storage
dengan server terdistribusi, maka dilakukan
sinkronisasi konten antar server.
Sinkronisasi dilakukan menggunakan
aplikasi BitTorrent Sync (BTSync). BTSync
dapat dikonfigurasi melalui antarmuka web.

Gambar 3 Konfigurasi BTSync melalui
antarmuka web
Sinkronisasi dilakukan terhadap direktori
/var/www/owncloud pada masing-masing
server, sehingga layanan dari aplikasi
OwnCloud antara semua server dapat tetap
sinkron.
Sistem layanan Cloud Storage pada
penelitian
ini
menggunakan
server
terdistribusi, sehingga diperlukan sebuah

mekanisme untuk melakukan pemilihan
server bagi client yang mengakses.
Pemilihan ini dilakukan menggunakan
BIND9 DNS View. DNS View akan
menentukan server yang tepat bagi client
berdasarkan alamat IP yang dimiliki oleh
client. DNS View mendapatkan informasi
alamat IP client, kemudian mengarahkan
client tersebut ke alamat server tertentu,
sesuai dengan ketentuan yang telah
dilakukan pada perancangan.
Setelah implementasi sistem berhasil
dilakukan, maka dilakukan pengujian
terhadap sistem tersebut. Pengujian diawali
dengan menerapkan lingkungan jaringan
yang sesuai dengan skenario. Kondisi
jaringan didapatkan dengan emulasi
menggunakan aplikasi NetEm. Dengan
emulasi tersebut, lingkungan jaringan akan
sesuai
dengan
kebutuhan
skenario.
Pengujian kemudian dapat dilakukan.
Pengujian sistem pertama menggunakan
arsitektur server tunggal. Sebuah komputer
diinstal sebagai sebuah server OwnCloud.
Server ini digunakan untuk melayani seluruh
client secara langsung. Beberapa client
sesuai dengan skenario terhubung kepada
server untuk melakukan permintaan konten..
Pengujian dilakukan dengan melakukan
pengunduhan konten sebesar 100MB dari
server Cloud Storage oleh client. Pengujian
dilakukan
untuk
mengetahui
waktu
download yang dibutuhkan pada proses
pengunduhan konten oleh client terhadap
server.
Pengujian sistem kedua menggunakan
arsitektur server terdistribusi. Beberapa
komputer untuk berperan sebagai server
OwnCloud ditambahkan agar terdapat lokal
server bagi masing-masing client. Semua

mengakses dapat mempengaruhi sistem
dalam menyediakan layanan karena terjadi
perbedaan jumlah pengguna jaringan yang
ada. Pengujian dengan skenario ini
dilakukan untuk mengetahui kemampuan
sistem dari masing-masing sistem dalam
menjalankan layanan.
6. Hasil dan Pembahasan
Komunikasi lokal memang relatif lebih
baik dibandingkan dengan komunikasi jarak
jauh. Oleh karena itu, pada penelitian ini
desain dibuat dengan membangun server
lokal untuk masing-masing client yang
berada jauh dari server pusat. Dengan
demikian,
client
dapat
merasakan
komunikasi lokal terhadap layanan karena
akses dilakukan terhadap server lokal.

Download Time

80
Waktu (detik)

server
yang
ditambahkan
memiliki
spesifikasi yang sama, dengan konfigurasi
dan emulasi jaringan yang sama. Masingmasing server berperan sebagai server lokal
untuk setiap client yang ada. Pengujian
dilakukan dengan melakukan pengunduhan
konten sebesar 100MB dari lokal Cloud
Storage server oleh client. Pengujian
dilakukan
untuk
mengetahui
waktu
download yang dibutuhkan pada proses
pengunduhan konten oleh client terhadap
server. Pada arsitektur server terdistribusi
terdapat waktu sinkronisasi antar server agar
konten dapat tersedia pada seluruh server.
Waktu download yang dibutuhkan dapat
dihitung dengan menjumlahkan waktu
sinkronisasi ditambah dengan waktu
download oleh client dari lokal server.
Untuk mendapatkan waktu transfer akan
dilakukan pencatatan terhadap waktu
penulisan file selesai pada masing-masing
server. Waktu transfer dapat diketahui
dengan menghitung selisih waktu antara
konten berhasil ditulis pada satu host hingga
selesai berhasil ditulis pada host lainnya.
Informasi mengenai berkas konten dapat
ditampilkan dengan perintah stat. Informasi
mengenai pencatatan waktu terhadap konten
juga ditampilkan dengan perintah ini. Agar
pencatatan waktu dapat dilakukan secara
presisi maka digunakan shell script yang
dapat melakukan pencatatan secara otomatis
ketika file selesai ditulis.
Skenario pengujian diterapkan dengan
delapan macam kondisi yang menentukan
jumlah client yang mengakses layanan dari
sistem. Skenario pertama, sistem diakses
oleh sebuah client, dan seterusnya hingga
pada skenario delapan sistem diakses oleh 8
client. Perbedaan jumlah client yang

60
40
20
0
1

2
3
4
5
6
7
8
Jumlah Client yang mengakses
Server Tunggal

Lokal Server

Gambar 4 Perbandingan waktu download
dari central server dengan lokal server
Pada gambar 4 dapat dilihat bahwa
akses terhadap lokal server lebih baik
terhadap server tunggal. Ini dikarenakan
pada server tunggal hanya terdapat satu
server, sehingga memiliki jarak yang tetap
jauh dari client serta melalui jaringan
internet yang memiliki masalah perbedaan
kapasitas bandwidth. Sementara jarak client
terhadap lokal server lebih dekat dibanding
jarak client terhadap server lainnya. Lokasi

latency yang minimum, karena pada
komunikasi lokal tidak terbatas jarak dan
infrastruktur.
Dalam konteks waktu pengiriman data,
banyaknya server yang meminta data pada
sistem
server
terdistribusi
dapat
dianalogikan sebagai banyaknya client yang
meminta data pada sistem server tunggal.
Namun, dalam sistem server terdistribusi
proses permintaan data dilakukan secara
peer-to-peer.
Perbandingan
waktu
pengiriman konten (data distribution time)
secara client-server dengan peer-to-peer
dapat dilihat pada grafik gambar 5.

Distribution Time
80
Waktu (detik)

lokal server yang dekat dengan client
memberikan latency yang kecil. Selain itu,
karena akses terhadap lokal server tanpa
perlu melalui internet, maka bandwidth yang
tersedia dapat digunakan dengan maksimal
karena jalur hanya digunakan oleh layanan.
Dari hasil pengujian tampak bahwa
lamanya waktu download akan semakin
berlipat secara linear seiring dengan
meningkatnya
jumlah
client
yang
mengakses.
Artinya
ketika
terjadi
penambahan jumlah client yang mengakses,
lamanya waktu download akan berkali lipat
sesuai jumlah client. Sehingga, tampak pada
grafik dengan semakin bertambahnya
jumlah client yang mengakses, maka
semakin jauh perbedaan waktu download
yang dibutuhkan. Karena waktu download
pada sistem server tunggal oleh sebuah
client sudah lebih buruk dibanding dari lokal
server, maka semakin bertambahnya client
yang
mengakses
akan
memperjauh
perbedaan waktu download dari kedua
sistem tersebut.
Sementara itu, lokal server dapat
disediakan dengan menggunakan arsitektur
server terdistribusi. Menggunakan arsitektur
ini berarti menambahkan beberapa server
yang diletakan pada beberapa wilayah sesuai
dengan client yang akan dilayani. Ini artinya
pada jaringan antar server tetap terdapat
batasan latency dan bandwidth yang tersedia
untuk mengirimkan konten dari satu server
menuju server lainnya. Namun batasan
tersebut tidak dirasakan oleh client secara
langsung, karena terjadi pada komunikasi
antar server. Ketika konten telah tersedia
pada lokal server, maka client dapat
berkomunikasi dengan server secara lokal
yang memiliki bandwidth yang besar dengan

60
40
20
0
1

2

3
4
5
6
7
Jumlah Host
Client-server
Peer-to-peer

8

Gambar 5 Waktu distribusi menggunakan
client-server dan peer-to-peer
Grafik pada gambar 5 menunjukkan
bahwa dengan jumlah host yang sedikit,
proses pengiriman data secara peer-to-peer
lebih memakan waktu lama dibanding
dengan secara client-server . Namun, seiring
bertambahnya host yang melakukan
permintaan data, peningkatan waktu
download
yang
dibutuhkan
dalam
komunikasi peer-to-peer tidak setajam
peningkatan waktu yang terjadi pada
komunikasi client-server . Host pada grafik
dapat dianalogikan sebagai client pada
arsitektur server tunggal, serta sebagai lokal

server pada arsitektur server terdistribusi.
Sehingga
dapat
disimpulkan
bahwa
permintaan data dari banyak lokal server
pada arsitektur server terdistribusi lebih baik
dibandingkan permintaan data dari banyak
client pada arsitektur server tunggal, karena
dalam
arsitektur
server
terdistribusi
pengiriman data dilakukan secara peer-topeer .
Pengujian pada arsitektur server
terdistribusi
diasumsikan
dengan
menambahkan lokal server untuk masingmasing client yang melakukan akses,
sehingga terdapat lokal server sesuai dengan
jumlah client. Oleh karena itu masingmasing lokal server diakses oleh 1 client.
Perbandingan waktu download untuk kedua
arsitektur dapat dilihat pada gambar 6. Pada
grafik terlihat bahwa pengaruh pertambahan
jumlah lokal server terhadap waktu
download tidak setajam dibanding dengan
pengaruh pertambahan jumlah client yang
mengakses server secara langsung.

Download Time
Waktu (detik)

80

waktu yang dibutuhkan untuk mengirimkan
konten dari server menuju client.
Sedangkan pada sistem dengan server
terdistribusi, penghitungan waktu download
merupakan waktu yang dibutuhkan oleh
seluruh lokal server untuk mendapatkan
konten terlebih dahulu, ditambah dengan
waktu yang dibutuhkan untuk mengirimkan
konten dari masing-masing lokal server
menuju client.
Pada grafik diatas menunjukkan
perbedaan pola peningkatan waktu
download dari kedua arsitektur. Perbedaan
waktu download dari kedua arsitektur
tersebut dapat terjadi karena pengiriman
data konten dari server pusat ke seluruh
lokal server dilakukan secara peer-to-peer,
sedangkan pengiriman data konten dari
server tunggal ke seluruh client dilakukan
secara client-server . Semakin banyak
jumlah client maka layanan menggunakan
arsitektur server terdistribusi semakin lebih
baik dibandingkan dengan server tunggal.
Dengan ini dapat disimpulkan bahwa
sistem yang diajukan dapat menekan
kenaikan waktu download oleh karena
bertambahnya jumlah pengguna

60
40
20
0
1

2

3
4
5
6
Jumlah Client

Single Server

7

8

Distributed Server

Gambar 6 Perbandingan waktu download
dengan arsitektur single server dengan
distributed server terhadap jumlah client
Pada sistem dengan server tunggal,
penghitungan waktu download merupakan

7. Kesimpulan dan Saran
Dari hasil implementasi, pengujian, dan
analisis dari sistem layanan Cloud Storage
dengan server terdistribusi menggunakan
jaringan peer-to-peer, dapat disimpulkan
bahwa:
• Sistem berupa layanan Cloud Storage
yang diajukan berhasil diterapkan serta
dapat bekerja secara fungsional dalam
lingkungan server terdistribusi untuk
melayani banyak client.
• Sinkronisasi antar server Cloud Storage
dengan
menggunakan
BTSync

(mekanisme replikasi data menggunakan
jaringan peer-to-peer) dapat bekerja
dengan baik dalam mendistribusikan
perbaruan konten pada setiap server,
sehingga dari manapun client mengakses
akan mendapatkan layanan dan konten
yang sama, walaupun secara fisik
terhubung pada server yang berbeda.
• Penambahan jumlah server Cloud
Storage tidak akan menambah waktu
sinkronisasi secara linear, sehingga
dapat
menekan
kenaikan
waktu
download oleh karena bertambahnya
jumlah client.
Saran yang dapat disampaikan penulis untuk
pengembangan distributed Cloud Storage
server adalah:
• Perlu dilakukan penelitian lebih lanjut
untuk mengetahui kinerja sistem Cloud
Storage dengan server terdistribusi
terhadap lingkungan jaringan lainnya,
tidak terbatas pada skenario yang
diterapkan pada penelitian ini.
• Perlu dilakukan penelitian terhadap
mekanisme distribusi server secara peerto-peer yang lebih baik, sehingga dapat
mengurangi
lama
waktu
proses
pengiriman data antar server.
• Dilakukan pengembangan terhadap
aplikasi dalam menyertakan penerapan
distribusi konten secara peer-to-peer
hingga level client.
Daftar Pustaka
Leighton, T. 2009. “Improving
Performance on the Internet”.
[NYG-10] Nygren, Erik, Ramesh K. Sitaraman,
dan Jennifer Sun. 2010. “The
Akamai Network: A Platform for
[LEI-09]

[SAR-02]

[DAV-04]

[SAU-12]

[PAK-05]

[MYI-11]

[DIL-02]

[MEN-10]

[NIE-14]

High-Performance Internet
Applications”.
S. Saroiu, K. P. Gummadi, R. J.
Dunn, S. D. Gribble, and H. M.
Levy. 2002. "An Analysis of
Internet Content Delivery Systems".
Davis, Andy, Jay Parikh, William E.
Weihl. 2004. “EdgeComputing:
Extending Enterprise Applications
to the Edge of the Internet”.
Pushp, Saumay, dan Priya Ranjan.
2012. "Hybrid Content Distribution
Network with a P2P Based
Streaming Protocol”.
Pakkala, Daniel, dan Juhani
Latvakoski. 2005. "Towards a peerto-peer extended content delivery
network".
Myint, Julia dan Thinn Thu Naing.
2011. “Management of Data
Replication for PC Cluster Based
Cloud Storage System”.
Dilley, John, Bruce Maggs, Jay
Parikh, Harald Prokop, Ramesh
Sitaraman, dan Bill Weihl. 2002.
“Globally
Distributed
Content
Delivery”.
Menasché, Daniel S., dkk. 2010.
"Estimating self-sustainability in
peer-to-peer swarming systems."
Nielsen, Katie. 2014. “Top Ten
Advantages of Using Online Storage
Services”,
http://online-storageservicereview.toptenreviews.com/top-tenadvantages-of-using-online-storageservices.html, diakses pada tanggal
24 Februari 2014.