サーバーレス時代の NoSQL : Cloud Firestore の一般提供とアップデート
Google Cloud Japan Team
※この投稿は米国時間 2019 年 2 月 1 日に Google Cloud blog に投稿されたものの抄訳です。
アプリケーション開発の潮流がインフラストラクチャ管理からサーバーレスへと移りつつある中、私たちはサーバーレスの NoSQL ドキュメント データベースである Cloud Firestore の一般提供を開始しました。データベースのロケーションとして従来の 3 つに 10 の新ロケーションを追加したほか、リージョン インスタンスの料金を大幅に値下げし、Stackdriver と連携したモニタリングにも対応しています。
Cloud Firestore は、ウェブ、モバイル、IoT の各アプリケーションでデータの格納や同期、クエリを簡単に行えるようにするフルマネージドのクラウドネイティブ データベースです。ライブ同期、オフライン サポート、数百ものドキュメントとコレクション全体にわたる ACID トランザクションにより、優れたデベロッパー エクスペリエンスを提供し、アプリケーション開発を簡素化することに重点を置いています。
Cloud Firestore は Google Cloud Platform(GCP)と Firebase(Google のモバイル開発プラットフォーム)の両方と統合されています。その詳細はこちらをご覧ください。データベースのセキュリティ ルールが柔軟で、リアルタイム処理にも対応し、インフラストラクチャを完全な形で自動スケーリングする Cloud Firestore を使用すれば、すぐに本番環境に移行できるアプリケーションを構築できます。
しかも、Cloud Firestore が提供するのはデータベースのコア機能だけではありません。Cloud Firestore は、セキュリティと承認、インフラストラクチャ、エッジ データ ストレージ、同期処理を提供する完全なデータ バックエンドとして設計されています。アプリケーションとそのデータのセキュリティ確保を目的に、IAM と Firebase Auth も組み込まれています。また、Cloud Functions、Cloud Storage、Firebase SDK との密接な統合により、エンドツーエンドのサーバーレス アプリケーションをシンプルかつスピーディに開発できます。データの強力な分析や後処理、機械学習のためにデータを BigQuery にエクスポートすることも簡単です。
Cloud Firestore を使って開発されたアプリケーションは、ネットワークのエッジでオンラインとオフラインをシームレスに切り替えることができます。これは、コードの簡素化とエラーの削減に役立ちます。Cloud Firestore を導入すれば、インフラストラクチャのセットアップやメンテナンスの必要なしに、リッチなユーザー エクスペリエンスを提供しながら百万以上のクライアントにデータ更新をプッシュできます。
Cloud Firestore の強整合性保証には、コードの複雑化を抑え、バグを削減する効果があります。エンタープライズ級のセキュリティが組み込まれているため、クライアント側のアプリケーションが直接データベースとやり取りすることも可能です。他の多くの NoSQL データベースとは異なり、Cloud Firestore は一度のトランザクションで 500 までのドキュメントとコレクションを更新でき、しかもワークロードに合わせて自動スケーリングを行います。
Cloud Firestore の新トピック
- リージョン インスタンスの新料金 : この新料金は、ほとんどのリージョン インスタンスで 2019 年 3 月から有効になり、マルチリージョン インスタンスの料金よりも 50 % 安くなります。
- リージョン インスタンス内のデータは、同一リージョンにおける複数のゾーン間でレプリケートされます。これは、コストと書き込みレイテンシを低く抑えた形で最適化するためです。データベースの可用性と耐久性を最大限に引き上げたい場合は、マルチリージョン インスタンスの使用をお勧めします。
- SLA の適用 : SLA が適用されるようになりました。マルチリージョン インスタンスで 99.999 %、リージョン インスタンスで 99.99 % の可用性が保証されます。
- ロケーションの新設 : Cloud Firestore のロケーションが 10 か所新設されました。
- マルチリージョン
- ヨーロッパ(eur3)
- 北アメリカ(リージョン)
- ロサンゼルス(us-west2)
- モントリオール(northamerica-northeast1)
- 北バージニア(us-east4)
- 南アメリカ(リージョン)
- サンパウロ(southamerica-east1)
- ヨーロッパ(リージョン)
- ロンドン(europe-west2)
- アジア(リージョン)
- ムンバイ(asia-south1)
- 香港(asia-east2)
- 東京(asia-northeast1)
- オーストラリア(リージョン)
- シドニー(australia-southeast1)
Cloud Firestore は 13 のロケーションで使用できます
- Stackdriver 連携(ベータ): Cloud Firestore での読み込み、書き込み、削除の各操作を Stackdriver でほぼリアルタイムにモニタリングできるようになりました。
- 近く提供されるその他の機能 : コレクションの境界を越えた形でのドキュメントへのクエリ、トランザクションを必要としないデータベース値のインクリメントなど、デベロッパー コミュニティから強い要望が寄せられている機能の開発を進めています。
Cloud Datastore の次の世代では、すべての API とクライアント ライブラリが Cloud Firestore と互換になります。既存の Cloud Datastore ユーザーは 2019 年の後半に、Cloud Firestore に自動的にライブ アップグレードされます。詳細はこちらをご覧ください。
業界の違いを超えた柔軟性とスケーラビリティ
Cloud Firestore は、メディア、IoT、運輸、デジタル広告、不動産、その他多くの業界で、企業によるアプリケーション構築の方法を変えつつあります。これらのワークロードの共通テーマは、接続が失われたときでも使用できるモバイル サポート、膨大なユーザーに対応できるスケーラビリティ、プロトタイプから本番へのスピーディな移行です。以下では、Cloud Firestore のお客様からお聞きした話をいくつか紹介しましょう。チャンスを逃さない開発
自動車、バイク、スクーターをシェアして使用するオンデマンド モビリティという競争の激しい世界では、ユーザー エクスペリエンスの差別化や迅速なイテレーション、スケーリングが必要不可欠であり、それを実現したときの成果は絶大です。Skip は、そうしたスピーディなリリースが大きな意味を持つスクーターのシェアリング システムを提供しています。同社の共同設立者で CTO の Mike Wadhera 氏は、「Cloud Firestore のおかげで、当社のエンジニアリングと製品チームは、Google レベルのインフラストラクチャを利用しながらスタートアップ レベルの速さで製品をリリースできるようになりました。Firebase への継続的な投資と、広範な GCP プラットフォームに満足しています」と述べています。別の Cloud Firestore ユーザーである IT コンサルタント会社の The Nerdery は、高品質のシステムを短期間で供給することに加えて、既存のサードパーティ製データソースを統合する必要に迫られることがよくあります。しかし、開発するすべてのクライアント アプリケーションのために複雑でコストのかかるインフラストラクチャをいちいち構築、解体しているわけにはいきません。同社の主任ソフトウェア アーキテクトである Jansen Price 氏は、Cloud Firestore を導入した理由について次のように述べています。「Cloud Firestore は、私たちが作ったウェブとモバイルのアプリケーションにぴったりでした。何しろ、4 万人以上のエンドユーザーにリアルタイムでデータ更新を通知し続けるようなソリューションが必要だったのです。Cloud Firestore は、信頼性とスピードに加え、リアルタイム処理に秀でており、Google Cloud Next カンファレンスに向けてすばらしい製品を作ることができました。」
信頼性の高い情報提供
インシデント管理会社の Now IMS は、需要の増大によってモバイル通信が寸断されるような混雑した場所で人々の安全を守るためにリアルタイム データを活用しています。共同設立者の John Rodkey 氏は、「インシデント管理を扱う以上、私たちのお客様にとってリアルタイム処理とオフライン機能は最重要課題です」と述べたうえで、そうした機能を Cloud Firestore と Firebase JavaScript SDK がすぐに提供できることを高く評価しています。「Google Cloud 上で動作するこの 100 % サーバーレスのアーキテクチャにより、お客様のニーズに合わせてスピーディにアプリケーションを開発することに専念できるようになりました。以前のクラウドのようにインフラストラクチャやサーバー管理について心配する必要はもはやありません。」(Rodkey 氏)どのようなアプリケーションであっても、更新ボタンのクリックなしに最新情報が得られることをユーザーは望んでいます。QuintoAndar のモバイル アプリケーションは、ブラジルの借主と大家を結び、アパート賃貸契約の締結を円滑化しています。「絶えず変化する情報をお客様に提供できることが、このアプリケーションの優れた点です。Cloud Firestore のおかげで新たなインフラストラクチャが不要になり、ビジネスの中心的な課題に専念できるようになりました。」(QuintoAndar のエンジニアリング マネージャー、Guilherme Salerno 氏)
リアルタイムできびきびと反応するアプリ
著名な新聞の発行元でメディア企業でもある Telegraph は、Cloud Firestore を使用して、登録ユーザーがコンテンツを簡単に見つけて読めるようにしています。同社は、数百万もの同時アクセスに耐えられるデータ管理基盤の専門知識を得ることよりも、ユーザー エクスペリエンスの向上に力を注ぎたいと考えていました。ソリューション アーキテクトの Alex Mansfield-Scaddan 氏は、「Cloud Firestore を使用すれば、パーソナライズされたニュース フィードをリアルタイムで作成し、そのユーザーのすべてのデバイスでコンテンツの同期をとることができます。当社のエンジニアリング チームは、リアルタイム データベースとインフラストラクチャのエキスパートになるのではなく、読者が気持ちよくサイトを使えるようにすることに専念しました」と述べています。大西洋を挟んだ対岸では、New York Times が 2018 年の冬季オリンピック開幕を前に、Cloud Firestore を使用したリアルタイム更新のプッシュ通知機能をモバイル アプリケーションの The Times に追加しました。この機能自体は以前から備わっていましたが、Cloud Firestore の導入前はスケーリングに難点がありました。それぞれの読者のアクセス履歴を追跡し、適切な種目や試合のコンテンツを配信することが求められましたが、Cloud Firestore の導入により、動的にクエリを発行して、更新情報をリアルタイムで読者に送れるようになりました。従来よりもターゲットを絞り込んだコンテンツをすばやく送れるようになったのです。
IoT デバイスのための強力なエッジ ストレージ
アスリートの運動能力の計測技術を提供する Hawkin Dynamics は、プレベータ時代から Cloud Firestore のアーリー アドプターです。同社の圧力パッドは選手の身体能力を計測して管理することができ、多くのプロスポーツ チームで使用されています。ペースが速く、しかも大金が動くプロスポーツの世界では、選手はデバイスの接続や結果の計算をのんびりと待つようなことはしません。Wi-Fi が一時的に落ちていても、すぐに結果を知りたいと考えます。そこで Hawkin Dynamics では、下図のようなダッシュボードを使用して、選手にデータをリアルタイムで提供しています。同社 CTO の Chris Wales 氏は、「当社の重要なミッションの 1 つは、監督やコーチが、選手に関する詳細な情報を得たうえで決断を下せるようにすることです。リアルタイム更新により、監督やコーチは、選手のトレーニングを調整するために必要なデータを随時入手することができます」としたうえで、Cloud Firestore の優位性について次のように述べています。「Cloud Firestore の強力なクエリ機能のおかげで、トレーニング プログラムの全体的な有効性を評価するために必要な情報についてもお客様に提供できるようになりました。Cloud Functions や他の Firebase 製品と緊密に統合されているので、私たちは絶えず製品を改良し、お客様のニーズに応えることができます。変化が激しい業界で常にリードを保っていられるのは、Cloud Firestore によってアプリケーションを柔軟に拡張できるからです。」
Cloud Firestore をお試しください
Cloud Firestore の導入により、リアルタイム データ処理とデータの同期が簡素化され、サーバーサイドのコードがなくなり、柔軟でありながらセキュアなデータベース認証ルールを設けることができるようになりました。お客様からは、開発における最もタイムリーな課題を解決できたとの評価を数多くいただいています。このことは、最新のユーザー エクスペリエンスを提供しつつ、より良い製品のスピーディな開発に向けてさまざまな選択肢を模索している現在のクラウド アプリケーション市場の状況を反映しています。Stack Overflow の質問数を示す次のグラフにも、こうしたトレンドの一端が現れています。これを見ると、クラウド データベースの中で Cloud Firestore がホットなトピックになっていることがわかります。Source : StackExchange
ベータ リリース以来、構築された Cloud Firestore データベースは 100 万近くに上っています。このプラットフォームは、数キロバイトから数ペタバイトまでのさまざまなデータベースに対応できるように設計されています。Cloud Firestore 上では、1 つのアプリケーションだけでも毎秒百万以上のリアルタイム更新をユーザーに送信しています。とはいえ、こうしたアプリケーションはほんの始まりにすぎません。サーバーレス アプリケーション開発について詳しく学びたい方は Global Digital Conference のアーカイブをご覧ください。
皆さんからのご意見、ご感想をお待ちしています。皆さんが開発されたシステムのことも、ぜひお聞かせください。皆さんのアプリケーションで今すぐ Cloud Firestore をお試しください。
- By Amit Ganesh, VP Engineering and Dan McGrath, Product Manager