サーバレスアーキテクチャ比較、Lambda、Cloud Functions、Azure Functionsのどれを選ぶ?(2/3 ページ)
サーバレスアーキテクチャの導入を検討する際に留意すべきポイントや、サービスを選ぶ際の選定ポイント、効果が表れやすいユースケースなどについて解説する。
AWS Lambda
FaaSの先駆けとなるサービスであり、日本では、AWS(Amazon Web Services)が2015年に正式提供を開始した。AWSの多種多様なクラウドサービス、例えば「Amazon Simple Storage Service(S3)」「Amazon DynamoDB」「Amazon Kinesis」「Amazon Cognito」などの処理をトリガーにして、ユーザーがあらかじめ登録したファンクション(プログラム)を自動的に実行できる。
AWS自体がクラウドプラットフォームとして広く普及しているため、自ずとAWS Lambdaを使ったサーバレスアーキテクチャのシステム開発事例も数多く存在する。ただし既に述べたように、システム設計に独自のノウハウが必要になるため、現時点ではAWSのシステム設計・構築に高い実績のある一部のシステムインテグレーターが先行している。例えば、後に紹介するように、AWS上のシステム設計や導入、保守運用のフルマネージドサービス「cloudpack」を提供するアイレットでは、国内でいち早くAWS Lambdaを使ったサーバレスアーキテクチャを全面採用した業務システムの設計・構築を手掛けている。
Google Cloud Functions / Google App Engine
Googleが提供するクラウドプラットフォーム「GCP(Google Cloud Platform)」に含まれるサービスの1つとして、2016年から提供開始されたFaaSサービス(2017年12月時点ではβ版)。Cloud PubSub やCloud Storage をはじめとするGCPの各種クラウドサービスのイベントや、HTTPのイベントをトリガーにしてファンクションを起動できる。基本的な機能は先行するAWS Lambdaとほぼ同等だが、これまでGoogleの各種クラウドサービスを支えてきた長年の実績に裏付けられた安定性や、数ミリ秒での処理キャパシティー拡張といったスケーラビリティに強みを持つ。
またGoogleは既に10年近くに渡り、サーバレスのWebアプリケーションプラットフォーム「Google App Engine」も提供している。Googleではこのサービスを、Google Cloud Functionsと並ぶサーバレスアーキテクチャのコアサービスと位置付けており、後に紹介するように既に国内外で数多くの実績を持つ。
Azure Functions
マイクロソフトのクラウドプラットフォーム「Microsoft Azure」の1サービスとして、2016年から提供されているFaaSサービス。Microsoft Azureの他のクラウドサービスとの連携に優れる他、同社の開発ツール「Visual Studio」との親和性が高いのも大きな特徴。従って、これまでMicrosoft Azure上でシステム構築を行ってきたユーザーや、C#を使ってアプリケーション開発をしてきたユーザーにとっては、違和感なく使えるFaaSだろう。
またAzure Functionsに限らず、FaaSサービスを選ぶ際には、「どのクラウドサービスを使いたいのか」「これまでどのクラウドプラットフォームを使い続けてきたか」を基準に選定するのが基本だといえよう。例えば、これまでAWSを使い続けてきたユーザーや、AWSのある特定のサービスを必要とするアプリケーションの場合は、必然的にAWS Lambdaが選択肢となるし、GCPのユーザー、あるいは「どうしてもBigQueryが使いたい」といったユーザーなら、自ずとGoogle Cloud Functionsを選ぶことになるだろう。
なお、別のベンダーのクラウドサービスをトリガーにして、FaaSのファンクションを動かすことも可能だ。例えばGoogle Cloud Functionsに登録したファンクションを、AWSのクラウドサービスのイベントをトリガーにして動かすようなこともできる。このようにFaaSは、任意のクラウドサービスが提供するサービスだけでなく、API連携によってマルチクラウドのサービス間を結ぶハブのような役割を演じることができる。ただし、こうした使い方では、インターネット越しに処理が実行されるため、性能に関しては多くを期待しない方がいいだろう。
最後に、サーバレスアーキテクチャの導入メリットが表れやすいユースケースや、実際にサーバレスアーキテクチャの導入・活用に成功した事例を幾つか紹介しよう。
Copyright © ITmedia, Inc. All Rights Reserved.