SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

GCPを活用したリアルタイムデータ基盤の構築事例

GCPでリアルタイムデータ基盤を内製――ユーザー体験を向上させる事例の紹介

GCPを活用したリアルタイムデータ基盤の構築事例 第2回

今後のhacci――さらなる進化に向けて

 hacciはデータパイプラインとして非常に安定しており、運用の手間がかかりません。とは言え、さらに使いやすい基盤に進化させていきたいと考えています。具体的には、データパイプラインの入力・出力のパターンを増やすための機能を実装し、利用者がよりメリットをイメージしやすく、導入しやすいと感じられるシステムを目指しています。

hacciの概要
hacciの概要

 上図の「データ蓄積」「分析/活用」について、hacciの新機能として現在開発中の内容を3つ紹介します。

【1】取得データのリッチ化

 hacciでは、データパイプラインに流すデータを生成・送信するためのSDKを提供しています。SDKには、Webページに埋め込むためのJavaScriptコードと、アプリに埋め込むためのライブラリがあります。現在hacciでは、このSDKを改良し、よりリッチなデータを取得できるようにしています。

 例えば、Webページやアプリ画面上の、利用者のマウスやスクロールなど細かなデータを即時に取得することができれば、読み飛ばしや迷いなど利用者のページ上の動向を捉えることができ、その動向に対してリアルタイムにリアクションを取ることができます。また、最近のハードウェアデバイスはさまざまなセンサを搭載しているので、ユーザーの現在の身体の向きや利き腕の判定も可能になるでしょう。そうした判定に基づいてページのレイアウトを変更すると、利用者はより利便性を感じるのではないでしょうか。ただし、出し方によってはユーザー側に違和感を与えかねないことから、UI/UXの設計は大変重要となります。

【2】外部サービスとの連携

 自社サービスのデータの活用だけでは、利用者に提供できる体験に限りがあります。そこで、外部サービスのデータをhacciに投入、あるいは、hacciを通過したデータを外部サービスに転送することで、よりリッチなデータを獲得、高度な利用を実現できるようになります。ここで言う外部サービスとは、リクルート内でhacciとは別に作られたシステムからなるサービスと、リクルート外のサービスの両方を指しています。

 このようなhacciを用いた入力・出力での外部サービスとの連携のために、hacciの前後で動かすCloud Dataflowジョブを都度追加開発しています。

【3】CI/CD環境の整備

 プラットフォームの改善手法についても紹介します。hacciの開発フローは「Git-flow」を採用しています。そしてCI/CD環境を現在「Argo/Argo CD」で実装しています。Argo自体がまだ若いOSSで、頻繁な更新があり、便利な機能が次々に追加されています。Argo導入以前には「Concourse CI」を使っていました。

実際に動作しているArgo/Argo CDの画面
実際に動作しているArgo/Argo CDの画面

 また、似たようなツールとしてクラウド界隈で流行っている「Spinnaker」や「Tekton」といった最新ツールの動向を踏まえ、よりhacciを開発しやすい環境作りを進めています。

 ちなみに、このあたりをツールとしてクラウドマネージドシステムに採用する考えはチームにあまりなく、機能が豊富で自由なことができやすいOSSを見ることが多いのが現状です。

【最後に】施策を進める上で大切にしていること

 これまで基盤のお話をしてきましたが、ユーザー体験を良くして価値を提供するためには、実は基盤を用意するだけでは不十分です。リアルタイムに何かをすることは、技術面で比較的新しく、時に魅力的に見えるでしょう。hacciを使うことで、リアルタイムで施策を容易に実現できます。しかし、端的に言えば「リアルタイム化≠正義」です。全ての処理をリアルタイム化して、価値ある施策を創り出し実現するには、マーケティング、UX、サイエンス、エンジニアリングといった全ての力を結集し、ユーザー体験をとことんまで考え、そこから生まれた施策により初めて価値が生み出されます。

 私たちもhacciを作るだけで終わることなく、データをどのように発生元から利用先に届け、活用してもらえるか――そこまで踏み込んで、継続的な施策の実施、プラットフォームの改善を繰り返しています。

まとめ

 2回にわたって、リアルタイムデータ基盤「hacci」が誕生した背景、それを支える基盤技術や事例、今後の展望について紹介しました。内容を簡単に振り返ります。

  • 世の中のユーザー行動が変化し、リアルタイムな行動を捉えた「おもてなし」が求められている。
  • ユーザーのデータをリアルタイムに収集・分析・活用するためのプラットフォーム「hacci」を社内で開発。
  • hacciはGCP上で実装されており、入力部・処理部・出力部に分かれる。それぞれの機能を単純化しつなぐことで、運用負荷低減、継続的な改善を実現。
  • hacciのビジネス活用シーンの一例
    • 「迷いユーザー」に対するリアルタイムな条件レコメンド。
    • 強化学習のような「教師なし学習」との組み合わせ。
    • ミドルウェア・ライブラリ情報の把握のためのデータを流すなど、サービスの安定提供を目的とした施策支援。
  • 基盤だけでは価値を生み出せない
    • 異なる専門領域を持つメンバーが集まり、一枚岩となって取り組むことが必要。
    • 基盤を作って終わりではなく、ユースケースに対して、どのようにデータを発生元から利用先に届け、活用してもらえるかを考え、改善し続けることが重要。そのためには、改善しやすいアーキテクチャ設計が大切になる。

 「施策を進める上で大切にしていること」でも述べた通り、リアルタイムデータ基盤はユーザーのマイクロモーメントに対するアプローチのひとつの手段でしかありません。世の中の動きに合わせて、その時々にあった基盤やUXを整えていくことが肝要と考えています。この記事が、リアルタイムデータの活用を考えている方々の参考になれば幸いです。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
GCPを活用したリアルタイムデータ基盤の構築事例連載記事一覧
この記事の著者

伊野本 憲浩(株式会社リクルートテクノロジーズ)(イノモト ノリヒロ)

 2008年リクルートに新卒入社後、一貫してシステム開発部門に所属。インフラエンジニアとしてキャリアをスタートし、アプリ開発、自社コーポレートサイトの制作、セキュリティプロジェクト等を担当。現在はデータテクノロジーラボ部で様々なデータの利活用、またそれらデータの活用基盤構築などに従事しています。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

佐伯 嘉康(株式会社リクルートテクノロジーズ)(サエキ ヨシヤス)

 1983年生まれ。2011年にヤフー株式会社に新卒入社。検索基盤チームでHadoopバッチ処理アプリケーション、ストリーミングデータ処理基盤を開発・運用。2015年に株式会社リクルートテクノロジーズに入社。システムアーキテクトエンジニアとして、R&D、ログデータパイプライン基盤:hacciの開発・...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/11608 2019/07/25 11:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー