dynmic cdn system untuk menekan cost dan menaikan kecepatan bandiwidth internasional pada website...

13
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

Upload: nadiar-as

Post on 21-Oct-2015

76 views

Category:

Documents


0 download

DESCRIPTION

Proposal kuliah untuk mata kuliah riset operasional. Tentang internet Indonesia dan cost.

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.