Farmnote が技術で
牛と人をつなげるまで
0 Copyright(C) Farmnote All Right Reserved.
Farmnote 河野信輝
2018年10月05日
誰が話すの?
1 Copyright(C) Farmnote All Right Reserved.
おなまえ 河野 信輝
けいれき
1987年: 生まれる(31歳)
2013年: 数理科学(確率論)で理学修士
2013年 ~ 2016年: IT 企業で Web エンジニア
2016年 ~ 現在: Farmnote でデータエンジニア
しゅみ
ミュージカル/演劇鑑賞
庭園鑑賞
海岸で寝る(New!)
おしらせ 友達欲しい
何を話すの?
• Farmnote はこういうことやってるよ!
• クラウドなら未経験でも簡単にデータ基盤作
れるよ!
2 Copyright(C) Farmnote All Right Reserved.
どういう会社?
3 Copyright(C) Farmnote All Right Reserved.
どういう会社?
4 Copyright(C) Farmnote All Right Reserved.
会社名 株式会社 ファームノート
代表者 小林 晋也
創立 2013年(約5年)
本社 北海道帯広市(十勝エリア)
支社/拠点 札幌/東京/鹿児島
事業内容 酪農・畜産向け牛群管理システムの開発・提供
イメージがわかないんだけど?
5 Copyright(C) Farmnote All Right Reserved.
• (ビデオ再生)
どういうデータ分析してるの?
6 Copyright(C) Farmnote All Right Reserved.
どういうデータ分析してるの?
7 Copyright(C) Farmnote All Right Reserved.
どういうデータ分析してるの?
8 Copyright(C) Farmnote All Right Reserved.
加速度センサーで
発情を検知
エンジニアってなにしてるの?
• 牛舎に自らいく
– 弊社エンジニア→
9 Copyright(C) Farmnote All Right Reserved.
エンジニアってなにしてるの?
• 牛舎の様子
• (ビデオ再生)
10 Copyright(C) Farmnote All Right Reserved.
それで?
• と、ここまでが前置き
• ここからが本題
–どうやって作ったの?
11 Copyright(C) Farmnote All Right Reserved.
どうやって開発が始まったの?
• 2016年04月(私の入社)時点で…
• 私
– 分散処理系のアプリケーション書いたことない
– インフラ経験ない
– クラウド使ったことない
– ワークフローエンジン構築運用したことない
• 会社
– 2016年08月(4ヶ月後)ローンチ予定
– クラウド上にまだ何もない
– 私一人で開発する
12 Copyright(C) Farmnote All Right Reserved.
どうやって開発が始まったの?
• 必要最小限でいこう!
– Spark シングルノード
• インスタンス 1台を使いまわし
– とりあえず Jenkins
– とりあえず AWS
• あとは猛勉強!&開発
– 同時にハードウェアの開発のため、牛舎での作業
も
13 Copyright(C) Farmnote All Right Reserved.
アーキテクチャ(創世記)
14 Copyright(C) Farmnote All Right Reserved.
S3
Amazon
EC2
Amazon
EC2
シングルノードきつい
15 Copyright(C) Farmnote All Right Reserved.
Amazon EC2
CPU: 32コア
メモリ: 500GiB
ジョブA
使用 CPU: 16コア
使用メモリ: 500GiB
ジョブB
使用 CPU: 32コア
使用メモリ: 100GiB
…
ジョブキュー管理も…
ジョブZ
使用 CPU: 16コア
使用メモリ: 50GiB
スケーリング難しい…
(過剰スペック)
スケールアウトに限界…
ジョブごとに使い捨てたい
16 Copyright(C) Farmnote All Right Reserved.
???
CPU: 16コア
メモリ: 500GiB
ジョブA
使用 CPU: 16コア
使用メモリ: 500GiB
ジョブB
使用 CPU: 32コア
使用メモリ: 100GiB
… ジョブZ
使用 CPU: 16コア
使用メモリ: 50GiB
???
CPU: 32コア
メモリ: 100GiB
???
CPU: 16コア
メモリ: 50GiB
創世記 → 革新紀
• そうだ! Google Cloud Dataproc 使おう!
– Spark 部分だけ GCP へ
– 当時は AWS は1時間ごとの課金、GCP は1分ご
との課金だった
– ジョブは毎時間10~20分程度
– マネージド Hadoop クラスタ
17 Copyright(C) Farmnote All Right Reserved.
アーキテクチャ(革新紀)
18 Copyright(C) Farmnote All Right Reserved.
S3 Cloud
Storage
Cloud
Dataproc
Amazon
EC2
クラスタ管理めんどい
19 Copyright(C) Farmnote All Right Reserved.
作って、消して、サイジングも…
Spark Web UI つらい
20 Copyright(C) Farmnote All Right Reserved.
https://www.cloudera.com/documentation/enterprise/5-9-x/images/xwebui-3.png.pagespeed.ic.PWWxEGrFtK.webp
どのコードを直そう…
Google Cloud Dataflow 最高!
21 Copyright(C) Farmnote All Right Reserved.
https://cloud.google.com/dataflow/images/monitoring-side-input-write.png
コードと完全に一致!
ジョブだけ管理!
革新紀 → 円熟紀
• そうだ! Cloud Dataflow 使おう!
• ついでに BigQuery も Cloud Datalab も活
用しよう!
– BigQuery と Google Sheets の連携で、非エン
ジニアメンバーとのコラボレーションが強力に!
– 研究開発段階でのデータの手入力など
• データ周りはすべて GCP に!
– GSuite 最高!
22 Copyright(C) Farmnote All Right Reserved.
アーキテクチャ(円熟紀)(現在)
23 Copyright(C) Farmnote All Right Reserved.
S3 Cloud
Storage
Cloud
Pub/Sub
Cloud
Dataflow
BigQuery Cloud
Datalab
Amazon
EC2
これからどうしたい?
• 社内のすべてのデータを分析するコストを 0 に
近づけたい
• まだまだ分析できていないデータがたくさんある
ので、どんどん分析回していきたい
– ユーザ入力データ
• どういう作業をした?
• どの牛にどういうイベントが起きた?
– サービス利用データ
– その他のセンサーデータ
– など
24 Copyright(C) Farmnote All Right Reserved.
まとめ
• Farmnote では農業 IoT サービスやってるよ
• エンジニアもどんどん現場に出て、開発して
るよ
• 未経験でもクラウド使ってデータ基盤を作っ
たり、改善したりできたよ
25 Copyright(C) Farmnote All Right Reserved.
おわり
• ご静聴ありがとうございました
26 Copyright(C) Farmnote All Right Reserved.
質疑応答
• なんでも聞いてください
– 今日話してたアーキテクチャ、細かいところごま
かしてるだろ!
– 全部 GCP に移行しないの?
– Jenkins も変えた方が良くない?
– など
27 Copyright(C) Farmnote All Right Reserved.

Farmnote が技術で牛と人をつなげるまで - Data engineering and data analysis workshop #6