概要
弊社DSPサービスのレポーティングを支えるHadoopクラスタの運用、そのクラスタを用いた集計基盤の開発運用
- 具体的な業務内容
* Hadoopクラスタが健全に稼働できるように可視化/監視などを整備
* Hadoopクラスタのパフォーマンスを上げるようにクラスタやジョブのチューニング
* Hadoopを含め分散処理に関するミドルウェアの検証、導入
* 上記のクラスタを用いて顧客に提供するレポーティング基盤の開発、運用
- 利用可能な環境/言語/ツール
* 400台のHadoop環境
* 構成管理はchef, ansibleを併用
* モニタリングはganglia, graphtie, nagios, monit, sensuなどを併用
* Hadoop上の開発は主にscala, hive、スクリプトは主にruby
- 必要な経験/スキル
* Hadoopを始めとするOSS分散処理技術に関する理解
* ある程度の規模のプログラム開発経験
* 興味のある分野の最新動向を把握する習慣
- あると望ましい経験/スキル
* 大規模なHadoopクラスタの運用経験
* 多数のサーバーの運用経験
* OS、ハードウェアに関する知識
- アピールポイント
* 大規模かつ新鮮なデータ
弊社サービスのログには、RTBの入札ログや、広告の配信ログなどがあります。
現時点で数百億レコード/日、数百GB/日の量になっていますが、これもサービスの拡大に併せて日々増加しています。
* サービスに直結する集計
ログの利用の目的というと社内でのサービス改善などを思い浮かべることが多いかと思いますが、
弊社ではログを基に作成したレポートはそのまま顧客に届けるサービスとなります。
サービスに限りなく近い場所で、Hadoopなどの技術を利用することができます。
* フラットな組織
少人数での開発、運用なので、 各自が担当した業務においては各自が主導する責任者となります。
言語/ツールなどを上記しましたが、現在そうであるというだけで、
サービスにとってプラスになるのであれば、各自の責任において新しいものを導入することは極めて容易です。その際に政治的な障壁は一切ありません。
もちろん、その代わりに各自の開発物や導入したツールなどの運用責任は各自で負うことになります。いかに運用負荷を軽減するかまでが開発です。