サーバレス関数のパフォーマンス向上が鍵
「サーバレスアプリケーション」のデプロイを高速化する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
-
製品資料
[株式会社MatrixFlow] 「物流リソース最適化」ガイド:人員・配車・傭車を出庫依頼の確定前に決めきる -
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
2
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
3
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
4
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
5
肥大化した「SFA」の沼 4カ月でBigQuery×AppSheetの新システムを構築した方法
-
6
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
7
「何から始めればいい?」 情報漏えい対策で悲鳴を上げる中小企業のリアル
-
8
ネットワールド、ICカード認証対応のシンクライアント構築アプライアンスを販売
-
9
ノベルティプレゼント「Windows 8 TシャツとOffice クリーニングクロスセット」
-
10
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
プログラミング不要で誰でも実現できる、ネットワーク運用管理の自動化とは
-
5
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
6
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
9
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
10
“あのファイル転送”で暗躍するノーウェアランサム
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー