WASM Diduga Akan Menjadi Masa Depan dari Cloud Computing

(Source: https://cosmonic.com/img/blogs/wasm.png)
 

Seperti yang kita tahu, Cloud Computing adalah salah satu teknologi yang sedang tren pada zaman sekarang. Banyak perusahaan-perusahaan yang sudah beralih ke teknologi cloud computing dalam kelangsungan bisnis mereka. Nah, salah satu yang diduga akan menjadi nomor 1 dalam dunia cloud computing adalah WASM (WebAssembly) ini.


Apa itu WebAssembly?

WebAssembly mendefinisikan format kode biner portabel dan format teks yang sesuai untuk program yang dapat dieksekusi serta antarmuka perangkat lunak untuk memfasilitasi interaksi antara program tersebut dan lingkungan host mereka.


Alasan WASM Disebut Sebagai Masa Depannya Cloud Computing

Baik di server atau di edge, WASM memungkinkan kalian untuk membuat logika khusus yang berjalan lebih dekat dengan data daripada sebelumnya. Dan kalian dapat melakukannya dengan aman, efisien, dan lebih fleksibel.

Singkatan bahasa WebAssembly, Wasm dikembangkan untuk web. Namun, teknologi Wasm telah berkembang melampaui browser web. Sekarang organisasi mulai menjalankan Wasm di sisi server. Beberapa orang berpikir Wasm akan menggantikan teknologi container dan JavaScript yang ada di mana-mana.

Bagaimana hal itu bisa terjadi?

Wasm Bersifat Lintas Platform, Sehingga Menjadikan Lebih Aman dan Mudah Untuk Menyatukan Komponen Cloud

Orang-orang menggunakan semua jenis bahasa yang berbeda untuk menulis perangkat lunak. Membuat bahasa-bahasa itu berinteraksi satu sama lain adalah hal yang sulit. WASM menyediakan kerangka kerja di mana kalian dapat menulis dalam bahasa apapun pun yang kalian inginkan. Kemudian ia menghasilkan format mesin simulasi yang umum.

Format itu memungkinkan komponen yang ditulis dalam berbagai bahasa—seperti Rust, C/C++, dan Go—untuk berbicara satu sama lain. WASM juga menyediakan kemampuan untuk sistem sisi server seperti database untuk menyematkan komponen dari bahasa yang berbeda tanpa mengharuskan kalian untuk mengetahui atau peduli bagaimana modul itu dibuat.

Anggap WASM sebagai format plugin universal. Katakanlah kalian ingin meningkatkan kapabilitas sistem kalian dengan komponen yang dikembangkan oleh pihak ketiga. WASM memungkinkan kalian membawa komponen baru ke dalam sistem kalian tanpa risiko yang biasanya datang dengan mengintegrasikan add-on. Misalnya, komponen eksternal mungkin merusak sistem atau bekerja dengan cara yang tidak terduga. WASM mengurangi masalah ini dengan membuat kerangka kerja yang sangat aman untuk sistem dan komponen yang berbeda untuk berinteraksi bersama.

Cloud merupakan pendorong besar ekspansi WASM. WASM sangat cocok untuk cloud karena tervirtualisasi dan dapat bekerja di lingkungan apa pun yang mendukung runtime WASM. Selain itu, sistem cloud biasanya terdiri dari banyak layanan yang disatukan dan dihubungkan dengan cara yang berbeda. Itu bisa saja menjadi rumit. Tetapi semakin kalian menyederhanakan lingkungan cloud kalian, semakin mudah berbagai aspek sistem cloud untuk bekerja sama dengan benar.

WASM Aman Karena Dapat Menurunkan Risiko dengan Pendekatannya Terhadap Kode yang Dijalankan dan Mewakili Fungsi

Di sebagian besar runtime bahasa, fungsi memiliki alamat. Alamat-alamat itu adalah titik yang dapat dieksekusi dalam memori. Jika kalian hanya melihat memori sebagai sekumpulan byte, suatu fungsi mungkin tidak dapat dibedakan dari memori lainnya. Ini membuka pintu bagi orang-orang untuk menemukan fungsi dan menyuntikkan kode ke dalamnya, atau memanggil fungsi dengan cara yang istimewa sehingga fungsi tersebut melakukan sesuatu yang tidak biasanya dilakukan. Desain WASM akan menghilangkan masalah-masalah itu.

WASM mewakili fungsi dengan cara yang tidak dapat dieksploitasi. Dia juga menjalankan kode di dalam kotak pasir, yang dapat mengurangi masalah keamanan umum yang terkait dengan menjalankan kode yang tidak dipercaya. Karena WASM mengenkapsulasi memori program di area yang aman, tidak ada yang bisa keluar darinya dan mengakses tempat lain yang mungkin memengaruhi host yang menjalankan program atau membahayakan keamanan.

Dan dengan model keamanan berbasis kemampuan WASM, host memiliki kontrol penuh atas jenis operasi istimewa apa yang dapat dijalankan oleh program WASM. Misalnya, host harus secara eksplisit memberikan akses ke direktori jika akses file merupakan persyaratan.

Wasm itu Cepat, Karena Dapat Menghilangkan Apa yang Tidak Dibutuhkan dan Memungkinkan Kecepatan dan Efisiensi yang Lebih Besar

Jelas, WASM bukanlah teknologi pertama yang digunakan orang untuk menyatukan berbagai hal dengan cara yang lebih aman dan sederhana. Namun, WASM jauh lebih cepat daripada beberapa teknologi lain tersebut.

Kompiler dapat menghasilkan program WASM dengan memanfaatkan back end LLVM, mengkompilasi ke representasi perantara LLVM. LLVM, atau mesin virtual tingkat rendah, adalah mesin yang diekstraksi yang telah dikompilasi oleh banyak bahasa. Sebagai hasil dari pendekatan ini, dan berkat bertahun-tahun upaya komunitas di sekitar proyek LLVM, program WASM dapat dikompilasi ke kode mesin yang sangat dioptimalkan.

Secara tradisional, mengintegrasikan data itu dan memasangnya pada lapisan tingkat menengah akan mengharuskan kalian untuk menarik banyak data ke tingkat menengah. Itu bisa menimbulkan lag yang sangat besar, dan memerlukan beberapa caching yang kompleks untuk mencapai respons waktu nyata. Alih-alih mengambil pendekatan itu, strategi masing-masing spaceship telah ditulis di WASM, dan dimuat ke dalam database sebagai UDF. Setiap detik, masing-masing fungsi strategi spaceship dipanggil untuk memutuskan langkah selanjutnya.

Tidak ada apa pun di front end—program JavaScript yang berjalan di browser—yang memahami strategi ini, atau apa pun tentang keadaan alam semesta. Tugasnya hanya untuk mengeluarkan kueri SQL langsung ke database dan menyajikan informasi yang dikembalikan secara grafis. Basis data menyimpan semua informasi status, dan karena WASM telah mengizinkan komputasi berada tepat di sebelah data, itu jauh lebih cepat. Tidak ada mid-tier yang bahkan diperlukan.

Tapi WASM tidak selalu menyenangkan. Kalian bisa menggunakannya untuk menangani banyak aplikasi dan kasus penggunaan lainnya. Misalnya, kalian dapat menggunakan WASM untuk analisis sentimen. Jenis logika kompleks yang diperlukan untuk analisis sentimen bukanlah sesuatu yang dapat dengan mudah diekspresikan dalam database SQL. Jadi, untuk melakukan ini, kalian biasanya perlu mengimplementasikannya dalam bahasa yang lebih canggih dan kemudian membawa data ke sana dengan mengunduh setiap baris data. Maka kalian perlu mendorong peringkat analisis sentimen kembali ke database. Itu berarti ada perjalanan bolak-balik untuk setiap baris dalam database yang kalian gunakan. Jika kalian memiliki jutaan baris, hal itu akan menciptakan banyak lalu lintas jaringan.

WASM Menjadi Lebih Baik Setiap Saat, Yaitu dengan Menciptakan Standar Membuatnya Semakin Kuat

WASM sebenarnya sudah sangat mampu. Dan dengan teknologi dan standar baru yang sedang dikembangkan, WASM akan memungkinkan kalian untuk melakukan lebih banyak lagi.

Misalnya, Grup Komunitas WebAssembly W3C, dengan bantuan dari anggota organisasi seperti Bytecode Alliance (di mana SingleStore adalah anggotanya), saat ini sedang mengerjakan standarisasi Antarmuka Sistem WebAssembly (WASI). WASI akan menyediakan seperangkat API dan layanan standar yang dapat digunakan ketika modul WASM berjalan di server. Banyak proposal standar yang masih dalam proses, seperti pengumpulan sampah, I/O jaringan, dan threading, sehingga kalian tidak selalu dapat memetakan hal-hal yang ingin kalian lakukan dalam bahasa pemrograman lain ke WASM. Namun pada akhirnya, WASI bertujuan untuk memberikan standar lengkap yang akan membantu untuk mencapai itu. Dalam banyak hal, tujuan WASI mirip dengan POSIX.

WASM seperti yang ada sekarang juga tidak membahas kemampuan untuk menghubungkan atau berkomunikasi dengan modul WASM lainnya. Namun komunitas WASM, dengan dukungan dari anggota industri komputasi, sedang mengerjakan pembuatan sesuatu yang disebut model komponen. Ini bertujuan untuk membuat infrastruktur penghubung dinamis di sekitar modul WASM, yang menentukan bagaimana komponen memulai dan berkomunikasi satu sama lain (mirip dengan model proses OS tradisional).

Selain itu, sintaks IDL standar yang muncul, yang disebut WIT (untuk Jenis Antarmuka WebAssembly), akan memungkinkan orang untuk menggambarkan antarmuka Wasm mereka dengan cara agnostik bahasa. Akibatnya, generator pengikat akan dapat mengambil apa yang ada di IDL dan mengkompilasi kode yang memungkinkan host WASM dan tamu untuk mengomunikasikan data bolak-balik dengan cara yang sama.



Jadi, begitulah alasan mengapa WASM mampu disebut sebagai bahasa yang akan menguasai masa depan Cloud Computing!

Komentar

Postingan populer dari blog ini

Arsitektur Aplikasi Mobile: Diagram dan Langkah-langkah Awal

Arsitektur Aplikasi Mobile

Apa Itu Software Development Life Cycle (SDLC)?