Content Delivery Network (CDN)


Apa itu CDN?

Content Delivery Network (CDN), yang dapat diterjemahkan sebagai Jaringan Pengiriman Konten, adalah kumpulan server yang tersebar di berbagai belahan dunia yang menyimpan konten dalam cache di dekat para pengguna konten (End User). CDN dapat mempercepat pengiriman aset-aset dalam konten internet kepada end users, seperti halaman HTML, file Javascript, gambar, dan video.

Penggunaan CDN dalam mengirimkan konten internet terus berkembang dan populer pada lalu lintas internet, termasuk dari beberapa penyedia konten internet terbesar seperti TikTok, Instagram, Twitter, dll.

Perbedaan CDN dan Hosting Web

Meskipun secara prinsip, CDN dan hosting web sama-sama mengirimkan aset-aset konten internet kepada pengguna tetapi CDN tidak dapat menyimpan konten secara permanen pada tiap edge network sehingga tidak dapat menggantikan peran hosting web. Perbedaan tersebut dikarenakan CDN lebih berfungsi untuk membantu server hosting web dalam mengurangi bandwith hosting, membantu mencegah gangguan layanan, dan meningkatkan keamanan.

Manfaat dari Menggunakan CDN

  1. Mempercepat waktu memuat situs web
    Dengan mendistribusikan konten melalui server CDN yang lebih dekat dengan pengunjung situs, waktu pemuatan halaman menjadi lebih cepat. Karena pengunjung cenderung meninggalkan situs yang lambat, penggunaan CDN dapat membuat orang lebih lama berada di situs tersebut.
  2. Mengurangi biaya konsumsi bandwith
    Biaya konsumsi bandwidth merupakan salah satu pengeluaran utama untuk hosting situs web. Dengan menggunakan penyimpanan cache sementara dan optimisasi lainnya, CDN dapat mengurangi jumlah data yang harus disediakan oleh server asal, sehingga menurunkan biaya hosting bagi pemilik situs web.
  3. Meningkatkan ketersediaan dan redudansi konten
    Ketika lalu lintas situs web yang besar atau kerusakan perangkat keras terjadi, hal ini dapat mengganggu fungsi situs web secara normal. Namun, berkat sifatnya yang tersebar, CDN mampu menangani lebih banyak lalu lintas dan lebih tahan terhadap kegagalan perangkat keras dibandingkan dengan banyak server asal.
  4. Memperbaiki keamanan situs web
    CDN dapat memperbaiki keamanan situs web dengan berbagai optimasi yang diberikan seperti mitigasi DDoS, perbaikan sertifikat keamanan, dll.

Bagaimana CDN Bekerja?

Meskipun ada banyak hal yang terjadi dari sudut pandang teknologi, secara high-level, CDN membantu mengirimkan konten di web dengan lebih efektif.

Server asal (Origin server) menerima permintaan awal untuk sebuah domain dan mengarahkannya ke server CDN (CDN node) yang sesuai. Konten cache kemudian dikirimkan dari server CDN ke klien melalui jarak yang lebih pendek.

image of illustration of CDN

Lokasi utama tempat konten situs web disimpan—tempat permintaan awal masuk—disebut server asal. Jenis konten yang disimpan mencakup halaman web statis (gambar, teks, kode), unduhan perangkat lunak, media (audio dan video), dan konten dinamis yang dibuat oleh aplikasi.

Konten cache, yang merupakan salinan konten server asal, disimpan di server cache yang tersebar secara geografis di pusat data yang disebut Point of Presence (PoPs). Server-server ini terletak di dekat tempat lokasi pengguna yang melakukan request konten, yang disebut edge network.

Jika CDN tidak memiliki konten yang diminta, maka jaringan tersebut akan mengambilnya dari server asal dan mengirimkannya ke klien dan menyimpan konten di cache sehingga permintaan klien selanjutnya akan diselesaikan lebih cepat. Software manajemen CDN menggunakan algoritma dan machine learning untuk mengantisipasi permintaan konten, mengambil konten ke CDN sebelum dibutuhkan, menjaga sinkronisasi dengan perubahan konten di server asal, dan meningkatkan kinerja yang dapat dirasakan pengguna.

