サーバレス関数のパフォーマンス向上が鍵
「サーバレスアプリケーション」のデプロイを高速化する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
-
製品資料
[ゾーホージャパン株式会社] サイバー攻撃からネットワークを守る上で確実に押さえておきたいポイントとは? -
事例
[アルプス システム インテグレーション株式会社] 中小企業でも安心して活用できる「手ごろなSOCサービス」とは? -
製品資料
[株式会社シーイーシー] 脱VMwareに成功した企業は何をどう実践した? 事例に学ぶ戦略立案&実装のコツ -
製品資料
[株式会社オービックビジネスコンサルタント] ランサムウェア攻撃を“二重の防御構造”で防ぐ、クラウド型基幹システムの実力 -
製品資料
[株式会社オービックビジネスコンサルタント] 動画で知るランサムウェア被害企業のリアル、会計データが無事だった理由とは
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
鹿島建設のDXを阻む「10年前のAWS」 安全性と自由度を両立したモダナイズ
-
2
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
3
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
4
「結局使わなくなる」Microsoft 365 Copilotを半年で定着 キリンの3施策
-
5
Microsoft激怒のゼロデイ脆弱性「無断公開」 パッチを待つのが危険な理由
-
6
「Oracle Database」のサポート体系が変更 料金への影響は?
-
7
Windows Server 2025移行の“超難関”「Active Directory」問題解決ガイド
-
8
「Excel管理」では限界――製造現場の改善が進まない“隠れた原因”
-
9
積水化学が挑む「データ経営」の核心:SAP S/4HANA Cloud導入の狙いとは
-
10
データセンター事業者が「脱VMware」をした“例のライセンス問題”じゃない理由
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
DX/AI投資の壁を突破、現代の最高財務責任者が直面する課題と克服のヒント
-
3
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
4
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
5
システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
-
6
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
7
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
8
“あのファイル転送”で暗躍するノーウェアランサム
-
9
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー