コストだけでは比較できない
AWS、Azure、Google サーバレスは性能と移植性で評価する
サーバレスプラットフォームはコスト削減の効果が期待できる。だが、候補となるベンダーを企業のIT部門で評価する際に留意すべき要素は、コスト面だけではない。
サーバレスプラットフォームには、Amazon Web Services(AWS)の「AWS Lambda」、Microsoftの「Azure Functions」、Googleの「Cloud Functions」などがある。こうしたサーバレスプラットフォームを評価する場合、コストと価格モデルを検討する必要があるのは間違いない。だが、忘れてならない特徴は他にもある。
注意すべき最大の問題は、サーバレスの意味がクラウドベンダーごとに若干違うことだ。各社のサーバレスプラットフォームはサポートするアプリケーションの種類が異なる場合がある。
ステートレスアプリケーションの種類
サーバレスコンピューティングは本来、イベントに応答する一時的なアプリケーションを実行する方法として構成されたものだ。こうしたアプリケーションはステートレスだ。つまり、関連する一連のイベントのコンテキストを認識しない。そのため、開発者はこれらのアプリケーションを必要に応じて読み込み、実行し、複製することができる。
サーバレスプラットフォームで実行できるステートレスアプリケーションは2種類ある。1つは関数(ラムダ)コンピューティングとして知られている。このモデルでは、入力を単純に関数処理した結果がアプリケーションの出力になる。アプリケーションを実行する頻度や場所にかかわらず、常に同じ反応が得られる。
もう1つはバックエンドで状態を管理するものだ。この種のアプリケーションでは、複数手順のプロセスのコンテキストをデータベースに格納する。そのため、アプリケーションの実行対象となる新しい手順を表す新規イベントが発生したときに、中断していた場所から再開できる。
関数モデルは問題が多い。というのも、ほとんどのアプリケーションはステートフルな動作を含むためだ。例えば、データベースへの書き込みや、複数手順のトランザクションプロセスのサポートはステートフルになる。サーバレスベンダーのプラットフォームでこのような動作が必要になる場合、ユーザーはアプリケーションを細分化してステートレスな部分に分ける必要がある。アプリケーションがサードパーティー製だったり、人手や時間が足りなかったりする場合、目標とする全てのアプリケーションでサーバレスコンピューティングを使うことはできなくなる。
バックエンドでステータス管理しているモデルの問題点は、主にその実装方法にある。ステータスを格納するデータベースの場所や、その取得や復元をする際に生じる遅延の長さが問題になる。この遅延は長くなる可能性があり、ユーザーによっては最大1秒間に及ぶこともある。その結果、アプリケーションのパフォーマンスを損なう恐れがある。サーバレスアプリケーションをさまざまな地域でホストしている場合はその場所が遅延に影響することもある。
サーバレスのパフォーマンスと移植性
サーバレスプラットフォームによって、サーバレスアプリケーションでの処理が必要となるイベントを認識するまでの時間が異なる。アプリケーションを起動し、そのアプリケーションでデータを取得するための時間も同様だ。応答時間は1ミリ秒単位で遅延が生じる。
サーバレスのパフォーマンスに影響を与える重要な問題はもう1つある。機能をホストする場所だ。ホストするアプリケーションと、そのアプリケーションで処理するイベントのソースが遠く離れていると、ネットワークの遅延が問題になる恐れがある。一方、ホストする場所が全て同じデータセンター内に集中することになったら、信頼性が上乗せされないだろう。さらには、二次的なホスト場所と最初のホスト場所の距離が遠いと、新しいホスト場所へのアクセスに伴う遅延が長くなり過ぎる恐れがある。バックエンド状態の同期における遅延も長くなる。
最適なパフォーマンスを実現するために開発者がアプリケーションを作成する方法も、サーバレスプラットフォームごとに異なる。あるベンダー向けにサーバレスアプリケーションを設計したとする。だが、それを別のベンダーのクラウドで実行するには、変更を加えることが必要になる可能性が高い。サーバレスコンピューティングは通常、クラウドベンダーのWebサービスがサポートしている幅広いIoT(モノのインターネット)システムや、イベント処理のエコシステムの一部になる。その点を考えると、この移植性の問題が特に当てはまる。こうしたサービスへの依存度が高くなるほど、サーバレスアプリケーションを別のベンダーに簡単に移植できる可能性は低くなる。
移植性に関するもう1つの問題は、サーバレスベンダーが全てのプログラミング言語やミドルウェアをサポートしているわけではないことだ。つまり、プログラミングツールを柔軟に選択できる場合を除き、サーバレスアプリケーションの移植可能性は全く保証されない。クラウドベンダーがサポートするツールは変化が早い。そのため、サーバレスプロジェクトを開始する前にその候補を慎重に評価する必要がある。本稿執筆時点でサポートしているツールの中から最も移植性が高いものを求めるとしたら、Node.jsでアプリを構築することを検討することになる。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品レビュー
「電子帳簿保存法対応」実践術:タイムスタンプ付与などの要件の手軽な実現方法 -
事例
「大企業のデジタル化」成功事例集【コクヨ、九州電力、ヨネックスなど21社】 -
製品資料
“顧客管理の課題”を簡単に解決する方法とは? -
製品資料
契約管理の“あるある課題”をノーコード開発で解決するためのポイント -
製品資料
揺らぐ境界防御 いま企業が特に警戒すべき「3つのセキュリティ課題」とは?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
2
Microsoft製品でここまで自動化できる 情シスがやめられる手作業10選
-
3
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
4
継続利用は4割どまり M365 Copilotが「効く業務」と期待外れの境界
-
5
画面をティッシュで拭くのはNG Dellが推奨するPCの正しいお手入れ方法
-
6
VDI運用の“生きたノウハウ”を共有 歴史あるユーザー会の魅力とは?
-
7
メインフレームは死なず AI活用で20年来の高収益をたたき出す基幹システムの底力
-
8
Oracle巨大ITプロジェクトはなぜつまずいたのか 8年で導入1割、追加で170億ドル
-
9
「GitHub Copilot」3000人に配布も基本機能しか使われない 保険大手が得た教訓
-
10
GitHub Copilotを使いこなす第一歩 初めてのプロンプト6つのコツ
ホワイトペーパーランキング PR
-
1
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
2
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
-
3
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
4
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
5
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
6
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
7
「結局、一部の人しか使わない」 AI活用が業務に定着しない根本的な理由
-
8
AIエージェントで成果は出る? 調査結果に見る費用対効果の実態
-
9
PostgreSQLの「機能」「性能」「運用」「拡張性」に関する悩みの解消法
-
10
ゼロトラストにおける「IDaaSの課題」と補完すべき重要機能とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー