dynmic cdn system untuk menekan cost dan menaikan kecepatan bandiwidth internasional pada website...
Post on 21-Oct-2015
78 Views
Preview:
DESCRIPTION
TRANSCRIPT
1
DYNMIC CDN SYSTEM UNTUK MENEKAN COST DAN
MENAIKAN KECEPATAN BANDIWIDTH INTERNASIONAL
PADA WEBSITE DENGAN METODE CACHING DAN
COMPRESSING
Tugas Individu
Metodologi Penelitian
Disusun Oleh:
Nadiar A.S. NIM 10111121
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
2014
2
1. LATAR BELAKANG MASALAH
Internet tumbuh dengan sangat cepat, tidak ada suatu lembaga atau
organisasi yang bertanggung jawab atas pertumbuhan internet. Di Indonesia,
pearing internet Indonesia dikelola oleh Asosiasi Penyelenggara Jasa Internet
Indonesia (APJII) dengan dibuatnya Indonesia Internet Exchange atau lebih
dikenal dengan IIX. Tujuan program IIX adalah membentuk jaringan interkoneksi
nasional yang memiliki kemampuan dan fasilitas yang sesuai dengan kebutuhan
yang ada, untuk digunakan oleh setiap Penyelengara Jasa Internet yang memiliki
ijin beroperasi di Indonesia [1] .
Dunia modern tidak dapat dipisahkan dari peran internet dan komputasi,
setiap lembaga yang jelas keberadaanya memakai internet sebagai media branding
dan membuat company profile sebagai bukti eksistensi, dunia pendidikan
memakai internet sebagai media untuk berkomunikasi dan mencari informasi guna
mendukung proses aktivitas belajar mengajar, dari sisi bisnis internet adalah
solusi atas masalah nyata seperti pasar yang terbilang sempit. Dari berbagai fakta
tersebut membuktikan bahwa internet berperan penting.
Internet akan terus tumbuh dengan cepat, khususnya untuk Indonesia.
Menurut data Bank Dunia terakhir, tahun 2012, Indonesia adalah negara ke-145
dengan kategori pemakai internet/jumlah penduduknya [2], dengan persentase
sebesar 15.36%. Menurut survey yang dilakukan Akamai, perusahaan yang
bergerak dibidang perangkat lunak dan internet yang memiliki trafik internet
global sebesar 15%-20%, pada quarter keempat 2013, rata-rata kecepatan internet
Indonesia adalah 1.7 Mbps dan kecepatan tersebut tumbuh 125% dari survey yang
dilakukan sebelumnya [3].
Rata-rata kecepatan Internet dunia adalah 3.3 Mbps, tumbuh 5.2% dari
survey yang dilakukan sebelumnya. Sedangkan 10 negara dengan internet tercepat
memiliki rata-rata kecepatan internet di atas 8 Mbps. Berikut adalah tabel 10
negara yang memiliki rata-rata koneksi internet tercepat [3].
No Negara Rata-rata Koneksi Internet
1 South Korea 13.3 Mbps
3
2 Japan 12.0 Mbps
3 Switzerland 11.0 Mbps
4 Hong Kong 10.8 Mbps
5 Latvia 10.6 Mbps
6 Netherlands 10.1 Mbps
7 Czech Republic 9.8 Mbps
8 United States 8.7 Mbps
9 Sweden 8.4 Mbps
10 United Kingdom 8.4Mbps
Harga Relative Cost per MBPS dari 64 Negara yang dilakukan survey oleh
Okala, perusahaan yang bergerak dibidang internet dari Kalispell, Montana,
Indonesia menempati urutan ke-63 dengan persentase 13.912% (USD
26.04/Mbps) [4].
1
Artinya harga internet di Indonesia terbilang mahal untuk kecepatan yang
didapat untuk mayoritas warga Indonesia.
1.1. IIX dan OpenIXP
IIX dijalankan oleh organisasi yang bernama APJI, sedangkan OpenIXP2
dijalankan oleh datacenter yang bernama IDC3. Keduanya adalah pearing internet
di Indonesia. Perbedaannya, IIX lebih dulu mucnul dan menggandeng semua
lembaga/institusi yang ingin bergabung. Sedangkan OpenIXP hanya mengandeng
Penyedia Jasa Layanan Internet saja.
Tujuan dari adanya IIX dan OpenIXP adalah untuk bertukar trafik antara
satu dengan yang lainnya. Mereka tidak membayar satu dengan yang lainnya
1 Gross Domestic Produc. merupakan salah satu metode untuk menghitung pendapatan nasional.
2 Open Internet Exchange Point
3 Indonesia Data Center
4
ketika bertukar. Artinya trafik antara pengguna IIX dan OpenIXP sepenuhnya
gratis. Hal ini memungkinkan Indonesia memiliki internet murah dan cepat.
Masalahnya, jika pusat internet Indonesia tidak memberikan cost kepada
Penyedia Jasa Layanan Internet, kenapa internet di Indonesia terbilang mahal?
Penyedia konten Indonesia, sebagian besar masih menyimpan kontennya di server
yang tidak terhubung langsung dengan IIX dan OpenIXP, ketika pengguna
internet Indonesia mengakses konten yang berada di luar jaringan IIX dan
OpenIXP, maka akan ada biaya yang dikeluarkan untuk membeli bandwidth
internasional, semakin jauh maka harga bandwidth semakin mahal dan akses
semakin lambat.
Traceroute twitter.com
1 117-102-255-1.atisicloud.com (117.102.255.1) 0.376 ms 0.317 ms 0.310 ms
2 103-23-23-129.atisicloud.com (103.23.23.129) 0.489 ms 0.490 ms 0.474 ms
3 202.81.52.5 (202.81.52.5) 0.807 ms 0.806 ms 0.791 ms
4 202.81.52.37 (202.81.52.37) 1.019 ms 0.974 ms 1.076 ms
5 ip-176-65.moratelindo.co.id (202.43.176.65) 17.138 ms 18.150 ms 18.337 ms
6 13414.sgw.equinix.com (202.79.197.113) 16.528 ms 16.317 ms 16.434 ms
7 xe-0-3-0.sjc2-cr2.twttr.com (199.16.159.23) 184.557 ms * 184.476 ms
8 ae53.smf1-er2.twttr.com (199.16.159.41) 200.251 ms 195.380 ms 195.347 ms
9 r-199-59-148-10.twttr.com (199.59.148.10) 194.046 ms 194.006 ms 188.418 ms
Traceroute detik.com
1 117-102-255-1.atisicloud.com (117.102.255.1) 0.363 ms 0.274 ms 0.331 ms
2 detik.openixp.net (218.100.36.9) 0.788 ms 0.767 ms 0.765 ms
3 203.190.244.34 (203.190.244.34) 0.681 ms 0.672 ms 0.644 ms
4 203.190.241.43 (203.190.241.43) 1.276 ms 1.268 ms 1.254 ms
Pengujian di atas dijalankan pada sistem operasi Linux, dengan perintah
traceroute. Secara default ketika kita melakukan traceroute pada sistem
operasi Linux, kita akan mengirimkan paket data sebesar 60 byte.
5
Dari data di atas, untuk mengirimkan paket data sebesar 60 byte ke alamat
twitter.com setidaknya melewati 9 titik dengan waktu hampir 700 ms. Sedangkan
detik.com yang berada pada jaringan IIX dan OpenIXP hanya melewati 4 titik
dengan waktu kurang dari 4 ms.
Dari data tersebut kita bisa melihat bahwa internet Indonesia sebenarnya
sangat cepat jika kita memakai jaringan internet lokal. Permasalahan seperti harga
yang mahal dan kecepatan yang lambat bisa ditekan dengan beberapa metode
seperti caching dan compressing. Teknis dari metode yang dipakai akan dibahas
pada bagian selanjutnya.
2. IDENTIFIKASI MASALAH
Terdapat dua masalah akibat pemakaian bandwidth internasional yang
cukup banyak oleh pemakai internet di Indonesia, dua masalah tersebut yaitu:
1. Harga internet di Indonesia relatif mahal;
2. Kecepatan internet di Indonesia terbilang lambat.
2.1. Harga Internet di Indonesia Relatif Mahal
Menurut data Alexa, anak dari perusahaan Amazon, website populer di
Indonesa masih didominasi oleh website asing, seperti Google.com,
facebook.com, blogspot.com, youtube.com, yahoo.com, dll [11]. Untuk
mengakses website tersebut, pengguna internet di Indonesia memerlukan
bandwidth internasional. Sedangkan harga bandwidth internasional sangat mahal,
berikut adalah harga dedicated bandwidth internasional yang diambil dari Jasa
Penyedia Layanan Internet nusa.net.id4:
Bandwidth Internasional 1:1
1 Mbps Rp 2.000.000,-
2 Mbps Rp 3.000.000,-
3 Mbps Rp 4.200.000,-
4 Mbps Rp 5.200.000,-
4 http://nusa.net.id/services/co-location-server
6
Indonesia bisa saja menekan harga bandwidth internasional dengan
mendorong website populer tersebut menyimpan servernya di jaringan
IIX/OpenIXP, tetapi pendakatan seperti itu akan sulit dilakukan. Pendekatan lain
yang mungkin adalah dengan membuat sistem yang bisa compressing dan caching
konten luar di server Indonesia. Hal ini sangat mungkin dilakukan dan akan
dijelaskan pada bagian teknikal review.
2.2. Kecepatan Internet di Indonesia Terbilang Lambat
Dari pengujian traceroute twitter.com dan detik.com sebelumnya, kita bisa
melihat perbedaan kecepatan akses ke website luar dan website lokal. Untuk akses
ke website twitter, setidaknya ada sembilan titik yang harus dilewati dengan
waktu akses hamper 700 ms untuk 60 byte paket data.
Server twitter.com terletak di Amerika Serikat, tetapi sebelum menuju
Amerika serikat, tracertoute menunjukan akses/transit ke Singapura terlebih
dahulu, tidak langsung menuju Amerika Serikat. Semakin banyak titik akses,
maka semakin lambat akses ke website tersbut.
Berbeda jika pengguna Internet di Indonesia mengakses detik.com, hanya
melewati 4 titik dengan waktu akses kurang dari 4 ms untuk 60 byte paket data.
Dari pengujian sederhana ini bisa dilihat bahwa sebenarnya akses Internet
Indonesia sangat cepat. Akses yang lambat adalah ketika memerlukan bandwidth
diluar jaringan IIX/OpenIXP.
3. MAKSUD DAN TUJUAN
Maksud dari penelitian ini adalah untuk menunjukan kesalah pahaman yang
terjadi di lingkungan masyarakat mengenai internet yang mahal dan lambat.
Maksud lain adalah untuk mendorong penyedia konten lokal untuk menyimpan
konten Indonesia di server Indonesia.
Tujuan penelitian adalah untuk membuat sitem yang dapat menekan harga
bandwidth internasional menjadi lebih murah dan lebih cepat. Pendekatan yang
akan coba dilakukan adalah dengan membangun sitem caching dan compressing.
Sehingga diharapkan akses bandwidth internasional akan seminimal mungkin.
7
4. BATASAN MASALAH
Pada penelitian ini, masalah yang diprioritaskan adalah website dengan
konten berbahasa Indonesia yang disimpan di server luar jaringan IIX/OpenIXP.
5. MANFAAT PENELITIAN
Manfaat penelitian ini bisa dikategorikan sebagai manfaat teoritis dan
manfaat praktis. Secara teoritis, penilitian ini bermanfaat bagi pengembangan ilmu
jaringan dan pemanfaatan sumber daya. Secara praktis, penelitian ini diharapkan
membawa manfaat sebagai berikut:
1. Sebagai bahan masukan untuk pengelola internet di Indonesia.
2. Meluruskan pemahaman yang keliru kepada masyarakat tentang internet
Indonesia.
3. Mendorong pembuat konten lokal untuk bergabung dengan jaringan
internet IIX/OpenIXP.
4. Dari sisi pengembang website, membantu mempercepat waktu loading
website dan meminimalisir cost bandwidth internasional.
6. METODE PENELITIAN
Metode penelitian yang digunakan dalam penelitian ini meliputi tiga
tahapan berikut:
1. Identifikasi masalah;
2. Pengumpulan data dan literatur;
3. Perancangan dan implementasi sistem.
6.1. Identifikasi Masalah
Pada tahap ini dilakukan identifikasi terhadap permasalahan yang ada. Dari
permasalahan tersebut akan dicoba dibuat hipotesis, kemudian dilakukan
penelitian dan uji coba untuk membuktikan hipotesis tersebut. Permasalahan yang
sudah diidentifikasi dapat dilihat pada bagian identifikasi masalah. Sedangkan
hipotesis bisa dilihat pada bagian maksud dan tujuan.
8
6.2. Pengumpulan Data dan Literatur
Literatur-literatur diambil dari jurnal-jurnal ilmiah dan website-website
pendukung. Beberapa literature yang dijadikan acuan diantaranya CDN: Content
Distribution Network [5], Optimizing Cross Traffic with an Adaptive CDN
Replica Placement Strategy [6], dan Overclocking the Yahoo! CDN for Faster
Web Page Loads [7], Reliable and fault tolerant distributed caching using
memcached [8], dan Scaling Memcache at Facebook [9]. Sedangkan data yang
dipergunakan sebagai sampel penelitian adalah website dengan konten lokal yang
memiliki trafik di atas 1000 kunjungan per hari yang berada pada di server
Amerika Serikat. Trafik tersebut akan digunakan untuk simulasi sekala mikro.
6.3. Perancangan dan Implementasi System
Pada tahap ini akan dilakukan analisa kebutuhan sistem, perancangan
sistem, dan implementasi terhadap sistem yang akan dikembangkan. Hal-hal yang
akan dilakukan meliputi:
1. Rancangan sistem CDN lokal.
2. Rancangan seleksi konten yang mungkin di-compress dan di-caching.
3. Implementasi sistem pada website.
7. JADWAL PENELITIAN
Setelah diimplementasikan, dan dilakukan uji coba, langkah selanjutnya
adalah membuat sistem untuk website-website lain. Website sosial media akan
berbeda pendekatannya dengan website forum, website forum akan berbeda
pendekatannya dengan website portal berita, dan sebagainya. Tujuannya agar bisa
dimanfaatkan atau diimplementasikan di berbagai jenis website.
Tahap selanjutnya adalah dilakukan uji coba eksternal, dimana sistem akan
diuji ciba pada setiap jenis website. Setelah dilakukan uji coba, maka dilakukan
proses analisa ulang apakah sistem yang dibangun sesuati dengan harapan atau
tidak, untuk selanjutnya dilakukan sistem perbaikan.
Sistem sudah diimplementasikan dan diuji coba, langkah selanjutnya adalah
membuat standar perangkat lunak dari sistem tersebut sehingga dapat digunakan
9
atau diinstall di berbagai website yang ada. Secara keseluruhan, tahapan-tahapan
pengembangannya adalah sebagai berikut:
1. Melakukan pengumpulan data dari berbagai website, tahapan ini bisa
disebut sebagai identifikasi masalah.
2. Menyusun sistem dan analisa baik dari pendekatan teknologi maupun
pendekatan bisnis, yaitu dengan cara mengidentifikasi permasalahan
dan sebab-akibatnya. Analisa dilakukan berdasarkan literatur-literatur
yang mendukung proses pembuatan sistem. Beberapa hal yang
dilakukan pada tahap ini adalah analisa masalah dan peluang, analisa
bisnis, dan rekomendasi pengembangan sistem.
3. Setelah mendapatkan sistem yang bagus, tahap selanjutnya adalah
perancangan sistem untuk berbagai jenis website. Hasil tahap ini
adalah berupa model data dan model proses.
4. Terakhir adalah implementasi untuk end-user, setiap pengembang web
nantinya bisa menjalankan perangkat lunak yang dikembangkan.
8. DAFTAR PUSTAKA
[1] Sanjaya, Teddy A. Purwadi, Maman Sutarman, Syafrudin, "IIX-IDNIC," Asosiasi
Penyelenggara Indternet Indonesia, Jakarta, 1997.
[2] "Internet users (per 100 people)," The World Bank, [Online]. Available:
http://data.worldbank.org/indicator/IT.NET.USER.P2. [Accessed 12 January 2014].
[3] D. Belson, "The State of the Internet," 2013. [Online]. Available:
http://www.akamai.com/dl/documents/akamai_soti_q213.pdf?WT.mc_id=soti_Q
213. [Accessed 12 January 2014].
[4] "Household Value Index," Ookla, 11 January 2014. [Online]. Available:
http://www.netindex.com/value/allcountries/. [Accessed 11 January 2014].
[5] S. Book, "CDN: Content Distribution Network," 2003.
[6] Moises Rodrigues, Andre Moreira, Marcio Neves, Ernani Azevêdo, Djamel Sadok,
Arthur Callado, Victor Souza, "Optimizing Cross Traffic with an Adaptive CDN
Replica Placement Strategy," 2013.
10
[7] Mohammad Al-Fares1, Khaled Elmeleegy, Benjamin Reed, Igor Gashinsky,
"Overclocking the Yahoo! CDN for Faster Web Page Loads," 2009.
[8] Bivas Das, Eric Freudenthal, "Reliable and fault tolerant distributed caching using
memcached," 2010.
[9] Rajesh Nishtala, Hans Fugal, Steven Grimm, Marc Kwiatkowski, Herman Lee, Harry
C. Li, Ryan McElroy, Mike Paleczny, Daniel Peek, Paul Saab, David Stafford, Tony
Tung, Venkateshwaran Venkataraman, "Scaling Memcache at Facebook," 2013.
[10] "Railgun™ origin network optimizer," CloudFlare, [Online]. Available:
http://www.cloudflare.com/railgun. [Accessed 2014 14 2014].
[11] "Top Sites in Indonesia," Alexa, [Online]. Available:
http://www.alexa.com/topsites/countries;0/ID. [Accessed 14 01 2014].
9. THEORITICAL REVIEW
Arsitektur umum dari CDN dibangun dari beberapa komponen: client,
replica server, origin server, billing organization, request routing system,
distribution system, dan accounting system [5]. Hubungan dari setiap komponen
direpresentasikan seperti figure 1.
Figure 1: Arsitektur CDN
1. Origin Servers memberikan alamat dari konten yang mungkin
didistribusikan kepada Request Routing System.
11
2. Origin Server mengirimkan konten yang mungkin didistribusikan kepada
Distribution System.
3. Distribution system memindahkan konten ke Replica Servers. Pada tahap
ini Replica Server berkomunikasi dengan Request Routing System untuk
memberikan konten yang diminta dari client request (HTTP).
4. Client meminta konten dari Origin Server, akan tetepai karena Request
Routing System, URL dari server asal akan di redirect.
5. Request Routing System akan menentukan Replica Server mana yang
paling dekat dengan client request.
6. Replica Server mengirimkan konten yang diminta kepada client. Pada saat
bersamaan, replica server mengambil informasi dari konten yang diminta
lalu mengirimkan informasi ke Accounting System.
7. Accounting System mengolah informasi lalu memberikan informasi itu ke
Origin Server dan Billing Organization. Statistik digunakan juga sebagai
feedback untuk Request Routing System.
8. Billing Organization memakai informasi untuk membayar setiap
pemakaian bandwidth.
8.1. Distribution System
Terdapat dua pendekatan untuk mendistribusikan konten pada server
replika; melalui internet dan melalui satelit broadcast. Melalui internet adalah
yang paling sederhana, pada pendekatan ini CDN berperan dalam
mendistribusikan sistem via tree. Bagaimana cara membentuk tree dijelaskan
pada aspek teknikal.
8.2. Replica Placement
Penempatan replica berurusan dengan masalah objek yang mungkin
disebarkan ke berbagai jaringan. Masalah ini dibagi menjadi dua: server replika
dan penempatan objek replika. Server replika berurusan dengan masalah
bagaimana penempatan server replika di internet. Objek replika adalah tentang
12
memilih akan ditempatkan dimana objek pada server replika. Harapannya, objek
akan ditempatkan pada server replika yang terdekat dengan request.
8.3. Request Routing System
Request Routing System digunakan sebagai metode untuk menyalin objek
yang diminta langsung dari server. Hubungan ini antara request dan server replika
yang melakukan load. Teknik dari Request Routing dapat dipilih dari berbagai
metode seperti Client Multiplexing, HTTP redirection, DNS indirection,
Anycasting, dan Peer-to-Peer Routing [5].
8.4. Server Placement
Pada bagian ini, masalah yang dihadapai adalah bagaimana memutuskan
memilih tempat untuk menempatkan server replika, yang nantinya akan
menyimpan replika objek. Tujuannya adalah untuk meminimalisir dua metrik:
latensi request ke server asal dan konsumsi bandwidth dari server asal. Terdapat
dua korelasi untuk mengoptimalkan metrik secara umum yang akan saling
membantu satu dengan lainnya.
Figure 2: Model 1-HST
Permasalahan penempatan server replika server dapat dimodelkan sebagai
masalah pusat penempatan. Permasalahan ini didefinisikan sebagai: setiap
penempatan yang diberikan dari jumlah pusat, salah satunya metric (PminK) dari
minimasi jarak terjauh antara node dengan pusat terdekat. [5] Pendekatan teoritis
lain untuk memecahkan masalah ini adalah berdasarkan teori graph k-HST.
8.5. Dynmaic CDN
Tradisionl CDN bekerja seperti yang digambarkan pada figure 1. Model
dynamic CDN akan berperan penting pada dua permasalahan utama yang
13
dihadapi: menekan cost bandwidth internasional dan mempercepat akses
internasional. Dynamic CDN yang sudah berhasil diimpelemntasikan contohnya
pada Railgun Cloudflare5 [10]. Railgun menjamin koneksi antara origin server dan
jaringan CloudFlare bisa diakses secepat mungkin. Railgun dapat melakukan
compression content samapai 99.6%.
Figure 3: Cara Railgun Bekerja
Untuk saat ini kelemahan dari Railgun adalah terbatas pada jaringan
railgun saja. Meskipun jaringan dari Railgun cukup luas, tetapi tidak termasuk
jaringan Indonesia.
Pada figure 3, Railgun melakukan compression dan caching sebelum
mengirimlkan konten pada request. Pada mekanisme tersbut, Railgun dapat
melakukan compressi samapai 99.6%, contohnya, 100 KB halaman bisa turun
sampau 400 bytes dan mempercepat akses sampai 700% [10].
Ide Railgun dan CDN ini akan diadaptasi untuk memecahkan dua
permasalahan utama pada proposal ini.
5 CloudFlare adalah perusahan dari San Fransisco, Amerika Serikat, yang bekerja pada bidang
internet dan web security.
top related