この記事の目次
AWSの「Serverless(サーバーレス)」なサービスとは?
AWSの「Serverless(サーバーレス)」なサービスとは、物理的なサーバーの管理が不要で、必要な機能だけを提供してくれるサービス群のことです。
具体的なサービスとしては、コンピューティングの「AWS Lambda」やデータストアの「Amazon DynamoDB」等で、多数の分野でサポートされています。
例えば「AWS Lambda」のようなServerless(サーバーレス)サービスでは、システムの負荷が増大した際の「オートスケーリング機能」等は自動で実施してくれます。そのため要件の処理に必要なコードのみを作成するだけで済みます。
AWSの「Serverless(サーバーレス)」に関する特徴やサポートしているサービスについて解説してきます。
Serverless(サーバーレス)なサービスの特徴
「Serverless(サーバーレス)」なサービスの特徴としては、サーバー管理作業のようなオーバーヘッドを無くすことで、システム等のリリースまでの期間を短縮できます。
リリース後にフィードバックを行い、システムを改善するサイクルを速めることも可能です。サーバーインスタンス等のシステムリソースも自動的にサイズ最適化してくれるので、プロビジョニング(リソースの構築準備)用の無駄なコストも掛かりません。
特に最近のAWSでは、サービスの「Serverless(サーバーレス)」化を積極的に採用する戦略を取っています。コンピューティング、アプリケーション、データストアの三層レイヤーのすべてにおいてその戦略が活かされ、数多くのサーバーレスサービスが提供されるようになりました。
「Serverless(サーバーレス)」サービスの具体例について
「Serverless(サーバーレス)」サービスの具体例について、「コンピューティング」、「アプリケーション」、「データストア」の三層レイヤーに分類できます。
これらの三層レイヤーごとに、具体例を解説していきます。
「Serverless(サーバーレス)」サービスの具体例1:コンピューティング
「Serverless(サーバーレス)」サービスの具体例1として、コンピューティングでは「AWS Lambda」、「AWS Fargate」があります。
「AWS Lambda」は、代表的なServerless(サーバーレス)なコンピューティングサービスで、プロビジョニング、クラスタースケーリング等のシステム管理作業は不要で、必要な機能を記述したコードのみを準備するだけとなります。
「AWS Fargate」は、「Amazon Elastic Kubernetes Service(EKS)」と「Amazon Elastic Container Service (ECS)」とで動作するコンテナ用の「Serverless(サーバーレス)」なコンピューティングエンジンです。同様にシステム管理作業が不要で、アプリケーションの構築のみに特化できます。
「Serverless(サーバーレス)」サービスの具体例2:アプリケーション
「Serverless(サーバーレス)」サービスの具体例2として、アプリケーションでは、「Amazon EventBridge」、「AWS Step Functions」、「Amazon Simple Queue Service(SQS)」、「Amazon Simple Notification Service(SNS)」、「Amazon API Gateway」、「AWS AppSync」があります。
これらのサービスは、単体で使用するよりも、他のAWSと連携して相乗効果を生むように構成する場合が一般的です。
「Serverless(サーバーレス)」サービスの具体例3:データストア
「Serverless(サーバーレス)」サービスの具体例3として、データストアでは「Amazon S3」、「Amazon DynamoDB」、「Amazon RDS プロキシ」、「Amazon Aurora Serverless」があります。
これらのサービスは、サーバーレスに加えて「マネージド型」でもあることで、利便性を向上させています。
「Serverless(サーバーレス)」サービスのユースケース
「Serverless(サーバーレス)」サービスのユースケースは、「Webアプリケーション」、「データ処理」、「バッチ処理」、「イベントの取り込み」等があります。
それぞれの代表的なケースについて解説してきます。
ユースケース1:Webアプリケーション
ユースケース1として、「To-Do リストアプリ」のWebアプリケーションがあります。
機能要件としては、ユーザーがリスト中の「To-Do」を作成、変更、表示、削除できるといった内容です。
具体的なアーキテクチャ例は、業務処理に「AWS Lambda」と「Amazon API Gateway」を採用した「イベント駆動型」のWebアプリケーションになります。
「Amazon DynamoDB」をデータベースとして利用します。また「Amazon Cognito」をユーザー管理に採用します。「AWS Amplify」コンソール上から静的コンテンツをアップロードします。
ユースケース2:データ処理
ユースケース2でデータ処理としては、「リアルタイムファイル処理」があります。
この処理のアーキテクチャは、「AWS Lambda」を利用した「イベント駆動型」の並列データ処理になります。イベントをトリガーとして新たな処理を行うといった業務処理に適したアーキテクチャです。
業務処理の例としては、会議録を「Markdown形式」で「Amazon S3」に登録します。登録により発生したイベントは、次の業務処理のトリガーとして機能します。次の業務処理としては、「Markdownファイル」を「HTMLファイル」に変換し、会議録の内容を分析して発言者の感情を分析する、といったケースが考えられます。
ユースケース3:バッチ処理
ユースケース3として、バッチ処理におけるデータ抽出、データ変換、ロードがあります。
具体例としては、「AWS Step Functions」を利用し、「AWS Lambda」によりデータ抽出、データ変換、ロード処理の実施といった、いわゆる「ETL処理」となります。
この「ETL処理」の対象データの例としては、一般に公開されている「オープンデータ」で、「AWSレジストリ」で利用できる「OpenAQ(グローバル大気品質データ)」等があります。
「ETL処理」自体は、トリガーを手動で作成する必要があります。この作成には「Amazon EventBridge」を利用することで、容易にスケジュール実行させることが可能です。
変換が完了すると、要約されたデータのS3での場所がE メールで通知されます。
ユースケース4:イベントの取り込み
ユースケース4として、イベントの取り込みにおける「Serverless(サーバーレス)」ドキュメントのリポジトリ処理があります。
この処理のアーキテクチャは、「キューイング」サービスを利用し、大量のドキュメントのリポジトリ用に設計されています。
「Amazon ML サービス(「Comprehend」、「Rekognition」等)」を活用し、ドキュメントファイルや画像ファイルに「インデックス」を付与し、そのインデックス情報を「Elasticsearch」に登録して高速インデックスデータを生成します。
その他の「Serverless(サーバーレス)」サービス
その他の「Serverless(サーバーレス)」サービスとして、「AWS Serverless Application Repository」や「AWS サーバーレスアプリケーションモデル」があります。
これらのサービスについて解説していきます。
「AWS Serverless Application Repository」とは?
「AWS Serverless Application Repository」とは、「Serverless(サーバーレス)」アプリケーションのための「マネージド型」のリポジトリサービスです。
チームや個人の間で、アプリケーションを再利用可能な状態で保存や共有が可能です。例えば、ソースコードを複製したり、ソースコードをパッケージ化したりできます。
「AWS サーバーレスアプリケーションモデル」とは?
「AWS サーバーレスアプリケーションモデル (SAM、Serverless Application Model)」とは、「Serverless(サーバーレス)」アプリケーション構築するためのオープンソース・フレームワークです。
アプリケーションの定義に「YAMLファイル」を利用し、モデリングすることが可能で、サーバーレスアプリケーションを迅速に開発できます。
サーバーレスなサービスで自社プロダクトの開発高速化コスト削減を実現しよう!
サーバーレスなサービスを紹介しましたが、いかがだったでしょうか。
このようなサーバーレスなサービスを利用して、自社プロダクトの開発高速化、コスト削減につなげてみてはいかがでしょうか。
この記事の監修者・著者

-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
最新の投稿
- 2023年12月6日キャリア・転職システムエンジニアへのキャリアチェンジで必要な資格は?
- 2023年12月6日キャリア・転職キャリアチェンジでエージェントを活用するメリット
- 2023年12月6日キャリア・転職プログラマーへのキャリアチェンジに必要な資格は?
- 2023年12月6日キャリア・転職サーバーエンジニアへのキャリアチェンジで必要な資格は?