2018/05/15 - 13:26

kamui trackerの紹介

:

:

初めまして。kamui trackerを担当しているエンジニアのkawashigeです。
今回は私の担当しているkamui trackerというサービスについて、エンジニアの方向けに紹介します。

kamui trackerってどんなサービス?

サービスの概要

kamui trackerはYouTubeメインの動画プラットフォームの分析ツールです。

https://kamuitracker.com/

YouTubeなどの動画プラットフォームから日次でデータを収集し、独自のデータ整理を行った上で集計してデータベースを構築しています。
主にYouTuber、広告主/広告代理店向けに下記機能を提供しています。

YouTuber向け

YouTuber向けには登録したチャンネルの分析ツールを提供しています。
自分のチャンネルの統計情報の推移や、他チャンネルとの比較などを行うことができます。

広告主/広告代理店向け

動画マーケティングを行いたい広告主/広告代理店向けに、YouTubeを中心とした動画プラットフォームのインフルエンサーの検索機能や、トレンドの分析機能を提供しています。 また、YouTubeのタイアップ動画の独自のデータベースを構築しており、タイアップ結果の分析を行う機能も提供しています。

全ユーザー向け

また、全ユーザー向けにカテゴリやインフルエンサーの種類毎のランキングを週次で出しています。
ランキングは下記「かむなび」というメディアで一般ユーザー向けにも公開しています。
ユーザー登録しなくても閲覧可能ですのでぜひご覧ください。

https://navi.kamuitracker.com/

サービスの特性

データ量が多い

現在2千万件弱の動画を保持しており、すべての動画について日次で統計情報を収集しているためデータ量が多いという特徴があります。
また各動画について、さまざまな観点で集計、検索を行う必要があります。 そのため大規模なデータをいかに効率よく集計、検索できるようにするかという点にエンジニアリングの難しさでもありおもしろさがあります。

画面のアクセスは少なめ

サービスの概要で記載したとおり、利用者がYouTuberやマーケット分析担当者のため一般のBtoCのサービスに比べて画面アクセス数は少なめになります。

kamui trackerの技術スタックは?

2018/05/15現在のkamui trackerの技術スタックは次のとおりです。
kamui trackerではフロントエンド/サーバサイド/インフラの役割を分けずに各エンジニアがすべての範囲を担当しています。

サーバサイド

サーバサイドはRailsのAPIモードで構築してます。
Ruby/Railsのバージョンは現在最新版を使用しています!

  • 言語
    • Ruby 2.5.1
  • フレームワーク
    • Ruby on Rails 5.2.0
  • テスト
    • Minitest
  • 静的解析ツール
    • RuboCop

フロントエンド

RailsをAPIモードで使用しているためフロントエンドはjQueryで独立したアプリケーションとして構築されています。

  • 言語
    • JavaScript
  • フレームワーク
    • jQuery
  • 静的解析ツール
    • ESLint

データベース

データベースはRDSを利用し、検索エンジンにAWS CloudSearchを使用しています。

  • DB
    • AWS RDS(Aurora)
    • AWS CloudSearch

インフラ/CI

インフラはすべてAWSを使用しており、CIはJenkins、構成管理にはTerraformを使用しています。

  • インフラ
    • AWS
      • RDS/CloudSearch/EC2/S3
  • 構成管理
    • Terraform/Ansible/Packer
  • 監視
    • AWS CloudWatch
  • CI
    • Jenkins

開発環境など

開発環境やコミュニケーションのツールなどは次のとおりです。

  • チャット
    • Slack
  • ドキュメント
    • esa.io
  • 案件管理
    • Pivotal Tracker
  • バージョン管理
    • Git
    • Bitbucket

技術スタックは現状イケていない部分もありますが、よりよい環境を目指して改善を検討、実施しています。
また、kamui trackerでは今後のさらなるデータ量の増加、機能拡張に向けてシステム更改を予定しています。
システム更改では下記改善を含めて仕様、アーキテクチャを鋭意検討中です。

  • データ量の増加に耐えうるアークテクチャ
  • フロントエンドをモダンに作り変える
  • 開発環境/本番環境のDocker化

We’re Hiring!

弊社ではkamui trackerを一緒に開発していくエンジニアを絶賛募集中です!
次に当てはまる方はご気軽に下記リンクよりお問い合わせください。

  • 大規模なデータ処理に興味がある
  • Railsの設計を良くしていきたい
  • モダンなフロントエンドで開発したい
  • ゼロからシステムを作り直すことに興味がある

https://www.wantedly.com/projects/177301