Wasm 気候が到来しました!

Wasm 気候が到来しました!

著者 |ピーター・ヴェテレ

翻訳者 |崔英鋒

サーバー上でもエッジ上でも、Wasm を使用すると、これまでよりもデータに近いカスタム ロジックを作成できます。これを安全かつ効率的に、そしてより柔軟に行うことができます。

Wasm は最も重要な新興テクノロジーの 1 つであり、聞いたことがあるかどうかにかかわらず、それが重要であることに疑いの余地はありません。

Wasm は WebAssembly 言語の略称で、Web 向けに開発されています。しかし、Wasm テクノロジーは Web ブラウザーを超えて拡張されました。現在、一部の組織ではサーバー側で Wasm を実行し始めています。たとえば、私の会社 SingleStore では、データベースでこれを使用しています。

Wasm がコンテナ技術と JavaScript の普及に取って代わると考える人もいます。

信じられないかもしれませんが、Wasm はクラウド コンピューティングに影響を与えています。なぜ、どのように影響するのでしょうか?一つずつ説明させてください。

クロスプラットフォーム: クラウドコンポーネントをより安全に、より簡単に組み合わせる

人々はソフトウェアを書くためにさまざまな言語を使用します。これらの言語を相互運用することは困難です。 Wasm は、任意の言語で記述できるフレームワークを提供します。これを使用して、共通のシミュレーション マシン形式が作成されました。

この形式により、さまざまな言語 (Rust、C/C++、Go など) で記述されたコンポーネントが相互に通信できるようになります。 Wasm は、モジュールがどのように生成されたかを知ったり気にしたりすることなく、データベースなどのサーバー側システムにさまざまな言語のコンポーネントを埋め込む機能も提供します。

Wasm を汎用プラグイン形式として考えてください。システムの機能を強化するために、サードパーティによって開発されたコンポーネントを使用したいとします。 Wasm を使用すると、アドオンの統合に通常伴うリスクなしに、システムに新しいコンポーネントを導入できます。たとえば、外部コンポーネントによってシステムがクラッシュしたり、予期しない誤動作が発生したりする可能性があります。 Wasm は、さまざまなシステムやコンポーネントが相互にやり取りするための非常に安全なフレームワークを作成することで、これらの問題を軽減します。

クラウドは Wasm の拡大の重要な原動力です。 Wasm は仮想化されており、Wasm ランタイムをサポートするあらゆる環境で動作するため、クラウドに最適です。さらに、クラウド システムは、さまざまな方法で組み合わせられ接続された多数のサービスから構成されることがよくあります。複雑になる可能性があります。ただし、クラウド環境を簡素化すればするほど、クラウド システムのすべての側面が正しく連携しやすくなります。

セキュリティ: コードの実行方法と関数の表現方法によってリスクを軽減します

ほとんどの言語ランタイムでは、関数にはアドレスがあります。これらのアドレスはメモリ内の実行可能ポイントです。メモリを単なるバイトの集まりとして考えると、関数アドレスがどこにあり、通常のバイトがどこにあるのかを区別する方法がありません。これにより、誰かが関数のエントリ ポイントを見つけてコードを挿入したり、特権モードで関数を呼び出して関数が実行すべきでない操作を実行したりできるようになります。 Wasm はこれらの問題を解消するように設計されています。

Wasm は、悪用できない方法で関数を表現します。また、サンドボックス内でコードを実行するため、信頼できないコードの実行に関連する一般的なセキュリティ問題が軽減されます。 Wasm はプログラム メモリを安全なエンクレーブ内にカプセル化するため、その領域を超えてプログラムを実行しているホストに影響を与えたり、セキュリティを侵害したりする可能性のあるものにアクセスすることはできません。

Wasm の機能ベースのセキュリティ モデルにより、ホストは Wasm プログラムが実行できる特権操作の種類を完全に制御できます。たとえば、ファイル アクセスが必要な場合、ホストはディレクトリへのアクセスを明示的に許可する必要があります。

スピード: 不要なものを排除してスピードと効率を高める

明らかに、Wasm は、物事をより安全かつ簡単な方法でまとめるために人々が使用している最初のテクノロジーではありません。ただし、Wasm は他のテクノロジーよりもはるかに高速です。

