クラウドで発生する手間を自動化で削減
サーバレス運用を実現――「AWS Lambda」「Azure Functions」を比較する
クラウドを利用するにも、プロビジョニングといった手間やコストが発生する。だが、システムが自動でそれを実行できるとしたら、手間が大幅に下がる。ではどのように自動化すればいいのだろう。
Amazon Web Servicesの「Amazon Web Services」(AWS)やMicrosoftの「Microsoft Azure」といったクラウドサービスには各種のメリットがあるが、こうしたサービスは依然としてオーバーヘッドを伴う。仮想サーバであれ、オブジェクトストレージバケットであれ、SQLデータベースであれ、使用する前にまずリソースを最適に提供する「プロビジョニング」をする必要がある。こうした必須とみられる要件が、クラウドを利用するためのコストや時間、手間を確実に増大させる。
だがシステムが自動的にサービスをプロビジョニングし、別のアプリケーションからの通信といった各種のイベントに反応してジョブを実行できるとしたらどうだろう。これが「サーバレスアプリケーション」の背後にある考え方だ。サーバレスアプリケーションは「クラウドファンクション」とも呼ばれる。本稿では、2つのサーバレスコンピュ―ティングサービスであるAmazon Web Servicesの「AWS Lambda」とMicrosoftの「Azure Functions」について比較しながら確認する。
併せて読みたいお勧め記事
AWS Lambdaに関する記事
コンテナって何?
トリガーと対応言語
クラウドファンクションは新しい概念だが、既に複数のベンダーがサービスを提供している。リーダー的存在はAWS Lambdaだが、他にもIBMの「IBM Bluemix OpenWhisk」、Googleの「Google Cloud Functions」、Azure Functionsなどのサービスがある。
Azure Functionsは現在プレビュー段階だ。「Azure App Service」や「Azure WebJobs」といった既存のPaaS(Platform as a Service)を利用し、モバイルアプリケーションやブラウザベースなどに必要なアプリケーション向けバックエンドコンポーネントの開発を簡素化する。「JavaScript」や「C#」「Python」「PHP」などの言語で記述されたコードモジュールのセットを、下記の外部イベントをトリガーとして発生したときのみ実行する仕組みだ。トリガーとなるイベントはAzureに限定されず、サードパーティーやオンプレミスのシステムで発生するあらゆるイベントを利用できる。
- ストレージコンテナ内の変化
- メッセージキューに対する操作
- 公開されている「HTTP API」からのアクセス
AWS Lambdaはトリガーを「イベントソース」と呼び、AWSの他のサービスや外部アプリケーションからも受け取れる。ユーザーはイベントソースとAWS Lambdaの関数をひも付けて利用する。例えば、AWSのクラウドストレージ「Amazon Simple Storage Service」(Amazon S3)のバケットにオブジェクトを作成する。そのとき、AWS Lambdaコードを実行する許可が与えられている場合、関数を実行するといった具合だ。AWS LambdaのイベントソースにはAmazon S3の他、AWSのデータベースサービス「Amazon DynamoDB」やSNSの通知、AWSのモニタリングツール「Amazon CloudWatch」のアクティビティーなどを設定できる。
モバイルアプリケーションでAWSのソフトウェア開発キット「SDK」を利用し、公開されている「AWS Lambda API」を実行することで、オンデマンド機能を呼び出すことも可能だ。AWS Lambdaの関数は、「Node.js」やPython、「Java」などで記述できる。
コンテナの役割
Azure FunctionsとAWS Lambdaはどちらもコンテナで動作する。ただし、実装方法や制限事項はそれぞれ異なる。
Azure Functionsの関数はAzure App Serviceのコンテナアーキテクチャを使って構築する。料金プランには「App Serviceプラン」と「動的サービスプラン」の2種類がある。App Serviceプランでは、関数をその他のアプリケーションと同様に専用の仮想マシン(VM)で実行する。専用VMはコードが実行中かどうかにかかわらず、常に使用することが可能だ。App Serviceプランは関数を長期間継続的に実行する場合や既存のVMの使用率が低い場合などに適している。
一方、動的サービスプランは関数専用のプランであり、関数を複数のVMに自動的にスケーリングできる。動的サービスプランは、実行時間が短い断続的なジョブに適している。
AWS Lambdaの関数もコンテナで動作する。コンテナでメモリサイズや最大実行時間を設定する。関数がトリガーされると、AWS Lambdaはそうした設定に基づき、新しいコンテナを起動する。コンテナの設定と起動に時間がかかる。そのため同じ関数が繰り返し呼び出されたてから実行するまでのレイテンシを最小限に抑えられるよう、AWS Lambdaは起動したコンテナを一定時間保持する。さらに各コンテナは再利用に備えて、一定のディスク容量を一時的に確保する。ただしAWSによれば、AWS Lambdaは常にコンテナを再利用するわけではなく、場合によって新しいコンテナを作成することもあるという。
料金
Azure Functionsにせよ、AWS Lambdaにせよ、サードパーティーが提供する同様のサービスにせよ、クラウドファンクションの魅力はその効率性とスケーラビリティにある。Azure FunctionsとAWS Lambdaの料金は、関数実行時間と実行回数に基づいて計算される。関数実行時間はGB/秒で計算され、GB/秒当たりの単価がある。
関数は既に主要IaaS(Infrastructure as a Service)の標準機能となっているが、まだ新しく、急速に進化中のカテゴリーだ。今後、IaaS事業者が機能や言語のサポートを追加し、開発環境や継続的デリバリーツールとの連係を強化していく中での進展に注目したい。変化が期待される分野の1つに、設定ダッシュボードがある。イベントソースや関数のひも付けの件数を考えると、その役割は極めて重要だ。
一般的には、既存のAWSユーザーはまずAWS Lambdaを試してみてから、他社の関数を試すと良い。Azureユーザーは、その逆だ。同様に、Azure Functionsが関数でJavaをサポートするまでJava開発者は、AWS Lambdaが必要であり、C#の利用者はAzure Functionsを使う必要があるだろう。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
事例
[日本オラクル株式会社] ピンチをチャンスに変えたEPR製品は? 先行企業の導入事例3選 -
技術文書・技術解説
[日本オラクル株式会社] 無自覚なリスク 秘伝Excelファイルが監査の壁、不正・ミスの温床となる理由 -
製品資料
[日本オラクル株式会社] 戦略的経理の第一歩 失敗のない「脱Excel」を実現する秘訣とは? -
技術文書・技術解説
[日本オラクル株式会社] いまさら聞けないオンプレERPとクラウドERPの違い 最適な製品をどう見極める? -
事例
[株式会社ビザスク] 連結売上高が約2倍に成長、富士フイルムが実践した新規事業創出の戦略とは?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
2
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
3
慶應義塾が「Notion」を選んだ理由 AI導入の盲点になる“情報のサイロ化”
-
4
「ノートPC派」は損をしている? Dellと考える“自作PC”のメリット
-
5
「0.3秒のスピード顔認証」の入退室管理が社員に好評 事例に学ぶオフィス改革
-
6
IT製品の導入に関するアンケート「PC&デバイス」編
-
7
生データを隠してデータ連携 KDDIが4000万人の顧客情報を安全に分析できた理由
-
8
エンジニアの生産性はどう測る? マネジメントに不可欠な可視化の実現方法とは
-
9
「また同じ説明か」 消費者の半数が離脱するAIチャットbotの“記憶喪失”
-
10
アラート疲れと手動対応を解消 EDR、SIEM、SOAR統合で注意すべきポイント4選
ホワイトペーパーランキング PR
-
1
DX/AI投資の壁を突破、現代の最高財務責任者が直面する課題と克服のヒント
-
2
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
3
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
4
バックアップは“取っているから大丈夫”なのか? ランサムウェア時代の備え方
-
5
システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
-
6
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
7
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
8
5分で分かる Microsoft 365のデータ損失に備えるためのバックアップの仕組み
-
9
ネットワーク遅延の原因、「パケットロス」の基礎知識と効果的な解決策
-
10
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー