WASM konteynerlerin yerini alacak
(creston.blog)"WebAssembly gerçek anlamda Write-Once-Run-Anywhere'dır"
"2030'a gelindiğinde kimse Kubernetes'i hatırlamayacak"
Taşınabilirlik (Portability)
- Konteynerler yazılım geliştirmedeki birçok sorunu çözdü ve VM'lere göre daha kullanışlıydı
- Ancak bugün konteynerler, karmaşık araçlar ve program-konteyner-Linux arasındaki sıkı bağ nedeniyle yönetilmesi zahmetli hale geldi
- Geliştiriciler kod yazmaya ve özellik dağıtımına odaklanmak istiyor; Docker öğrenmek ise bir dikkat dağıtıcısı oluyor
- WebAssembly (WASM) şimdiden bazı alanlarda konteynerlerin yerini alıyor ve "bir kez yaz, her yerde çalıştır" deneyimi sunuyor
- Birçok dil WASM'a derlenebiliyor; sistem arayüzlerinin eksikliği yaygın benimsenmeyi engellese de bunun yakında çözüleceği düşünülüyor
- WASM'ın bugün başlıca sınırlaması dosya erişimi, ağ iletişimi gibi sistem arayüzlerinin eksikliği, ancak bu zamanla çözülecek bir sorun
JVM ile karşılaştırma
- WASM, JVM'e benzer şekilde "bir kez yaz, her yerde çalıştır" kavramını sunuyor, ancak JVM web tarayıcılarında çalışmıyor
- Web tarayıcıları uygulama dağıtımı için önemli bir hedef ve bu nedenle birçok geliştirici JVM'den uzak duruyor
- Son dönemde GraalVM, Kotlin Native, Scala Native gibi statik ikili derleyiciler JVM'e alternatif olarak öne çıkıyor
Mikroservisler (Microservices)
- Mikroservis mimarisinde servisler HTTP, RPC veya mesaj aracısı kullanılarak birbirine bağlanır
- Ağ iletişiminin maliyeti ve güvenilirlik sorunları başlıca dezavantajlar olsa da, şirketlerin çoğu avantajların daha büyük olduğuna karar veriyor
- AWS Lambda gibi serverless platformların ortaya çıkmasıyla mikroservisler artık tek tek fonksiyonlar düzeyinde dağıtılabiliyor
- Cloudflare Workers, V8 sandbox'ı içinde çalışır ve ağ isteği olmadan aynı runtime içinde fonksiyon çağrısına imkan verir
- Bu, mikroservislerin geliştirme avantajlarını ve monolitik mimarinin çalışma zamanı performansını aynı anda sunar
- Wasmer gibi diğer şirketler de WASM tabanlı çözümler geliştiriyor
WASM'ın benimsenmesi (Adoption)
- WASM hâlâ erken aşama bir teknoloji, ancak hızla gelişiyor ve desteği de artıyor
- Şu an her ortamda kusursuz çalışmasa da Cloudflare gibi platformlar üzerinden geleceğin nasıl görüneceğini şimdiden deneyimlemek mümkün
- Python, Ruby, PHP gibi dinamik dilleri kullananlar için, WASM'ın gelişimini beklerken Go veya Rust gibi derlenen dillere de yönelmek faydalı olabilir
8 yorum
K8s, container’ları orkestre eden bir araç; peki wasm yüzünden etkinliği azalır mı? Docker bir ölçüde pay kaybeder ama....
WASM yeni bir 3D yazıcı gibi görünüyor. "Yeni bir dünya geliyor" deniyor ama işin aslı, gerçekten kullanan pek yok...
Burada uygulama örneklerinin bir derlemesi var.
(Bana göre) özellikle CAD ya da görüntü işleme gibi alanlar en mantıklı görünenler.
Bir zamanlar web'de yüksek çözünürlüklü tıbbi görüntüleri hayata geçirme konusunda kafa yoran bir çözüm geliştirme ekibini birden hatırladım.
Bakıp ben de aynısını deniyorum.
2030'da da k8s'in gücünü koruyacağı anlaşılıyor
Sonunda hem Docker’ı hem de wasm’i bilmek gerekecek galiba haha. Yine de Docker da teknoloji olgunlaştıkça erişimi kolaylaşmıştı; wasm’in de benzer şekilde yaklaşımı daha kolay bir yöne gideceğini düşünüyorum.
Sonunda iş, wasm runtime performansının sırtından geçiniyormuş gibi bir görünüme bürünüyor; bu durumda V8, JVM ile aynı katmana yerleşmiş olmuyor mu?
V8 sürümüne göre WASM davranışının değiştiği ve bunun debug edilmek zorunda kalındığı bir geleceğin bizi bekliyor olmasından endişe ediyorum.
Hacker News görüşleri