データベース

Airship、モバイル アプリ デベロッパーの能力向上のために Bigtable を採用

google cloud x airship.jpg

※この投稿は米国時間 2022 年 9 月 9 日に、Google Cloud blog に投稿されたものの抄訳です。

編集者注: モバイルアプリ体験を提供する Airship が、Cloud Bigtable を利用して高いパフォーマンスのスループットとスピードを実現し、アプリ デベロッパーが価値の高い機能開発に集中できるようにしている方法を紹介します。


Airship は、マーケティング担当者、プロダクト オーナー、デベロッパーが、パワフルなモバイルアプリ体験を創造し、適応させることを支援する企業です。

モバイルアプリ体験は、顧客体験のデジタルセンターとなりつつあります。また、モバイルアプリは、顧客とブランド間の価値の交換が最も尊重され、報われる場となっています。しかし、一部のブランドは、モバイルアプリを単なる販促チャネルとして扱っているため、アプリに顧客を誘導しているものの、顧客は定着しません。実は、顧客を維持することは難しいことです。個人に合わせてカスタマイズされたアプリ内の体験を求めることで、ロイヤリティを高め、収益を上げることができます。

一流のブランドは、自分たちが習得すべき新しい慣習があることを理解しています。当社はこれを「モバイルアプリ体験(Mobile App Experience)」、略して「MAX」と呼んでいます。そして、MAX は、考えられるあらゆる方法で、企業が顧客との関係を管理する方法を変革しています。当社の Airship App Experience Platform(AXP)は、ブランドがモバイルアプリを使いこなすことに 100% 特化した唯一のエンタープライズ SaaS プラットフォームで、MAX を提供します。AXP は、マーケティング担当者やプロダクト オーナーが、アプリの最新機能、アプリがどのように顧客の生活を向上させるか、どのように使い始めるかを紹介するフルスクリーンのインタラクティブなチュートリアルを作成、編集、管理できるようにするものです。また、ノーコード ソリューションと分析を活用して、アプリのユーザーを活性化し、維持し、収益化できます。その結果、開発チームはアプリ開発のより革新的な側面に集中できます。

AXP は、お客様にメリットと機能を提供するために、運用データから機械学習、リアルタイムのデータ ストリーミングに至るまで、あらゆるものに依存しています。Google のスケーラブルでフルマネージドな NoSQL データベースである Cloud Bigtable の力を借りて、顧客に高いパフォーマンスのスループットとスピードを提供できます。Bigtable は、データのストレージと検索から、大規模なユーザーのセグメンテーション、ロックせずに複数のテーブルを同時に読み取ることまで、あらゆる場面で顧客の体験を変革するのに役立っています。その結果、レイテンシが大幅に低減され、データアクセスが高速化されたため、顧客はそれぞれスムーズでシームレスなモバイル アプリケーション体験をユーザーに提供できるようになりました。

データベース管理における変革の必要性

取得し、提供するデータの種類によって、データのストレージと管理には NoSQL のアプローチをとっています。当社の成長とともに、アーキテクチャも進化してきました。当社は Cassandra から始まり、後に Apache HBase に軸足を移しました。しかし、HBase の運用には膨大な時間がかかりました。また、ソフトウェアのライフサイクルのどの段階においても、HBase の運用は手間のかかる作業でした。当社には、ストレージ ノードを割り当て、構成する人、zookeeper、namenode、datanode、regionserver プロセスをモニタリングする人、そしてリージョン間の負荷分散をする人が必要でした。あるノードで読み取りレイテンシが 200% 上昇したため、丸 1 日かけて ioutil のグラフを読むことになったこともありました。さらに、定期的にハードドライブの故障が発生し、定期的にハードウェア ノードのリバランスを行う必要があり、一度はネームノードを失い、バックアップ ジャーナルから復旧させたこともありました。その結果、フルマネージド データベース サービスである Bigtable への移行を検討するようになりました。

Bigtable は HBase クライアント ラッパーを備えているため、データベースの第一候補になりました。さらに、Bigtable のシームレスなスケーリングにより、ダウンタイムを発生させることなく、ボタンを押すだけで簡単に容量を追加できます。

HBase クライアント ラッパーでスムーズな移行を実現

HBase のクライアント ラッパーがあるため、Bigtable への移行は非常にスムーズでした。Google Cloud でデータベースをスピンアップする際、HBase から Bigtable にスナップショットされた行の SequenceFile をロードする汎用ジョブを書くのは非常に簡単であることがわかりました。すべての作業はアプリケーション コードで行われ、移動中も両拠点で一貫した書き込みが可能になりました。データを書きながら同時にスナップショットを読み込み、同時に結果が正しいことを確認する必要がありました。その結果、アプリケーション コードとバックフィラーで、セルの「バージョン」を手動で管理することになりました。これは、バックフィルによって生成された書き込みが、ライブイベントからの新しい書き込みを上書きしないようにするためです。

フルマネージド サービスとシームレスなスケーリングの活用

Bigtable に移行してからは、ノード構成、リージョン間の負荷分散、レイテンシ問題のトラブルシューティングに費やしていた時間を収益創出や顧客拡大のための施策に充てることができるようになりました。また、アプリケーション デベロッパーは時間のかかる運用業務から解放され、CI/CD やツーリングに専念できるようになり、お客様に喜ばれる価値の高い機能を生み出すことができるようになりました。

Bigtable は、顧客の期待に応えるために必要な、ダイナミックで応答性の高いスケーリングを提供します。あるクラスタでは、1 秒間に 100 万回の行操作を書き込み、さらに 1 秒間に 70 万回の行を読み取っています。

Airship の成長に合わせて、Google Cloud の全サービスをスケールし、システムのパフォーマンスとコスト効率を維持する予定です。当社は、ブランドがモバイルアプリ体験をマスターするための技術において、Google Cloud を重要なパートナーと考えています。

HBase から Bigtable へのライブ マイグレーションの詳細と使用方法については、当社のドキュメントのページをご覧ください。


- Airship、エンジニアリング&セキュリティ担当バイス プレジデント Neil Gariepy