
サーバーレスはクラウド コンピューティングの世界に旋風を巻き起こし、過去数年間で大幅な成長を遂げ、将来についても非常に前向きな予測がなされており、最近の年間成長率予測によると、市場は 2028 年までに複利率で 20% 以上成長すると予想されています。 。
基本的に、サーバーレス アーキテクチャは、IT 自動化ソフトウェアを通じてクラウド ベースのテクノロジーの可能性を最大限に引き出し、企業が IT インフラストラクチャの管理に時間とリソースを費やす代わりに成長を促進できるようにします。
これは有望に聞こえますが、サーバーレス クラウド プラットフォームは依然としてステートレスで集中化されているため、アプリケーションは状態を保存するというこの欠点に対処し、ベンダー ロックインの影響を受けることを回避する必要があります。
インターネット コンピュータは、単一の当事者がハードウェアやソフトウェアを制御することのない分散化を通じて、セキュリティ、制御、および信頼の別の層を提供します。さらに、インターネット コンピュータはステートフルな方法で動作するように設計されています。
この記事では、インターネット コンピュータのブロックチェーンが、分散化とステートフル性という 2 つの重要な追加利点を備えたサーバーレス コンピューティング機能をどのように提供できるかについて説明します。
サーバーレスとは何ですか?
サーバーレスは、基盤となるインフラストラクチャ (適切な仮想マシンのプロビジョニングとスケーリング、ソフトウェアとフレームワークのインストールと保守) を考慮する必要がなく、高速かつ柔軟な開発サイクルを可能にする新しいクラウド コンピューティング パラダイムであり、それによって全体の運用コストが削減されます。
サーバーレスにはさまざまな形式がありますが、このケースで最も関連性があるのは Functions as a Service (FaaS) です。FaaS では、(大規模なコード ベースが) 非常に短い実行時間 (ミリ秒から数分) の小さな関数に分割され、関数は使用ごとに使用されます。基本課金 (つまり、実行時間に基づく) に加えて呼び出しごとの固定料金がかかります。最後に言及する重要な機能は、短期間に同じ関数のインスタンスを最大数千まで起動できる優れたスケーラビリティです。
サーバーレス プラットフォームとしてのインターネット コンピューティング
Internet Computer のアーキテクチャを簡単に見てみると、サーバーレス機能と追加の利点さえも提供していることがすぐにわかります。
現在、FaaS 関数はコンテナーとして、または単にコード (Python、JavaScript、Java、Rust など) としてパッケージ化されており、外部ユーザーや他の関数から直接呼び出すことができる単一のエンドポイントを提供します。
インターネット コンピューター上のコンテナー スマート コントラクトは、Rust、Motoko、JavaScript、Python などのさまざまな言語でプログラムすることもでき、コンテナーごとに異なる機能を提供する複数のエンドポイントを公開できます。
次の表は、主なサーバーレス機能とそれに対応するインターネット コンピューター、およびクラウドベースのサーバーレスに対するブロックチェーンの利点をまとめたものです。

表からわかるように、インターネット コンピューターはサーバーレス環境のすべての要件を満たしています。開発者は気づいていないかもしれませんが、調査によると、インターネット コンピューターは、従来のクラウド プロバイダーが提供するものとほぼ同じ効率でサーバーレス コードをすでに実行しています。同じ。
一部の側面 (メモリなど) では、インターネット コンピューターは従来のクラウド プロバイダーが提供する機能を超えています。ただし、開発者に強調したい最も重要な機能は次のとおりです。 ステートフルと分散型、従来のサーバーレス クラウドはこれら 2 つの機能を提供しません。
表 2-3 では、技術に精通した読者に、インターネット コンピュータを競争力のあるサーバーレス プラットフォームにする技術的側面を詳しく掘り下げていきます。ここで重要なのは、インターネット コンピュータには更新モードと更新モードの 2 種類のスマート コントラクト実行があるということです。クエリ モードでは、前者はステートフルな呼び出しを表し、後者は一般的なサーバーレス コンピューティングと同様にステートレスです。


関数実行後の状態の保持は、サーバーレス/FaaS の世界で長年求められてきた機能ですが、現在クラウドで利用可能なシームレスなファンアウト タイプのスケーラビリティと競合することが多いため、実装は非常に困難です。
幸いなことに、インターネット コンピューターはステートフル性を念頭に置いてゼロから設計されており、外部ストレージ レイヤーやデータベースにデータを保存するなど、手動による介入を一切必要とせずにこの機能を開発者に提供します。そのため、すべての変数またはデータはインターネットコンピュータ上でスマートコントラクトを呼び出した後、自動的に永続化されます。
分散化は、見落とされがちなもう 1 つの重要な特性です。現在、最新のサーバーレス製品はいくつかの大規模な集中型クラウドによって提供されており、開発者のコードとデータの安全性はプロバイダーと同等であり、地理的な混乱に対して脆弱です。単純なサプライヤーポリシーの変更。
インターネット コンピュータは完全に分散化されており、ノード マシンは地理的に異なる場所で実行され、ビザンチン (悪意のある) 障害さえも許容できる強力なコンセンサス保証の下で動作します。

インターネット コンピューターと従来のサーバーレス プラットフォーム
サーバーレス クラウドの観点からインターネット コンピューター ブロックチェーンのパフォーマンスを評価するために、インターネット コンピューターと上位 3 つのサーバーレス プラットフォームの 1 つで CPU 負荷の高いベンチマーク コンピューティング プライムを実行しました。入力が小さい場合は、インターネット コンピューターの方が従来のサーバーレスよりも優れていました。サーバーは高速であり、入力が大きい場合でも従来の半分の速度しかありません (以下の結果を参照)。
これは非常に心強いことであり、まだ道のりは長いものの、従来の集中型クラウドと比較してインターネット コンピューティングがパフォーマンスの面で注目を集めていることを示しています。詳細については、権威ある専門家による最近の査読済みの記事を参照することをお勧めします。 USENIX ATC カンファレンス:
usenix.org/system/files/atc23-arutyunyan.pdf

性能を上げる
分散化やステートフルネスなどの追加の組み込み機能は、大規模なワークロードを処理するときにインターネット コンピューターのパフォーマンスを低下させます (図 2 を参照)。これらの機能は強力で重要ですが、そのままのパフォーマンスも低下させます。

DFINITY のエンジニアと研究者は、インターネット上のコンピューターのパフォーマンスを強化および改善する方法を探し、模索し続けます。改善の一部の領域には、並列処理を強化したり、現在のストレージ層をログ構造のマージ ツリー アプローチに置き換えてチェックポイント時間を短縮したりすることが考えられます。
複合クエリの能力を最大限に活用してより複雑なアプリケーションをサポートすることも、パフォーマンスにプラスの影響を及ぼします。これにより、水平方向の DAPP スケーリングを可能にし、クライアント コードを簡素化し、サブネットを越えたクエリの呼び出しと複製された実行が可能になります。進行中です。
インターネット コンピュータ上でサーバーレス アプリケーションを構築する

インターネット コンピュータ上で Enterprise Pilot を実行する

気になるICコンテンツ
テクノロジーの進歩 | 世界的なイベント

IC Binance チャネルを収集してフォローする
最新情報を常に入手してください
