Geleceğin Teknolojisi: WebAssembly (Wasm) vs. Docker

müfettiş

Moderatör
Katılım
20 Ocak 2024
Mesajlar
325
Tepkime puanı
1
Puanları
18

Geleceğin Teknolojisi: WebAssembly (Wasm) vs. Docker


Giriş: Konteynerlerin Ötesi

Docker 2013'te dünyayı değiştirdi. Ancak Docker'ın da sınırları var: Konteynerler hala bir işletim sistemine (Linux Kernel) ihtiyaç duyar, başlatılmaları (milisaniyeler de olsa) zaman alır ve boyutları büyüktür (MB/GB).
Teknoloji dünyasının yeni gözdesi WebAssembly (Wasm). Başlangıçta tarayıcılar (Browser) için tasarlanan bu teknoloji, artık sunucu tarafına (Server-side) geçiyor ve Docker'a rakip (veya ortak) oluyor. Hatta Docker'ın kurucusu Solomon Hykes şöyle demiştir: "Eğer 2008'de WASM+WASI olsaydı, Docker'ı yaratmaya gerek kalmazdı."

WebAssembly (Wasm) Nedir?

Wasm, çok hafif, güvenli ve taşınabilir bir Binary (İkili) Kod formatıdır.
C++, Rust, Go veya Python ile yazdığınız kodu Wasm formatında derlersiniz. Bu kod, ister Web Tarayıcısında, ister Sunucuda, ister bir IoT cihazında tıpatıp aynı şekilde ve neredeyse Native (Donanım) hızında çalışır.

Wasm vs. Docker: Devlerin Savaşı

ÖzellikDocker (Konteyner)WebAssembly (Wasm)
İzolasyonİşletim Sistemi Seviyesi (Kernel Paylaşır)Uygulama Seviyesi (Sandbox)
Başlatma HızıSaniyeler / MilisaniyelerMikrosaniyeler (Anlık)
BoyutMegabaytlar / GigabaytlarKilobaytlar
GüvenlikGüçlü ama kaçış (breakout) mümkünÇok Güçlü (Memory Isolation)
Taşınabilirlikİşletim Sistemi ve CPU Mimarisine (ARM/x86) bağlı%100 Taşınabilir (Her yerde çalışır)

Neden Wasm Önemli?

  1. Edge Computing: Bulut sağlayıcıları (Cloudflare Workers gibi), Wasm'ı çok sever. Çünkü bir Docker konteynerini başlatmak pahalıdır ama bir Wasm fonksiyonunu başlatmak bedavadır. Milyonlarca isteği anlık olarak karşılayabilirler.
  2. Güvenlik: Wasm, "Capability-based" güvenlik modeli kullanır. Kod, siz izin vermedikçe hiçbir dosyayı okuyamaz, ağa erişemez. Varsayılan olarak her şeye kapalıdır.

Docker Ölecek mi?

Hayır. Wasm ve Docker birlikte çalışacak.
  • Docker: Veritabanları, eski uygulamalar ve karmaşık Linux servisleri için hala kraldır.
  • Wasm: Mikroservisler, Serverless fonksiyonlar ve yüksek performanslı iş parçacıkları için kullanılacak.
Hatta Docker Desktop artık Wasm konteynerlerini çalıştırmayı destekliyor! (WasmEdge veya Spin kullanarak).

Sonuç

WebAssembly, bulut bilişimin üçüncü dalgasıdır (VM -> Container -> Wasm). Eğer geleceğe yatırım yapmak isteyen bir yazılımcıysanız, Rust öğrenip kodlarınızı Wasm'a derlemeyi denemelisiniz.
 
Geri
Üst