サーバーレスコンピューティングにより、アプリケーションとサービスを構築して実行する際に、サーバーについて検討する必要がなくなります。サーバーレスアプリケーションでは、サーバーのプロビジョニング、スケーリング、および管理は必要ありません。サーバーレスアプリケーションはほぼすべてのタイプのアプリケーションまたはバックエンドサービス用に構築でき、高可用性を実現しながら、アプリケーションの実行およびスケーリングに必要なことがすべて自動的に行われます。
サーバーレスアプリケーションを構築することで、開発者は、クラウドでもオンプレミスでも、サーバーやランタイムの管理や操作に煩わされず、コア製品に集中することができます。このようなオーバーヘッドの削減によって、開発者は、スケーラブルで信頼性の高い優れた製品の開発に費やすために時間とエネルギーを取り戻すことができます。
アプリケーションは、自動的にスケーリングすることも、個々のサーバー単位ではなく消費単位 (スループットやメモリなど) を切り替えることによってその容量を調整することでスケーリングすることもできます。
サーバーレスアプリケーションには、可用性とフォールトトレランス機能が組み込まれています。これらの機能は、アプリケーションを実行しているサービスがデフォルトで提供するため、設計する必要はありません。
アイドル状態の容量にかかるコストはありません。コンピューティングやストレージなどのためにキャパシティーをあらかじめ多めに準備する必要はありません。例えば、実行中でなければコードに課金されることはありません。
規模に応じたサーバーレスアプリケーションを供給するには、さまざまな機能を持ったプラットフォームが必要です。ここでは、エンタープライズクラスのサーバーレスアプリケーションを AWS がどのようにサポートするかを示します。
AWS Lambda は、相互に関連するインスフラストラクチャリソースとウェブ API すべてに対するコントロールプレーンおよびロジックレイヤーとして機能するため、お客様のビジネスロジックを強化できます。
オープンソースの AWS サーバーレスアプリケーションモデルを使用して、サーバーレスアプリケーションおよびサービスをモデル化し、デプロイします。AWS CodePipelineやAWS CodeBuildのようなアプリケーションライフサイクル管理ツールを使用して、サーバーレスアプリケーションを継続的に供給します。
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 リージョン および Lambda@Edge 経由のすべての AWS エッジロケーションで使用できます。また、AWS Greengrass にローカルで接続されたデバイスで Lambda 関数を実行できます。
AWS では、さまざまな完全マネージド型サービスを使用して、サーバーレスアプリケーションを構築および実行できます。これらのサービスを使用して、コンピューティング、データベース、ストレージ、ストリーム処理、メッセージキューイングなどのバックエンドコンポーネントのためのサーバーのプロビジョニング、保守、管理を必要としない、サーバーレスアプリケーションを構築します。また、アプリケーションの耐障害性や可用性を心配する必要はもうありません。それどころか、AWS のこのような機能すべてを使用すると、お客様は製品のイノベーションと、より速い市場投入に集中できるようになります。
AWS Lambda を使用することで、サーバーのプロビジョニングや管理をすることなく、コードを実行できます。課金は実際に使用したコンピューティング時間に対してのみ発生し、コードが実行されていないときは料金が発生しません。コードをアップロードするのみで、高可用性を実現しながらコードを実行およびスケールするために必要なことはすべて Lambda によって処理されます。
Lambda@Edge では、Amazon CloudFront イベントに対応して AWS Edge ロケーションで Lambda 関数を実行できます。
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 Lambda、Amazon API Gateway、Amazon S3、Amazon DynamoDB を使用して、サーバーレスのウェブアプリケーションやバックエンドを構築して、ウェブ、モバイル、IoT、チャットボットのリクエストを処理できます。
Bustle では、AWS Lambda と Amazon API Gateway を使用して、Bustle iOS アプリケーションとウェブサイトのサーバーレスバックエンドを実行します。サーバーレスアーキテクチャでは、Bustle でインフラストラクチャを管理する必要はまったくないため、すべてのエンジニアは新しい機能の構築や新規開発に集中できます。導入事例を読む »
AWS Lambda、Amazon Kinesis、Amazon S3、Amazon DynamoDB を使用して、さまざまなリアルタイムデータ処理システムを構築できます。
Square Enix は、AWS Lambda を使用して、大規模なマルチプレイヤーオンラインゲームの画像処理を実行します。Lambda を使用することで、通常のトラフィックの最大 30 倍のスパイクを確実に処理できるようになりました。また、画像処理に要する時間が数時間からわずか 10 秒あまりに短縮され、インフラストラクチャと運用のコストが削減されました。導入事例を読む »
Thomson Reuters は、サーバーレスアーキテクチャを使用して、使用状況分析サービスで 1 秒あたり最大 4,000 イベントを処理します。このサービスは、通常のトラフィックの 2 倍のスパイクを確実に処理し、高い耐久性を備えています。同社は AWS を使用してわずか 5 か月でこのサービスを本番環境にデプロイしました。導入事例を読む »