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 マーケティング新着記事

news033.jpg

ブランドは信頼に値するか? 「イエス」は日本ではわずか38%――エデルマン・ジャパン調査
エデルマン・ジャパンは、世界8カ国、1万6000人を対象に実施した消費者意識調査の日本に...

news019.jpg

「ラグビーワールドカップ2019」がおじさんの心を動かす――CCC調査
「ラグビーワールドカップ2019」が日本で開催されたことで日本人のラグビー愛にどう変化...

news044.jpg

誰のためのBI? 本当の「アナリティクスの民主化」って? マイクロストラテジー・ジャパン社長に聞く
「エンタープライズBI+セルフサービスBI」を掲げるMicroStrategy。同社日本法人社長に話...