- 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
Di blog Fastly, mereka memperkirakan sekitar 70% infrastruktur komputasi pusat data yang ada saat ini akan berpindah ke edge, haha
https://www.youtube.com/watch?v=yOP5-3_WFus
Deno Deploy Beta 1
Deno Deploy Beta 2
Fresh - framework web generasi berikutnya