サーバレス関数のパフォーマンス向上が鍵
「サーバレスアプリケーション」のデプロイを高速化する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.
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
「Microsoft 365のセキュリティ運用」に関するアンケート
-
3
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
4
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
5
221人調査で分かった「情シス最大のストレス」は?
-
6
「Salesforceのテスト自動化ツール」に関するアンケート
-
7
IT製品の導入に関するアンケート「サーバ&ストレージ」編
-
8
「データストレージの活用方法」に関するアンケート
-
9
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
10
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー