サーバーレスコンピューティングとアプリケーション

サーバーについて検討することなくアプリケーションを構築して実行する

サーバーレスコンピューティングにより、アプリケーションとサービスを構築して実行する際に、サーバーについて検討する必要がなくなります。サーバーレスアプリケーションでは、サーバーのプロビジョニング、スケーリング、および管理は必要ありません。サーバーレスアプリケーションはほぼすべてのタイプのアプリケーションやバックエンドサービス用に構築でき、高可用性を実現しながら、アプリケーションの実行およびスケーリングに必要なことをすべて自動的に行います。

サーバーレスアプリケーションを構築することで、開発者は、クラウドでもオンプレミスでも、サーバーやランタイムの管理や操作に煩わされず、コア製品に集中することができます。このようなオーバーヘッドの削減によって、開発者は、スケーラブルで信頼性の高い優れた製品の開発に費やすために時間とエネルギーを取り戻すことができます。

サーバーレスアプリケーションによる 4 つの主なメリット

サーバーの管理が不要

サーバーのプロビジョニングや保守は必要ありません。インストール、保守、または管理が必要なソフトウェアまたはランタイムはありません。 

柔軟なスケーリング

アプリケーションは、自動的にスケーリングすることも、個々のサーバー単位ではなく消費単位 (スループットやメモリなど) を切り替えて容量を調整し、スケーリングすることもできます。

高可用性

サーバーレスアプリケーションには、可用性とフォールトトレランス機能が組み込まれています。これらの機能は、アプリケーションを実行しているサービスがデフォルトで提供するため、設計する必要はありません。

アイドル状態での容量はゼロ

アイドル状態の容量に対して支払いをする必要はありません。コンピューティングやストレージなどのためにキャパシティーをあらかじめ多めに準備する必要はありません。例えば、実行中でなければコードに課金されることはありません。

導入事例

Coca Cola

アメリカの清涼飲料水分野の多国籍企業である Coca-Cola Company は、AWS Lambda と AWS Step Functions を使用してコスト効果の高いサーバーレスソリューションを構築しました。

ブログを読む »

Nordstrom

アメリカのファッション専門大手小売企業である Nordstrom は、AWS Lambda を活用してお客様の要求を処理する新しい推奨エンジンを構築しました。

動画を見る »

Benchling

ライフサイエンス分野のソフトウェア会社 Benchling は、サーバーレスアーキテクチャを使用して、極めて正確にゲノムの一部を修正するために研究者が使用する技法を作り上げました。

続きを読む »

Localytics

Localytics はウェブモバイルアプリの分析とエンゲージメントを行う企業であり、AWS Lambda を使用して並列データストリームとマイクロサービスを構築しました。

続きを読む »

AWS サーバーレスプラットフォームの機能

規模に応じて実行できる本運用のサーバーレスアプリケーションを提供するには、幅広い機能を備えたプラットフォームが必要です。AWS がどのようにエンタープライズグレードのサーバーレスアプリケーションをサポートするかを次に示します。

クラウドロジックレイヤー

AWS Lambda でビジネスロジックを動かします。AWS Lambda は、相互に関連するインフラストラクチャリソースとウェブ API すべてのコントロールプレーンおよびロジックレイヤーとして動作します。

オーケストレーションとステート管理

AWS Step Functions を使用して、サーバーレスアプリケーションを構成するそれぞれの分散コンポーネントやマイクロサービスのステートを調整し、管理します。

応答データソース

さまざまなデータソースとプロバイダから、リアルタイムでデータを処理してイベントをトリガーする組み合わせを選びます。応答データソースの一覧はドキュメントを参照してください。

アプリケーションのモデリングフレームワーク

オープンソースの AWS サーバーレスアプリケーションモデルを使用して、サーバーレスアプリケーションおよびサービスをモデル化し、デプロイします。AWS CodePipelineAWS CodeBuildのようなアプリケーションライフサイクル管理ツールを使用して、サーバーレスアプリケーションを継続的に供給します。

開発者エコシステム

サードパーティーツールとオープンソースプロジェクトのエコシステムを活用して、開発から本運用までのコードの構築、テスト、デプロイを合理化します。サードパーティーツールの詳細については、開発者向けツールページまたはエコシステムページをご覧ください。

アプリケーションとインテグレーションライブラリ

AWS Serverless Application Repository を使用してサーバーレスアプリケーションとアプリケーションコンポーネントをすばやく見つけてデプロイし、ウェブやモバイルのバックエンド、チャットボット、IoT、Alexa Skills、データ処理、ストリーム処理などのさまざまなユースケースを実現します。また、一般的なサードパーティーサービス (Slack、Algorithmia、Twilio、Loggly、Splunk、Sumo Logic、Box など) との統合も見つかります。

セキュリティとアクセスコントロール

コンプライアンスを遵守し、ロギング、変更の追跡、アクセスコントロール、暗号化によって、お客様の IT 環境全体を保護します。AWS Identity and Access Management (IAM) によって、AWS リソースへのアクセスを安全に制御します。Amazon Cognito で、サーバーレスアプリケーションのエンドユーザーを管理および認証します。Amazon Virtual Private Cloud (VPC) を使用して、ユーザーだけがアクセスできるプライベート仮想ネットワークを構築します。

信頼性とパフォーマンス

AWS では、エンタープライズ規模の性能を実現する高可用性で、スケーラブルな、低コストのサービスを利用できます。AWS Lambda を使用すると、デッドレターキュー自動再試行などの組み込み機能が利用できるため、お客様のビジネスロジックは確実に実行されます。企業が AWS を使用してアプリケーションを運用する方法については、お客様事例を参照してください。

世界規模のスケーリングと展開

AWS の世界展開を活用して、お客様のアプリケーションとサービスを短時間で世界に展開できます。AWS Lambda は、複数の AWS リージョン および Lambda@Edge 経由のすべての AWS エッジロケーションで使用できます。また、AWS Greengrass にローカルで接続されたデバイスで Lambda 関数を実行できます。

AWS サーバーレスプラットフォーム

AWS には、サーバーレスアプリケーションの構築と実行に使用できる完全マネージド型サービスのセットが用意されています。サーバーレスアプリケーションでは、コンピューティング、データベース、ストレージ、ストリーム処理、メッセージキューイングなどのバックエンドコンポーネントのためにサーバーのプロビジョニング、メンテナンス、管理を行う必要がありません。また、アプリケーションの耐障害性や可用性を心配する必要もなくなりました。代わりに、これらの機能はすべて AWS が自動的に処理します。これにより、市場投入までの時間を短縮するのと同時に、製品のイノベーションに注力できます。

コンピューティング

AWS Lambda を使用することで、サーバーのプロビジョニングや管理をすることなく、コードを実行できます。課金は実際に使用したコンピューティング時間に対してのみ発生し、コードが実行されていないときは料金が発生しません。コードをアップロードするのみで、高可用性を実現しながらコードを実行およびスケールするために必要なことはすべて Lambda によって処理されます。

Lambda@Edge では、Amazon CloudFront イベントに対応して AWS Edge ロケーションで Lambda 関数を実行できます。

API プロキシ

Amazon API Gateway は完全マネージド型サービスであり、開発者があらゆる規模で API の作成、配布、保守、モニタリング、保護を簡単に行うために役立ちます。Amazon API Gateway を使用すると、数十万の同時の API コールを処理し、トラフィック管理、認証とアクセス管理、モニタリング、API バージョン管理を実行できます。

ストレージ

Amazon Simple Storage Service (Amazon S3) では、安全で耐久性があり拡張性の高いオブジェクトストレージを、開発者や IT チームに提供しています。Amazon S3 は、シンプルなウェブサービスインターフェイスにより、ウェブのどこからでもお好みの量のデータを簡単に保存および取得できます。

データベース

Amazon DynamoDB は、1 桁台のミリ秒単位のレイテンシーを必要とするすべての規模のアプリケーションに対応した高速かつフレキシブルな NoSQL データベースサービスです。完全マネージド型のクラウドデータベースで、ドキュメントとキー値のストアモデルの両方をサポートしています。

プロセス間メッセージング

Amazon SNS は、完全マネージド型の pub/sub メッセージングサービスであり、マイクロサービス、分散システム、およびサーバーレスアプリケーションの切り離しとスケーリングを容易にします。

Amazon SQS は、完全マネージド型のメッセージキューイングサービスであり、マイクロサービス、分散システム、およびサーバーレスアプリケーションの切り離しとスケーリングを容易にします。

オーケストレーション

AWS Step Functions により、視覚的なワークフローを使用して分散アプリケーションとマイクロサービスのコンポーネントを簡単に調整できます。それぞれ別個の機能を実行する個々のコンポーネントからアプリケーションを構築することで、簡単にアプリケーションをスケールおよび変更できるようになります。Step Functions を使えば、安心してコンポーネントを調整し、アプリケーションの機能を配置できます。

分析

Amazon Kinesis は、AWS のデータをストリーミングするプラットフォームであり、ストリーミングデータのロードと分析を簡易化する強力なサービスや、特定ニーズ用のカスタムストリーミングデータアプリケーションを構築する機能を提供します。

Amazon Athena はインタラクティブなクエリサービスで、Amazon S3 内のデータを標準的な SQL を使用して簡単に分析できます。Athena はサーバーレスなので、インフラストラクチャの管理は不要です。実行したクエリに対してのみ料金が発生します。

開発者用ツール

AWS は、サーバーレスアプリケーション開発プロセスで開発者を支援するツールとサービスを提供しています。AWS とそのパートナーエコシステムは、継続的な統合と配信、テスト、デプロイ、モニタリングと診断、SDK、フレームワーク、および統合開発環境 (IDE) プラグインのためのツールを提供しています。

詳細 »

サーバーレスアプリケーションのユースケース

サーバーレスアーキテクチャを使用すると、事実上あらゆるタイプのアプリケーションやバックエンドサービスを構築できます。以下にいくつかのユースケースを示します。


ウェブアプリケーションとバックエンド

AWS Lambda、Amazon API Gateway、Amazon S3、Amazon DynamoDB を使用すると、サーバーレスのウェブアプリケーションやバックエンドを構築し、ウェブ、モバイル、IoT、チャットボットのリクエストを処理できます。

リファレンスアーキテクチャ: | サンプルコード

Lambda_WebApplications

リファレンスアーキテクチャ: | サンプルコード

Lambda_MobileBackends
Bustle_logo2

Bustle では、AWS Lambda と Amazon API Gateway を使用して、Bustle iOS アプリケーションとウェブサイトのサーバーレスバックエンドを実行します。サーバーレスアーキテクチャでは、Bustle でインフラストラクチャを管理する必要はまったくないため、すべてのエンジニアは新しい機能の構築や新規開発に集中できます。導入事例を読む »


データ処理

AWS Lambda、Amazon Kinesis、Amazon S3、Amazon DynamoDB を使用して、さまざまなリアルタイムデータ処理システムを構築できます。

リファレンスアーキテクチャ: | サンプルコード

Lambda_FileProcessing
square-enix_logo

Square Enix は、AWS Lambda を使用して、大規模なマルチプレイヤーオンラインゲームの画像処理を実行します。Lambda を使用することで、通常のトラフィックの最大 30 倍のスパイクを確実に処理できるようになりました。また、画像処理に要する時間が数時間からわずか 10 秒あまりに短縮され、インフラストラクチャと運用のコストが削減されました。導入事例を読む »

リファレンスアーキテクチャ: | サンプルコード

Lambda_StreamProcessing
Thomson_Reuters_logo2

Thomson Reuters は、サーバーレスアーキテクチャを使用して、使用状況分析サービスで 1 秒あたり最大 4,000 イベントを処理します。このサービスは、通常のトラフィックの 2 倍のスパイクを確実に処理し、高い耐久性を備えています。同社は AWS を使用してわずか 5 か月でこのサービスを本番環境にデプロイしました。導入事例を読む »

サーバーレスコンピューティングの使用開始

icon1

AWS アカウントにサインアップする

AWS 無料利用枠にすぐにアクセスできます。
icon2

ステップバイステップのチュートリアルで学ぶ

簡単なチュートリアルで学習します。
icon3

サーバーレスアプリケーションを構築する

AWS Serverless Application Repository で一般的なユースケースのアプリケーションを見つけます。

サーバーレスアプリケーションの構築の詳細

リソースのページにアクセスする
始める準備はできましたか?
サインアップ
ご不明な点がおありですか?
お問い合わせ