DevOps
DevOps
開始方法

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

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

100x100_benefit_easy-setup

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

100x100_benefit_green

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

100x100_benefit_maintain-software-compliance1

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

KMS_Benefit_100x100_Low-Cost

アイドル状態の容量にかかるコストはありません。コンピューティングやストレージなどのために容量をあらかじめ多めに準備する必要はありません。

規模に応じたサーバーレスアプリケーションを供給するには、さまざまな機能を持ったプラットフォームが必要です。ここでは、エンタープライズクラスのサーバーレスアプリケーションを AWS がどのようにサポートするかを示します。

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

AWS Lambda は、相互に関連するインスフラストラクチャリソースとウェブ API すべてに対するコントロールプレーンおよびロジックレイヤーとして機能するため、お客様のビジネスロジックを強化できます。

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

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

応答データソース

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

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

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

開発者エコシステム

サードパーティツールとオープンソースプロジェクトのエコシステムを活用して、開発から本番までのコードのビルト、テスト、デプロイを効率化します。開発者ツールについての詳細は、エコシステムページを参照してください。

統合ライブラリ

Slack、Algorithmia、Twilio、Loggly、Splunk、Sumo Logic、Box などの一般的なサードパーティサービスとの統合の使用を簡単にする、再利用可能なテンプレートや設計図を使って、すぐに始めることができます。

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

コンプライアンスを遵守し、ロギング、変更の追跡、アクセスコントロール、暗号化によって、お客様の IT 環境全体を保護します。AWS Identity and Access Management (IAM) によって、AWS リソースへのアクセスを安全に制御します。Amazon Virtual Private Cloud (VPC) を用いて、お客様のみがアクセスできるプライベート仮想ネットワークを構築します。

信頼性と性能

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

世界的な規模と展開

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

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、チャットボットのリクエストを処理できます。

例: ウェブアプリケーションのリファレンスアーキテクチャ: | サンプルコード

diagram_serverless-computing_weather-app

例: モバイルバックエンドのリファレンスアーキテクチャ: | サンプルコード

diagram_serverless-computing_mobile-backend
Lambda_Bustle

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

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

例: データ処理のリファレンスアーキテクチャ: | サンプルコード

diagram_serverless-computing_image-thumbnail
R-Divider_Square-Enix_Logo

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


例: リアルタイムストリーミングデータのリファレンスアーキテクチャ: | サンプルコード 

diagram_serverless-computing_analysis-social-media
R-Divider_Thomson-Reuters_Logo

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