コンパイラは、LLVM バックエンドを活用して LLVM 中間表現にコンパイルすることで Wasm プログラムを生成できます。 LLVM (Low Level Virtual Machine の略) は、多くの言語のコンパイル バックグラウンドとして使用できます。このアプローチと、LLVM プロジェクトをめぐる長年のコミュニティの努力のおかげで、Wasm プログラムを高度に最適化されたマシン コードにコンパイルできるようになりました。

SingleStore では、Wasm のスピードと軽さを紹介するために、データベース内の仮想リアルタイム宇宙である「Wasm Space Program」を作成しました。このシミュレーションでは、宇宙船はさまざまな戦略を使用してエネルギーを充電し、広大なリアルタイムの「宇宙」で他の宇宙船と戦います。これには大量のデータが関係しており、システムには 100 万隻以上の船舶があり、1 秒あたり約 300 万件のデータベース更新が行われています。

従来、このデータを統合して中間層に組み立てるには、大量のデータを中間層に抽出する必要がありました。これにより大きな遅延が発生する可能性があり、リアルタイムの応答を実現するには高度なキャッシュが必要になります。 Wasm Space Program はこのアプローチを採用せず、代わりに各宇宙船の戦略を Wasm で記述し、それを UDF としてデータベースにロードします。毎秒、各宇宙船の戦略関数が呼び出され、次の動きが決定されます。

フロントエンド (ブラウザで実行される JavaScript プログラム) には、これらのポリシーを理解するロジックはなく、宇宙の状態に関する情報もありません。その役割は、単にデータベースに直接 SQL クエリを発行し、返された情報をグラフィカルに表示することです。データベースはすべての状態情報を保持し、Wasm ではデータのすぐ隣で計算を実行できるため、計算速度が大幅に向上します。中間層も必要ありません。

しかし、Wasm は楽しいことばかりではありません。これを使用して、他の無数のアプリケーションやユースケースを解決できます。たとえば、Wasm を使用して感情分析を実行できます。感情分析に必要な複雑なロジックは、データベース SQL 言語では簡単に表現できません。そのため、これを実行するには、通常、より複雑な言語でアルゴリズムを実装し、すべてのデータをダウンロードしてアルゴリズムに入力する必要があります。次に、感情分析の評価をデータベースに戻す必要があります。つまり、使用するデータベース内のすべての行でラウンドトリップが必要になります。データが何百万行もある場合、トラフィック量は膨大になります。ただし、SingleStore が Wasm を統合する方法では、アルゴリズムがすでにデータベース内にあるため、そのオーバーヘッドは発生しません。

機能: 標準を作成することで、より強力になります

Wasm はすでに非常に優れています。そして、新しいテクノロジーと新しい標準の登場により、Wasm はさらに強力になります。

たとえば、W3C WebAssembly コミュニティ グループは、Bytecode Alliance などの組織のメンバーの協力を得て、現在 WebAssembly System Interface (WASI) の標準化に取り組んでいます。 WASI は、Wasm モジュールがサーバー上で実行されるときに使用できる API とサービスの標準セットを提供します。ガベージ コレクション、ネットワーク I/O、スレッドなど、多くの標準提案がまだ進行中であるため、他のプログラミング言語で行うすべてのことを必ずしも Wasm にマッピングする必要はありません。最終的に、WASI はこの目標を達成するための完全な標準を提供するからです。多くの点で、WASI の目標は POSIX の目標と似ています。

Wasm は現在、他の Wasm モジュールとリンクしたり通信したりする機能には対応していません。しかし、Wasm コミュニティは、コンピューティング業界のメンバーの支援を受けて、コンポーネント モデルと呼ばれるものの作成に取り組んでいます。 Wasm モジュールの周囲に動的にリンクされたインフラストラクチャを作成し、コンポーネントの起動方法と相互通信方法を定義することを目的としています (従来のオペレーティング システムのプロセス モデルと同様)。

さらに、WIT (WebAssembly Interface Types) と呼ばれる新しい標準 IDL 構文により、言語に依存しない方法で Wasm インターフェースを記述できるようになります。したがって、バインディング ジェネレーターは IDL の内容を取得して、Wasm ホストとクライアントが共通の方法でデータを通信できるようにするコードをコンパイルできるようになります。

