27 poin oleh xguru 2022-10-11 | 3 komentar | Bagikan ke WhatsApp
  • Web dimulai dari satu komputer
  • Sudah 32 tahun berlalu, tetapi kita masih mengembangkan seolah-olah ini adalah satu komputer
  • Selama beberapa tahun terakhir, situs statis disajikan dari lokasi yang dekat dengan pengguna melalui CDN
  • Kini hal yang sama juga terjadi pada web app dinamis. Sekarang bisa di-deploy ke mana saja

Apa itu Edge

  • Saat orang membicarakan "The Edge", itu berarti situs atau aplikasi Anda dideploy ke banyak server yang tersebar di seluruh dunia, dekat dengan masing-masing pengguna
  • Ketika seseorang meminta situs/aplikasi Anda, mereka akan diarahkan ke server terdekat
  • Server-server terdistribusi ini tidak hanya menyajikan aset situs statis, tetapi juga dapat menjalankan kode kustom yang mendukung web app dinamis
  • Pemindahan ke server terdekat ini juga merupakan upaya untuk mengoptimalkan latensi
  • Semakin lama halaman dimuat, semakin besar kemungkinan pengguna meninggalkannya
  • Jika Anda deploy ke layanan seperti Heroku, aplikasi akan ditempatkan di data center AWS di Amerika Utara, sehingga TTFB (Time to First Byte) menjadi lambat di Eropa atau kota-kota lain
  • Namun jika menguji Deno.com yang dijalankan di jaringan Edge kami, Deno Deploy, TTFB-nya jauh lebih cepat
  • Konsep Server pertama kali diperkenalkan dalam RFC pada tahun 1969
  • Mesin NeXT di kantor Tim Berners-Lee adalah web server pertama. Namun internet sendiri sudah berjalan lebih dari 20 tahun pada saat itu

Menyimpan cache konten dekat dengan pengguna

  • Arsitektur server bekerja dengan baik untuk waktu yang lama, tetapi saat web membesar sejak akhir 1990-an, masalah mulai muncul
  • Akamai memperkenalkan CDN pertama pada tahun 1998
  • CDN Akamai melakukan caching konten dalam sistem server yang terdistribusi
  • CDN telah menjadi bagian penting dari web modern

Lebih sedikit server, lebih banyak serverless

  • Server juga menghadapi masalah di sisi kebalikan dari "overloading": under-utility
  • Server tidak bisa dimatikan, harus tetap menyala 100% sepanjang waktu, dan semuanya menimbulkan biaya
  • Serverless mengurangi masalah ini. Ia hanya berjalan saat dibutuhkan lalu mati lagi
  • Namun "serverless" adalah nama yang kurang tepat. Bukan berarti tidak ada server; server tetap terlibat
  • Hanya saja tidak ada dedicated server yang terus berjalan
  • Framework serverless pertama yang digunakan secara luas adalah AWS Lambda
  • Ada dua kelebihan serverless
    • Hanya membayar untuk yang digunakan
    • Tidak perlu memikirkan pengelolaan server: tidak ada perencanaan, administrasi, atau maintenance
  • Kekurangannya kebanyakan pada performa
    • Masalah "Cold Start"
    • Dan server tetap terpusat, sehingga round-trip masih panjang
  • Maka sampailah kita pada kondisi saat ini

Livin's on the edge

  • Keindahan Edge adalah menggabungkan kelebihan CDN (dekat dengan pengguna) dan kelebihan Serverless (menjalankan fungsi)
  • Artinya, dengan Edge kita bisa menjalankan kode kustom di lokasi yang dekat dengan pengguna. Ini memberi banyak keuntungan

Performa yang lebih baik

  • Inilah satu-satunya hal yang benar-benar diperhatikan pengguna
  • Jika situs atau aplikasi berjalan di server Edge yang dekat dengan pengguna, hasilnya lebih cepat dibanding server pusat
  • Namun manfaat performanya tidak berhenti di sana
  • Compute berjalan di Edge, bukan di browser pengguna
    • Aplikasi memerlukan sumber daya yang lebih sedikit di mesin pengguna
    • Payload yang dikirim ke pengguna lebih kecil, sehingga bandwidth yang dipakai juga lebih sedikit
    • Fungsi berjalan dalam lingkungan yang terkontrol, sehingga fungsi dan API bekerja secara konsisten

Keamanan yang lebih baik

  • Memindahkan komputasi dari klien/perangkat ke serverless Edge mengurangi permukaan serangan aplikasi
  • Serangan DDoS menjadi lebih sulit dilakukan

Pengalaman developer yang lebih baik

  • Saat ini, menulis kode untuk Edge masih lebih rumit daripada yang seharusnya
  • Sebagian besar masalah berasal dari sifat hybrid dari pengembangan Edge
  • Karena banyak framework tidak dikembangkan dengan pendekatan Edge-First, developer harus memilih apakah tiap fungsi atau halaman dijalankan di Edge atau di browser
  • Namun framework baru seperti Fresh menyederhanakan hal ini dengan arsitektur SSR dan Islands
  • Jika menggunakan Fresh bersama Deno Deploy, optimasi latensi memungkinkan untuk meraih skor sempurna di Lighthouse Score
  • Edge adalah iterasi berikutnya dari internet.
    Ini adalah langkah berikutnya untuk membuat web lebih cepat, dan tempat yang lebih aman bagi pengguna maupun developer

3 komentar

 
cometkim 2022-10-17

Di blog Fastly, mereka memperkirakan sekitar 70% infrastruktur komputasi pusat data yang ada saat ini akan berpindah ke edge, haha