ゲスト投稿 : Seenit の動画プラットフォームを支える GCP と Couchbase
Google Cloud Japan Team
編集部注 : 今回のゲスト投稿では、Seenit の CTO である Dave Starling 氏が、同社のイノベーティブな動画コラボレーション プラットフォームの構築のために Google Cloud Platform(GCP)と Couchbase をどのように使いこなしているかを紹介します。
2014 年の創業以来、私たち Seenit の目標は、クラウドソーシングで作られた映像を通して面白いことを伝えるツールを企業に提供することです。しかし、それは簡単ではありませんでした。創業当時、Seenit が目指したものはまだ存在しなかったので、私たちはゼロから製品のアーキテクチャを作る必要がありました。結果として Couchbase と GCP を使用して Seenit を構築しましたが、そのことを皆さんとシェアしようと思ったのは、その過程で多くのことを学んだからです。
どのようなプラットフォームを作るのかを検討するにあたって、私たちは最初にデータベースとクラウド プロバイダーの要件をまとめたリストを作りました。そして、拡張性と可用性が高い分散アーキテクチャが得られるものとして、GCP 上の Couchbase を選びました。私たちのお客様は大規模企業であることが多く、数十という国に事業を展開している会社も含まれています。私たちは、人々が世界のどこにいようとも、一貫して優れたユーザー エクスペリエンスを得られるようにしたかったのです。
Couchbase の N1QL および全文検索(FTS)と Google Cloud Machine Learning API を組み合わせることで、私たちのお客様はオブジェクト、単語、語句で簡単に動画をフィルタリングできます。また、すべてが GCP 上にあるので、わずか数分で 12 台の VM にプラットフォーム全体を複製できます。
システムのアーキテクチャは次のとおりです。
- Google Compute Engine を使用して、2~20 台のサーバーで自動スケーリングを行います。
- Google Cloud Storage により、オブジェクトを統一的に保存、検索できます。ほぼ無限のスケーラビリティがあるため、このサービスは小さなアプリケーションからエクサバイト級のシステムまであらゆる規模に対応できます。
- Couchbase の全文検索を使用して、すべてのドキュメントのすべての単語から検索語を探せます。
- Cloud Machine Learning API により、オブジェクト、話者の性別や感情などに応じてクリップをソートします。API はどれも同じ言語を使っているため、コミュニケーションはシームレスです。
機械学習プラットフォームの導入を検討し始めたのは昨年のことです。JSON を話し、JSON を格納し、JSON を検索するものが私たちには必要でした。この条件を満たす機械学習プラットフォームなら、私たちの Couchbase システムにうまく統合できることがわかっていたからです。TensorFlow は、この要件を満たしていました。制約がないことも気に入っています。私たちはドメイン固有モデルを独自に作り、Google のツールを使ってモデルを訓練しています。
TensorFlow はオープンソースの機械学習プラットフォームですが、私たちはフルマネージド サービスの Cloud Machine Learning Engine を介して TensorFlow を使っています。そうすれば、自前のハードウェアを構築、管理する手間が省けて好都合なのです。
これにより、私たちはさまざまな操作を行い、本当に面白いデータをたくさん抽出しました。機械学習は Couchbase の全文検索だけでなく、N1QL にも完全に統合されているため、インテリジェンスを検索、抽出してお客様に価値を届けることができます。また、サーバーレス アーキテクチャなので、Google のカスタム ハードウェアを利用可能です。
コミュニティや製品 / エンジニアリング チームが力になってくれたことも心強く感じました。スタートアップにとっては、まるで巨人に肩車をしてもらっているかのようでした。Google や Couchbase のような大企業のサポートを受けられたことで、自前のリソースだけでは不可能だったことがたくさんできるようになりました。
お話ししたいことはもっとありますが、この辺でやめておきましょう。続きは、GCP の製品マネージャである Anil Dhawan 氏と私が最近 Couchbase Connect で講演したときの動画をご覧ください。
Google Cloud Launcher で Couchbase やその他のツールを試してみることもお勧めします。無料トライアルのクレジットであれこれ試すだけでなく、独自に作ったものをデプロイすることも可能です。頑張ってみてください。
* この投稿は米国時間 7 月 28 日、Seenit のCTO である Dave Starling 氏によって投稿されたもの(投稿はこちら)の抄訳です。
- By Dave Starling, CTO, Seenit