2019年02月15日 09時00分 公開
特集/連載

サーバレス関数のパフォーマンス向上が鍵「サーバレスアプリケーション」のデプロイを高速化する5つのポイント

サーバレスアプリケーションのデプロイを迅速化するには、その構成要素であるサーバレス関数のパフォーマンスを向上させる必要がある。具体的に何をすべきなのか。本稿では主要な5つのポイントを紹介する。

[Chris Tozzi,TechTarget]

関連キーワード

Microsoft Azure | Amazon Web Services | Google


画像

 「AWS Lambda」「Azure Functions」「Google Cloud Functions」などのイベント駆動型コード実行サービスは、サーバの存在を意識せずにアプリケーションを開発・運用できる「サーバレスアーキテクチャ」を具現化する代表的な手段だ。イベント駆動型コード実行サービスを適切に利用すれば、サーバレスアーキテクチャに基づくアプリケーション(以下、サーバレスアプリケーション)を効率的かつ迅速にデプロイ(配備)できる。

 サーバレスアプリケーションのデプロイ速度を最大限に高めるには、その構成要素となる関数(以下、サーバレス関数)のパフォーマンスを改善する必要がある。確実な改善には、以下の5つの戦略を実行するとよい。

  1. 依存関係の最小化
  2. セッション間の環境データの維持
  3. メモリ割り当ての増加
  4. 関数コードの簡潔化
  5. ベンダーの比較検討

 それぞれのポイントについて、詳しく見ていこう。

1.依存関係の最小化

 企業では全てのアプリケーションのパフォーマンスを向上させるために、不要な「依存関係」を排除する必要がある。依存関係とは、汎用(はんよう)的なプログラムをまとめたライブラリをはじめとする他のコンポーネントがないと、関数のビルド(コードからソフトウェアを生成するプロセス)や実行ができない状況を指す。不要な依存関係は、アプリケーションのデプロイを大幅に遅延させる可能性がある。サーバレス関数のパフォーマンスを向上させるためには、サーバレス関数に潜むこうした依存関係を排除する必要がある。

 実行に必要なモジュールのみを含むように、各サーバレス関数を記述することが重要だ。Pythonをはじめ高度にモジュール化された言語を使用すると、この目標の達成が容易になる。

2.セッション間の環境データの維持

ITmedia マーケティング新着記事

news091.jpg

インターネット広告に関するユーザー意識 8割のユーザーが情報活用に不安――JIAA調査
ユーザーのインターネットメディア・広告への意識、情報取得活用への意識、業界が取り組...

news098.jpg

BeautyTech関連アプリは浸透しているのか?――アイスタイル調べ
BeutyTech関連アプリがこの1年で浸透し始めたことが明らかになりました。

news094.jpg

日本国内に住む中国人女性のSNS利用実態――アライドアーキテクツ調査
在日中国人女性464人に聞いたSNSの利用状況と、SNSを通じて行われる情報提供の実態につい...