Konten internet apa yang dapat dikirimkan oleh CDN?

CDN dapat mengirimkan dua tipe konten: konten statis dan konten dinamis.

Konten statis

Konten statis adalah data situs web yang tidak berubah dari pengguna ke pengguna. gambar, logo, dan gaya font situs web tetap sama di semua pengguna, dan bisnis tidak sering mengubah data-data tersebut. Data statis tidak perlu dimodifikasi, diproses, atau dibuat dan sangat ideal untuk disimpan di CDN.

Konten dinamis

Konten dinamis seperti umpan berita media sosial, laporan cuaca, status masuk, dan pesan obrolan bervariasi di antara pengguna situs web. Data ini berubah berdasarkan lokasi pengguna, waktu masuk, atau preferensi pengguna, dan situs web harus menghasilkan data untuk setiap pengguna dan setiap interaksi pengguna.

Penggunaan CDN oleh situs streaming Netflix

Pada masa-masa awal Netflix, ketika layanan utamanya adalah penyewaan DVD, perusahaan ini mengandalkan Jaringan Pengiriman Konten (CDN) pihak ketiga untuk menangani layanan video streaming yang sedang berkembang. Namun, ketika streaming mulai melampaui persewaan DVD sebagai sumber pendapatan utama perusahaan, Netflix menyadari bahwa melakukan outsourcing pada aspek penting bisnisnya menjadi sangat mahal.

Selain itu, CDN pihak ketiga kesulitan untuk mengimbangi pertumbuhan eksplosif layanan streaming video Netflix. Hal ini menyebabkan penurunan kualitas pengalaman pengguna, yang dianggap tidak dapat diterima oleh Netflix.

Menanggapi tantangan ini, Netflix mengambil keputusan berani yaitu membangun dan mengelola CDN-nya sendiri, yang dikenal sebagai Open Connect. Langkah ini didorong oleh keinginan untuk memiliki kendali lebih besar atas kualitas aplikasi dan pengalaman pengguna.

Open Connect didukung oleh NGINX, perangkat lunak server web berkinerja tinggi. NGINX berjalan di setiap perangkat pengiriman Open Connect, memungkinkan Netflix menghadirkan streaming video berkualitas tinggi ke jutaan pelanggan di seluruh dunia.

Salah satu strategi utama yang digunakan Netflix untuk meningkatkan kinerja layanannya adalah penempatan servernya yang strategis. Dengan menempatkan server di pusat data dekat pengguna akhir, Netflix mampu mengurangi latensi dan meningkatkan kualitas streaming.

Netflix juga menggunakan streaming adaptif, yaitu teknik yang menyesuaikan kualitas video berdasarkan kecepatan koneksi internet pemirsa. Hal ini memastikan bahwa pengguna selalu mendapatkan pengalaman menonton terbaik, berapa pun kecepatan internetnya.

Selain itu, Netflix telah menjalin interkoneksi langsung dengan Penyedia Layanan Internet (ISP), melewati CDN komersial untuk mencapai network edge. Pendekatan ini meminimalkan jarak jaringan ke pelanggannya, sehingga semakin meningkatkan pengalaman pengguna.

Jika ISP tidak tertarik untuk menyediakan peralatan pihak ketiga, Netflix menempatkan peralatan tersebut di internet exchange point (IXP). Meskipun hal ini memerlukan lebih banyak server Open Connect CDN per situs dibandingkan pusat data ISP, masih lebih murah untuk menghostingnya di situs tersebut, dan mereka juga menyajikan konten.

Melalui strategi ini, Open Connect CDN Netflix telah berperan penting dalam kemampuan perusahaan dalam menghadirkan video streaming berkualitas tinggi kepada jutaan pelanggan di seluruh dunia. Dengan mengendalikan CDN-nya sendiri, Netflix dapat memastikan kinerja optimal dan pengalaman pengguna yang luar biasa.