将来: 物事をより速く、より安全に、より効率的にまとめる方法を提供する

Wasm はより軽量ではありますが、おそらくすぐにはコンテナに取って代わることはないでしょう。ただし、将来的には Wasm が多くのソフトウェアに組み込まれることが予想されます。

サーバー上でもエッジ上でも、Wasm を使用すると、これまでよりもデータに近いカスタム ロジックを作成でき、これを安全かつ効率的に、より柔軟に行うことができます。

SingleStore を使用すると、既存のプログラムを Wasm にコンパイルし、データベースにプッシュして、そこで実行できるようになりました。つまり、そのコードを書き直してデータから離れた場所に置く必要はおそらくありません。 Wasm テクノロジーを使用すると、両方の長所を活かすことができます。

元のリンク:

https://www.infoworld.com/article/3678208/why-wasm-is-the-future-of-cloud-computing.html

翻訳者について

51CTO コミュニティ エディターの Cui Yingfeng 氏は、1970 年代生まれで 10 年以上の職務経験を持つプログラマーです。長年にわたり、Java 開発、アーキテクチャ設計、コンテナ化などの関連業務に従事。

<<:  ガートナーは、パブリッククラウドに対する世界のエンドユーザーの支出が2023年に約6,000億ドルに達すると予測している。

>>:  年末レビュー: 2022 年に最も注目される DevOps スタートアップ 10 社

推薦する

ウェブサイト最適化のあらゆる詳細とすべてのステップを確認する

ウェブサイトの最適化は長いプロセスです。初期の計画からウェブサイトの構築、サイト内最適化、外部リンク...

Raksmartロサンゼルスベアメタルクラウド評価データ共有、raksmartの方法をお伝えします

raksmart データセンターの「ベアメタルクラウド」は、英語で「Bare-Metal Cloud...

intovps: ルーマニア VPS、50% オフ、無料の DirectAdmin パネル、ハイエンド製品、OpenStack+KVM+NVMe+2*40G 帯域幅

intovps のルーマニア データ センターに新しく追加された VPS は、2G メモリの VPS...

エッジ展開のビジネスケース

アプリケーション ワークロードをエッジ コンピューティング デプロイメントに移行するメリットを検討す...

ケータリング 020: WeChat と Weibo での新規レストラン向け 4 ステップ マーケティング戦略

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスインターネットの発展とマ...

コーディング不要の純粋なSEO最適化ランキング手法

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスSEO はインターネット...

NameServer、Zookeeper、違いが分からない

[[386520]]この記事はWeChatの公開アカウント「大宇賢人」から転載したもので、著者は大宇...

iwfhosting - $8.99/KVM/2G メモリ/25g SSD/1T トラフィック/10Gbps 帯域幅/ロサンゼルス

iwfhosting は H4Y Technologies LLC 傘下のブランドです。主にホスティ...

推奨: アトランティック クラウド VPS-256Mkvm/1T トラフィック/月額 5 USD (2 か月間無料トライアル)

これまでHostCatでも3回ご紹介させていただいたAtlanticは、1994年創業の実績豊富な会...

インテルがクラウドコンピューティングの加速キーを押す

4 月 7 日、Intel はシングル ソケットおよび 2 ソケット サーバー向けに設計された第 3...

専門家オンライン: 未来の工場の 9 つの機能

[51CTO.comからのオリジナル記事] クラウドコンピューティング、ビッグデータ、モノのインター...

グリーンラディッシュアルゴリズムはいつも私に思い出させる

これは非常に古い話題です。Baiduは2013年2月19日に公開プラットフォームで新しいアルゴリズム...

シドニーは罰金を科せられ、アンカーは「所有者不明」となった

ロレアルと李佳琦の論争はまだ終わっておらず、シドニーは脱税で罰金を科され、キャスター界に「衝撃」を与...

11月22日に外部リンクツールのアップグレード版の内部テストを開始するお知らせ

ウェブマスターの皆様へみなさん、こんにちは。より正確なアップグレード版の外部リンクツールを皆様にご利...