サーバレス関数のパフォーマンス向上が鍵
「サーバレスアプリケーション」のデプロイを高速化する5つのポイント
サーバレスアプリケーションのデプロイを迅速化するには、その構成要素であるサーバレス関数のパフォーマンスを向上させる必要がある。具体的に何をすべきなのか。本稿では主要な5つのポイントを紹介する。
「AWS Lambda」「Azure Functions」「Google Cloud Functions」などのイベント駆動型コード実行サービスは、サーバの存在を意識せずにアプリケーションを開発・運用できる「サーバレスアーキテクチャ」を具現化する代表的な手段だ。イベント駆動型コード実行サービスを適切に利用すれば、サーバレスアーキテクチャに基づくアプリケーション(以下、サーバレスアプリケーション)を効率的かつ迅速にデプロイ(配備)できる。
サーバレスアプリケーションのデプロイ速度を最大限に高めるには、その構成要素となる関数(以下、サーバレス関数)のパフォーマンスを改善する必要がある。確実な改善には、以下の5つの戦略を実行するとよい。
- 依存関係の最小化
- セッション間の環境データの維持
- メモリ割り当ての増加
- 関数コードの簡潔化
- ベンダーの比較検討
それぞれのポイントについて、詳しく見ていこう。
併せて読みたいお薦め記事
ベンダー各社の「サーバレス」サービスを比較
「サーバレス」と「コンテナ」の違い
1.依存関係の最小化
企業では全てのアプリケーションのパフォーマンスを向上させるために、不要な「依存関係」を排除する必要がある。依存関係とは、汎用(はんよう)的なプログラムをまとめたライブラリをはじめとする他のコンポーネントがないと、関数のビルド(コードからソフトウェアを生成するプロセス)や実行ができない状況を指す。不要な依存関係は、アプリケーションのデプロイを大幅に遅延させる可能性がある。サーバレス関数のパフォーマンスを向上させるためには、サーバレス関数に潜むこうした依存関係を排除する必要がある。
実行に必要なモジュールのみを含むように、各サーバレス関数を記述することが重要だ。Pythonをはじめ高度にモジュール化された言語を使用すると、この目標の達成が容易になる。
2.セッション間の環境データの維持
サーバレスアプリケーションのデプロイにかかる時間を短縮するには、サーバレス関数のセッション(呼び出しから終了までの一連の流れ)間で、可能な限り多くのデータを維持する。サーバレス関数を実行する場合、一般的にはネットワーク関連の環境データをローカルストレージに保存して、そのサーバレス関数のネットワーク接続を維持することが望ましい。これにより、そのサーバレス関数を再実行する際に、一からネットワークを再接続する必要がなくなる。これによりデプロイ時間を短縮できる。
3.メモリ割り当ての増加
サーバレス関数の種類によっては、より多くのメモリを割り当てることでパフォーマンスを向上させることができる。イベント駆動型コード実行サービスでは、メモリ割り当てを増やしたからといって、サーバレス関数へのCPUリソースの割り当てが必ず増えるわけではない。メモリを追加する際にはCPUリソースも明示的に追加することにより、ほとんどの場合でパフォーマンスが向上する。
メモリ割り当てを増やすとコストも増加する。予算の許す限り多くのメモリを割り当てるのが、サーバレス関数のパフォーマンスを向上させる簡単な方法だ。
4.関数コードの簡潔化
開発者はできるだけ短くて簡潔なコードを書く必要がある。サーバレス関数の場合、特にそうだ。不要なコードはサーバレス関数を肥大化させ、デプロイ前に読み込むべきデータ量を増やす原因になり得る。最終的な目標は、可能な限り少ないコード行数でサーバレス関数を記述しつつ、必要な結果を出すことだ。
5.ベンダーの比較検討
AWS、Microsoft、Googleなどの主要なクラウドベンダーは、こぞってイベント駆動型コード実行サービスを提供している。だからといって、どのイベント駆動型コード実行サービスで実行するサーバレス関数でも、パフォーマンスが同じというわけではない。利用するサーバレス関数によっては、Azure Functionsの方がAWS Lambdaよりも高速に実行できる場合があり、別のサーバレス関数ではその逆となることもある。現在のサーバレス関数のパフォーマンスに満足がいかない場合や、最適化が必要な場合は、複数のパブリッククラウドでテストし、パフォーマンスを測定すべきだ。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
技術文書・技術解説
[Jamf Japan 合同会社] MDMだけでモバイルセキュリティは十分? 不足する対策を16項目でチェック -
事例
[Wrike Japan 株式会社] 世界的な家電メーカーが実践する「クリエイティブプロセス効率化」の方法とは? -
事例
[Wrike Japan 株式会社] 世界的テクノロジー企業に学ぶ、プロセス標準化とプロジェクト納品自動化の秘訣 -
事例
[Wrike Japan 株式会社] ソニー・ピクチャーズ テレビジョンに学ぶ、次世代サービスデリバリーのヒント -
事例
[Wrike Japan 株式会社] ソミック石川に学ぶ、ICT浸透後に直面した「工数管理」の課題と解決策
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Copilot」はなぜ放置される? “議事録要約止まり”を脱する処方箋
-
2
脱VMwareの前提が崩れる BroadcomのVDDK公開停止で確認すべき点
-
3
「データストレージの活用方法」に関するアンケート
-
4
なぜOpenAIやAnthropicのAIは「脱走」したのか 情シスが迫られるエージェント統制
-
5
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
6
Oracle巨大ITプロジェクトはなぜつまずいたのか 8年で導入1割、追加で170億ドル
-
7
「Microsoft一択」で本当にいいのか 知らぬ間にライセンス費用が膨らむ真相
-
8
ANAが専用回線から移行した「NaaS」の全貌 ネットワーク準備が数カ月から数週間に
-
9
Microsoft製品でここまで自動化できる 情シスがやめられる手作業10選
-
10
「プログラマー不要論」にThe Linux Foundationが示した答え
ホワイトペーパーランキング PR
-
1
マンガで解説:「ゼロトラスト」「SASE」の必要性とメリット
-
2
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
3
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
4
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
5
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
6
国税庁の次世代基幹システム「KSK2」稼働開始に向けて、対応すべき変更点とは?
-
7
5分で分かる「セキュア大容量ファイル転送サービス」の機能とメリット
-
8
ドラマで分かる、標的型攻撃メールの被害を受ける企業と回避できる企業の分岐点
-
9
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
10
少額減価償却資産が40万円未満へ拡大、令和8年度税制改正で押さえるべき変更点
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー