Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
非同期ジョブと 仲良くする KOBA789 (Hidekazu Kobayashi) at Cookpad
Slide 2
Slide 2 text
KOBA789 インフラ部データ基盤グループ 2017新卒(大学やめて高卒) Node.jsの本を書いた思い出 分野を横断した仕事が好き
Slide 3
Slide 3 text
Q. ジョブキュー・ワーカー 何使ってますか
Slide 4
Slide 4 text
大正義 共有 FileSystem コード Web マスター ワーカー Sidekiqさん
Slide 5
Slide 5 text
Sidekiqさん 大正義 FileSystem コード Web Master Worker よさそうじゃん?
Slide 6
Slide 6 text
突然の
Slide 7
Slide 7 text
FileSystem コード Web マスター ワーカー FileSystem コード コンテナ 分けるならこう アプリケーション ジョブキュー・ワーカー
Slide 8
Slide 8 text
コンテナ 分けるならこう アプリ キュー・ ワーカー
Slide 9
Slide 9 text
では増やしてみましょう
Slide 10
Slide 10 text
アプリ キュー・ ワーカー
Slide 11
Slide 11 text
アプリ 増やすならこう キュー・ ワーカー アプリ アプリ アプリ アプリ
Slide 12
Slide 12 text
キュー・ワーカーも 増やすならこう キュー・ ワーカー キュー・ ワーカー キュー・ ワーカー キュー・ ワーカー アプリ アプリ アプリ アプリ
Slide 13
Slide 13 text
キュー・ワーカーも 増やすならこう キュー・ ワーカー キュー・ ワーカー キュー・ ワーカー キュー・ ワーカー アプリ アプリ アプリ アプリ ちょっとまって
Slide 14
Slide 14 text
キュー・ ワーカー キュー・ ワーカー キュー・ ワーカー キュー・ ワーカー アプリ アプリ アプリ アプリ スケール できなくない? Redis Clusterの 面倒を見たいか?
Slide 15
Slide 15 text
アプリ アプリ アプリ アプリ キュー・ ワーカー キュー・ ワーカー キュー・ ワーカー キュー・ ワーカー マスター ワーカー FileSystem コード マスターがたくさん いるのは無駄では
Slide 16
Slide 16 text
アプリ アプリ アプリ アプリ キュー・ ワーカー キュー・ ワーカー キュー・ ワーカー キュー・ ワーカー 必要な分だけ 起動してほしいのでは
Slide 17
Slide 17 text
キュー・ ワーカー キュー・ ワーカー キュー・ ワーカー キュー・ ワーカー アプリを変更したらキュー・ワーカーも イメージをリビルドしないといけない アプリ アプリ アプリ アプリ
Slide 18
Slide 18 text
ということで
Slide 19
Slide 19 text
We introduce Barbeque
Slide 20
Slide 20 text
Barbeque Barbeque Hako ざっくり言うと Dockerコンテナの 管理ツール
Slide 21
Slide 21 text
アプリ Barbeque Barbeque アプリ Hako
Slide 22
Slide 22 text
アプリ Barbeque Barbeque アプリ Hako
Slide 23
Slide 23 text
アプリ Barbeque Barbeque アプリ Hako
Slide 24
Slide 24 text
アプリ Barbeque Barbeque アプリ Hako
Slide 25
Slide 25 text
アプリ Barbeque Barbeque アプリ ワーカー Hako
Slide 26
Slide 26 text
アプリ Barbeque Barbeque アプリ Hako ワーカー
Slide 27
Slide 27 text
アプリ Barbeque Barbeque アプリ ワーカー Hako
Slide 28
Slide 28 text
アプリ Barbeque Barbeque アプリ ワーカー Hako ワーカー
Slide 29
Slide 29 text
アプリ アプリ Hako ワーカー ワーカー Barbeque Barbeque マスターとワーカーは 別々に増やせる 必要な分だけ 起動している
Slide 30
Slide 30 text
アプリ Barbeque Barbeque アプリ ワーカー Hako ワーカー 運用はAWSにおまかせ スケールもしてくれる
Slide 31
Slide 31 text
Barbeque Barbeque Hako アプリ アプリ ワーカー ワーカー これらのコンテナは 同じイメージから起動している 起動時のコマンドライン引数が違うだけ unicorn vs. rake barbeque:execute
Slide 32
Slide 32 text
アプリ Barbeque Barbeque アプリ Hako ワーカー ワーカー デプロイも楽になって 最高ですね?
Slide 33
Slide 33 text
Railsでの使い方
Slide 34
Slide 34 text
HFNCBSCFRVF@DMJFOU Gemfile
Slide 35
Slide 35 text
#BSCFRVF$MJFOUDPOGJHVSFEP]DPOGJH] DPOGJHBQQMJDBUJPOBXFTPNF@BQQ DPOGJHEFGBVMU@RVFVFEFGBVMU DPOGJHFOEQPJOUIUUQTCBSCFRVFFYBNQMFDPN FOE config/initializers/barbeque.rb
Slide 36
Slide 36 text
DMBTT4PNF+PC"QQMJDBUJPO+PC EFGQFSGPSN QBSBN QBSBN EPTPNFUIJOHBXFTPNF SFRVJSFTBMPOHUJNF FOE FOE app/jobs/some_job.rb
Slide 37
Slide 37 text
4PNF+PCQFSGPSN@MBUFS QBSBN QBSBN 適当なところで
Slide 38
Slide 38 text
ActiveJob準拠で 大変便利
Slide 39
Slide 39 text
その他の機能 • ローカルでのジョブ実行(開発用) • AWS SNS契機でのジョブ実行 • べんりなWeb UI
Slide 40
Slide 40 text
No content
Slide 41
Slide 41 text
No content
Slide 42
Slide 42 text
No content
Slide 43
Slide 43 text
そろそろみなさん 使いたくなってきた
Slide 44
Slide 44 text
https://github.com/cookpad/barbeque
Slide 45
Slide 45 text
Hakoが あるからこそできる
Slide 46
Slide 46 text
Hakoの利点を 最大限に活用している
Slide 47
Slide 47 text
非同期ジョブ基盤は 単体ではない
Slide 48
Slide 48 text
Cookpadの 非同期ジョブ基盤は インフラに統合されている