クラウドで発生する手間を自動化で削減
サーバレス運用を実現――「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
-
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣 -
製品資料
[サイボウズ株式会社] AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
2
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
3
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
4
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
5
「中堅・中小企業のネットワーク・セキュリティ運用実態」に関するアンケート
-
6
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
7
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
8
情報漏えいはなぜ繰り返されるのか 今すぐ見直すべき「境界」
-
9
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
10
【漫画付き】ひとり情シス協会が明かす、RAG導入でしくじる企業「2つの共通点」
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
5
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
6
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
9
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー