アプリケーション開発が加速できるという理由から、各組織では API の構築に GraphQL を選択しています。この API により、フロントエンドのデベロッパーは、複数のデータベースやマイクロサービス、そして API に対し、単一の GraphQL エンドポイントから迅速にクエリができるようになります。
AWS AppSync は、GraphQL API の開発を容易にする、完全マネージド型サービスです。このサービスは、AWS DynamoDB や Lambda、その他のデータソースとの安全な接続に必要な、面倒な作業を自動的に処理します。パフォーマンスを向上させるためのキャッシュや、リアルタイムの更新を可能にするためのサブスクリプション、そして、オフラインのクライアントを簡単に同期できるようにするクライアント側のデータストアなどが、簡単に利用できるようになります。デプロイが完了すると、API リクエストのボリュームに合わせた GraphQL API 実行エンジンの自動的なスケールアップとダウンが、AWS AppSync により行われます。
メリット
シンプルかつ安全なデータアクセス
GraphQL からの単一のネットワークリクエストを使用して、複数のデータソースから適切なデータを得ることで、アプリケーションが強化できますAWS AppSync を使用すると、複数の同時認証モードを使用してアプリケーションのデータを簡単に保護できます。また、セキュリティやキャッシング、そして、きめの細かいアクセス制御を、GraphQL スキーマから直接、データの定義レベルで設定できます。
組み込まれたリアルタイム & オフラインの機能
マネージド型の GraphQL サブスクリプションにより、AWS AppSync では、数百万のクライアントに対し Websockets を介して、データの更新をリアルタイムでプッシュできます。また、AppSync では、モバイルおよびウェブアプリケーションのために、オフライン時のデバイスによるローカルデータへのアクセスと、オンラインに復帰した際に競合を解決するためのカスタマイズ可能な機能を備えた、データ同期機能までを提供します。
サーバー管理が不要
AWS AppSync には、GraphQL API に関するセットアップ、管理、保守の機能が、高可用性のサーバーレスインフラストラクチャを使用した完全マネージド型として組み込まれています。GraphQL API を、AWS CLI やコンソール、Amplify CLI、もしくは CloudFormation 経由で、数秒の内に作成することができます。さらに、CloudWatch や X-Ray を介することで、フローレスオペレーションのためのインサイトを、容易に監視および取得できます。
仕組み
ユースケース
リアルタイムのコラボレーション
データは、バックエンドから接続されたすべてのクライアント(1 から多)に対し、もしくは、クライアント間(多から多)でブロードキャストされます。同じデータを 1 秒以内にすべてのクライアントにブロードキャストし、それらのクライアントから応答を得るシナリオが実現できます。
その他のリソース: チュートリアル
リアルタイムチャットアプリケーション
オフライン状態であったとしても、複数のプライベートチャットルームをサポートし、会話履歴にアクセスでき、送信メッセージをキューに挿入できるような、モバイル、もしくは、ウェブでの会話型アプリケーションを構築できます。
その他のリソース: チュートリアル
リアルタイム IoT ダッシュボード
その他のリソース: チュートリアル
マイクロサービスへの統合されたアクセス
単一的なインターフェースを使用して、(REST API や GraphQL API のエンドポイントなどが置かれている)VPC 内のコンテナで実行中の複数のマイクロサービスからのデータにアクセスし、それらを組み合わせて使用できます。
統合されたデータアクセス
その他のリソース: チュートリアル
オフラインでのアプリケーションの同期
AWS AppSync と Amplify DataStore により、モバイルもしくはウェブのアプリケーションとクラウドの間で、自動的にデータを同期します。これらのサービスは、オンデバイスの永続的なストレージエンジンであり、データのバージョニングや競合の検知と解決のための機能が組み込まれています。
その他のリソース: チュートリアル
AWS AppSync をご使用になっているお客様
ニュースをアクション可能に
Public Good Software が、AWS AppSync を利用して読者からの反応をリアルタイムに促すことで、ニュースを有益なものに変えた手法を紹介します。
AWS AppSync の詳細