SlideShare a Scribd company logo
1 of 20
Download to read offline
[Confidential] © 2013 Actcat, Inc. 1
Sidekiq Proを1年ほど使ってみて
良かったところ、困ったところ
[Confidential] © 2013 Actcat, Inc.
Sidekiqとは
n 1プロセスで大量のスレッドを作成、ジョブ
を処理できるジョブキューシステム	
  
n Sidekiq	
  -­‐	
  A	
  full-­‐featured	
  background	
  processing	
  
framework	
  for	
  Ruby.	
  It	
  aims	
  to	
  be	
  simple	
  to	
  
integrate	
  with	
  any	
  modern	
  Rails	
  application	
  and	
  
much	
  higher	
  performance	
  than	
  other	
  existing	
  
solutions.	
  
https://github.com/markets/awesome-­‐ruby	
  
n http://sidekiq.org/	
  
2
[Confidential] © 2013 Actcat, Inc.
Sidekiq vs Delayed_job vs Resuqe
3
[Confidential] © 2013 Actcat, Inc.
うちの SideCI では Sidekiq を選択
n GitHub	
  Comments	
  APIを叩きまくるジョブ
を何個も同時に爆速で回したかった	
  
n 1プロセス当たり処理できるジョブ数・速
度が早いらしいSidekiq使った	
  
n 処理数は少ないジョブしかないレポジト
リもSidekiqに統一した	
  
4
[Confidential] © 2013 Actcat, Inc.
良かったところ
n 早い!	
  
l タスクを小さく分割してあるタスク(ジョ
ブ)などではスレッド数の多さによる速さ
が際立つ	
  
n 割りとデファクトで情報も多い	
  
l ActiveJobのrailsguideなどでもbackendの
設定サンプルに一番に書いてあったり	
  
n プラグインも充実	
  
5
[Confidential] © 2013 Actcat, Inc.
充実のプラグイン
n Sinatraで書かれたWebUI	
  
n WebUIのDevise連携	
  
n Nagios連携	
  
n Queue	
  Latency用のエンドポイント	
  
n Etc…
6
[Confidential] © 2013 Actcat, Inc. 7
困ったところ
[Confidential] © 2013 Actcat, Inc.
Sidekiqの困ったところ
n 1プロセスで最大100スレッドぐらいまで処
理できるすごい子です。	
  
l メモリやデータベース側などが100スレッ
ドに耐えられるだけ強力であれば、まじ
爆速で処理できます	
  
n でも、100ジョブ処理しているプロセスが
Deadしたら…	
  
l 100ジョブが永遠に失われます
8
[Confidential] © 2013 Actcat, Inc.
永遠に失われる	
  
100ジョブ	
  
9
[Confidential] © 2013 Actcat, Inc.
sidekiq	
  workerはupstartとかが	
  
立ち上げてくれるけれど、
ジョブは返ってこない	
  
10
[Confidential] © 2013 Actcat, Inc.
((ヾ( 皿 ;)ノ_))きぃぃぃぃっ!	
  
ジョブ返せよう!	
  
11
[Confidential] © 2013 Actcat, Inc.
+怖い話: あなたのジョブも実は
亡くなっているかも…
n 失われたジョブが失われたという情報は誰も
持っていない(あなたが独自に管理していな
いかぎり)	
  
n Bugsnag,	
  Airbrake,	
  Sentryとかの例外通知系
サービスも例外を通知してこない(Processが
deadした場合、多くの場合、例外を通知する
まえにworkerがdeadした場合)	
  
n Sidekiqはupstartに自動再起動させてたので
サービス停止とかにはならず、気づきづらい	
  
12
[Confidential] © 2013 Actcat, Inc. 13
SIDEKIQ PRO : RELIABILITY
[Confidential] © 2013 Actcat, Inc.
RELIABILITY
n RedisのRPOPLPUSHを使っていて、キュー
取り出し時にRedisにバックアップを作っ
てくれるので、キューを取り出し、処理
している間に、プロセスが死亡したり、
Redisが死亡しても、そこからキューを復
元して処理してくれる	
  
14
[Confidential] © 2013 Actcat, Inc. 15
[Confidential] © 2013 Actcat, Inc.
困ったところ…
n Sidekiq	
  Proを買うと困ったところが低減	
  
n \(^o^)/ Sidekiq	
  Pro\(^o^)/
16
[Confidential] © 2013 Actcat, Inc. 17
おまけ / 他のPRO機能の紹介
[Confidential] © 2013 Actcat, Inc.
BATCHES
ジョブをバッチにまとめ、バッチの管理
18
[Confidential] © 2013 Actcat, Inc.
SUPPORT
作者によるメールサポートが着く
19
n 	
  知っていれば教えてくれる	
  
n 知らなければ知らないって教えてくれる	
  
[Confidential] © 2013 Actcat, Inc.
Sidekiqに関するまとめ
n 処理早い。デファクトで機能充実。
ActiveJob対応	
  
n Redisとの接続が死んだり、Sidekiq	
  Worker
が死んだりするとジョブが失われる	
  
n ジョブが失われるのが怖い人は年額$950
払うと失われなくて済む(約11万4000円)
20

More Related Content

What's hot

SQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリーSQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリーke-m kamekoopa
 
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)Uptime Technologies LLC (JP)
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Etsuji Nakai
 
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことMySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことyoku0825
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計Yoshinori Matsunobu
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意Yoshitaka Kawashima
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版LINE Corporation
 
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #1320210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13Amazon Web Services Japan
 
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 Hiroshi Ito
 
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 152016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15歩 柴田
 
なぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのかなぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのかYusuke Suzuki
 
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with KarateTakanori Suzuki
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjugYahoo!デベロッパーネットワーク
 
PostgreSQLでスケールアウト
PostgreSQLでスケールアウトPostgreSQLでスケールアウト
PostgreSQLでスケールアウトMasahiko Sawada
 
やってはいけない空振りDelete
やってはいけない空振りDeleteやってはいけない空振りDelete
やってはいけない空振りDeleteYu Yamada
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)Takuto Wada
 
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜Takahiko Ito
 

What's hot (20)

SQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリーSQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリー
 
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことMySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版
 
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #1320210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
 
マーブル図で怖くないRxJS
マーブル図で怖くないRxJSマーブル図で怖くないRxJS
マーブル図で怖くないRxJS
 
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
 
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 152016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
 
なぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのかなぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのか
 
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
 
PostgreSQLでスケールアウト
PostgreSQLでスケールアウトPostgreSQLでスケールアウト
PostgreSQLでスケールアウト
 
やってはいけない空振りDelete
やってはいけない空振りDeleteやってはいけない空振りDelete
やってはいけない空振りDelete
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
 
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
 

Similar to Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurb

ActiveResourceモデルによるAPIの隠蔽の怖い話 ~レスポンスタイムへの致命的影響~ at #shinjukurb
ActiveResourceモデルによるAPIの隠蔽の怖い話~レスポンスタイムへの致命的影響~ at #shinjukurbActiveResourceモデルによるAPIの隠蔽の怖い話~レスポンスタイムへの致命的影響~ at #shinjukurb
ActiveResourceモデルによるAPIの隠蔽の怖い話 ~レスポンスタイムへの致命的影響~ at #shinjukurbKoichiro Sumi
 
Rubyでも今すぐ始められるCI How-to & Tips - SideCI TokyuRuby会議07 LT資料 #tqrk07
Rubyでも今すぐ始められるCI How-to & Tips - SideCI TokyuRuby会議07 LT資料 #tqrk07Rubyでも今すぐ始められるCI How-to & Tips - SideCI TokyuRuby会議07 LT資料 #tqrk07
Rubyでも今すぐ始められるCI How-to & Tips - SideCI TokyuRuby会議07 LT資料 #tqrk07Koichiro Sumi
 
開発メンバーを増やすときの 秩序だったプラクティス with SideCI
開発メンバーを増やすときの秩序だったプラクティス with SideCI開発メンバーを増やすときの秩序だったプラクティス with SideCI
開発メンバーを増やすときの 秩序だったプラクティス with SideCIKoichiro Sumi
 
Tokyo ruby kaigi 10 (sogabe)
Tokyo ruby kaigi 10 (sogabe)Tokyo ruby kaigi 10 (sogabe)
Tokyo ruby kaigi 10 (sogabe)Takashi Sogabe
 
RakSulのInternal API開発で gRPCを導入した話
RakSulのInternal API開発で gRPCを導入した話RakSulのInternal API開発で gRPCを導入した話
RakSulのInternal API開発で gRPCを導入した話nixiesan
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップKoichiro Sumi
 
rablについてざっくりだけ調べてみた #shinjukurb 新宿rb 41th
rablについてざっくりだけ調べてみた #shinjukurb 新宿rb 41thrablについてざっくりだけ調べてみた #shinjukurb 新宿rb 41th
rablについてざっくりだけ調べてみた #shinjukurb 新宿rb 41thKoichiro Sumi
 
サービスの成長を支えるフロントエンド開発 #denatechcon
サービスの成長を支えるフロントエンド開発 #denatechconサービスの成長を支えるフロントエンド開発 #denatechcon
サービスの成長を支えるフロントエンド開発 #denatechconDeNA
 
Trac Lightningの社内標準化と継続的な運用のために
Trac Lightningの社内標準化と継続的な運用のためにTrac Lightningの社内標準化と継続的な運用のために
Trac Lightningの社内標準化と継続的な運用のためにKaoru NAKAMURA
 
Introduction to NetOpsCoding
Introduction to NetOpsCodingIntroduction to NetOpsCoding
Introduction to NetOpsCodingTaiji Tsuchiya
 
Goji とレイヤ化アーキテクチャ
Goji とレイヤ化アーキテクチャGoji とレイヤ化アーキテクチャ
Goji とレイヤ化アーキテクチャShiroyagi Corporation
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...Shinji Takao
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~Yuki Ando
 
Building Static Website With Github And Jekyll
Building Static Website With Github And JekyllBuilding Static Website With Github And Jekyll
Building Static Website With Github And JekyllYoji Shidara
 
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7Wataru NOGUCHI
 
mruby_nginx_module at pyfes 2013.11
mruby_nginx_module at pyfes 2013.11mruby_nginx_module at pyfes 2013.11
mruby_nginx_module at pyfes 2013.11Tatsuhiko Kubo
 

Similar to Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurb (20)

ActiveResourceモデルによるAPIの隠蔽の怖い話 ~レスポンスタイムへの致命的影響~ at #shinjukurb
ActiveResourceモデルによるAPIの隠蔽の怖い話~レスポンスタイムへの致命的影響~ at #shinjukurbActiveResourceモデルによるAPIの隠蔽の怖い話~レスポンスタイムへの致命的影響~ at #shinjukurb
ActiveResourceモデルによるAPIの隠蔽の怖い話 ~レスポンスタイムへの致命的影響~ at #shinjukurb
 
Rubyでも今すぐ始められるCI How-to & Tips - SideCI TokyuRuby会議07 LT資料 #tqrk07
Rubyでも今すぐ始められるCI How-to & Tips - SideCI TokyuRuby会議07 LT資料 #tqrk07Rubyでも今すぐ始められるCI How-to & Tips - SideCI TokyuRuby会議07 LT資料 #tqrk07
Rubyでも今すぐ始められるCI How-to & Tips - SideCI TokyuRuby会議07 LT資料 #tqrk07
 
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
 
開発メンバーを増やすときの 秩序だったプラクティス with SideCI
開発メンバーを増やすときの秩序だったプラクティス with SideCI開発メンバーを増やすときの秩序だったプラクティス with SideCI
開発メンバーを増やすときの 秩序だったプラクティス with SideCI
 
Tokyo ruby kaigi 10 (sogabe)
Tokyo ruby kaigi 10 (sogabe)Tokyo ruby kaigi 10 (sogabe)
Tokyo ruby kaigi 10 (sogabe)
 
RakSulのInternal API開発で gRPCを導入した話
RakSulのInternal API開発で gRPCを導入した話RakSulのInternal API開発で gRPCを導入した話
RakSulのInternal API開発で gRPCを導入した話
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
 
rablについてざっくりだけ調べてみた #shinjukurb 新宿rb 41th
rablについてざっくりだけ調べてみた #shinjukurb 新宿rb 41thrablについてざっくりだけ調べてみた #shinjukurb 新宿rb 41th
rablについてざっくりだけ調べてみた #shinjukurb 新宿rb 41th
 
サービスの成長を支えるフロントエンド開発 #denatechcon
サービスの成長を支えるフロントエンド開発 #denatechconサービスの成長を支えるフロントエンド開発 #denatechcon
サービスの成長を支えるフロントエンド開発 #denatechcon
 
Trac Lightningの社内標準化と継続的な運用のために
Trac Lightningの社内標準化と継続的な運用のためにTrac Lightningの社内標準化と継続的な運用のために
Trac Lightningの社内標準化と継続的な運用のために
 
第9回しゃちほこオラクル倶楽部
第9回しゃちほこオラクル倶楽部第9回しゃちほこオラクル倶楽部
第9回しゃちほこオラクル倶楽部
 
Introduction to NetOpsCoding
Introduction to NetOpsCodingIntroduction to NetOpsCoding
Introduction to NetOpsCoding
 
Goji とレイヤ化アーキテクチャ
Goji とレイヤ化アーキテクチャGoji とレイヤ化アーキテクチャ
Goji とレイヤ化アーキテクチャ
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
 
nginxの紹介
nginxの紹介nginxの紹介
nginxの紹介
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
 
Building Static Website With Github And Jekyll
Building Static Website With Github And JekyllBuilding Static Website With Github And Jekyll
Building Static Website With Github And Jekyll
 
【初心者向け】API を使ってクラウドの管理を自動化しよう
【初心者向け】API を使ってクラウドの管理を自動化しよう【初心者向け】API を使ってクラウドの管理を自動化しよう
【初心者向け】API を使ってクラウドの管理を自動化しよう
 
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
 
mruby_nginx_module at pyfes 2013.11
mruby_nginx_module at pyfes 2013.11mruby_nginx_module at pyfes 2013.11
mruby_nginx_module at pyfes 2013.11
 

More from Koichiro Sumi

Siderご紹介スライド@第2回 GitHub Enterprise ユーザ会
Siderご紹介スライド@第2回 GitHub Enterprise ユーザ会Siderご紹介スライド@第2回 GitHub Enterprise ユーザ会
Siderご紹介スライド@第2回 GitHub Enterprise ユーザ会Koichiro Sumi
 
エンジニアが作りたいものを本気で作るための起業という選択肢。レビュー支援サービスSiderの着想から現在、未来 | Rails developers me...
エンジニアが作りたいものを本気で作るための起業という選択肢。レビュー支援サービスSiderの着想から現在、未来 | Rails developers me...エンジニアが作りたいものを本気で作るための起業という選択肢。レビュー支援サービスSiderの着想から現在、未来 | Rails developers me...
エンジニアが作りたいものを本気で作るための起業という選択肢。レビュー支援サービスSiderの着想から現在、未来 | Rails developers me...Koichiro Sumi
 
管理画面の作り方ディスカス 新宿.rb 36th #shinjukurb
管理画面の作り方ディスカス 新宿.rb 36th #shinjukurb管理画面の作り方ディスカス 新宿.rb 36th #shinjukurb
管理画面の作り方ディスカス 新宿.rb 36th #shinjukurbKoichiro Sumi
 
プロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devlove
プロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devloveプロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devlove
プロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devloveKoichiro Sumi
 
ベトナムのホーチミン・ハノイ・ ダナンを1週間見て回った話
ベトナムのホーチミン・ハノイ・ダナンを1週間見て回った話ベトナムのホーチミン・ハノイ・ダナンを1週間見て回った話
ベトナムのホーチミン・ハノイ・ ダナンを1週間見て回った話Koichiro Sumi
 
IVS CTO Night 2015 Winter LT資料 / SideCI
IVS CTO Night 2015 Winter LT資料 / SideCIIVS CTO Night 2015 Winter LT資料 / SideCI
IVS CTO Night 2015 Winter LT資料 / SideCIKoichiro Sumi
 
毎日2000個のコンテナをstartする鯖が突然死して僕が驚愕した話
毎日2000個のコンテナをstartする鯖が突然死して僕が驚愕した話毎日2000個のコンテナをstartする鯖が突然死して僕が驚愕した話
毎日2000個のコンテナをstartする鯖が突然死して僕が驚愕した話Koichiro Sumi
 
Ruby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorb
Ruby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorbRuby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorb
Ruby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorbKoichiro Sumi
 
PHPMD, PHP_CodeSniffer x SideCIによる継続的コードチェック
PHPMD, PHP_CodeSniffer x SideCIによる継続的コードチェックPHPMD, PHP_CodeSniffer x SideCIによる継続的コードチェック
PHPMD, PHP_CodeSniffer x SideCIによる継続的コードチェックKoichiro Sumi
 
CIツールのまとめとSide CI - CIツール勉強会@福岡
CIツールのまとめとSide CI - CIツール勉強会@福岡CIツールのまとめとSide CI - CIツール勉強会@福岡
CIツールのまとめとSide CI - CIツール勉強会@福岡Koichiro Sumi
 
API通信周りの継続的なテストの仕組み~SideCIでの実践~
API通信周りの継続的なテストの仕組み~SideCIでの実践~API通信周りの継続的なテストの仕組み~SideCIでの実践~
API通信周りの継続的なテストの仕組み~SideCIでの実践~Koichiro Sumi
 
Git plus something / Git+何かで更にGitを使いこなす
Git plus something / Git+何かで更にGitを使いこなすGit plus something / Git+何かで更にGitを使いこなす
Git plus something / Git+何かで更にGitを使いこなすKoichiro Sumi
 
ただのSEが初めてArduinoで遊んでみたw(今更 : 品モノラボ #9
ただのSEが初めてArduinoで遊んでみたw(今更 : 品モノラボ #9ただのSEが初めてArduinoで遊んでみたw(今更 : 品モノラボ #9
ただのSEが初めてArduinoで遊んでみたw(今更 : 品モノラボ #9Koichiro Sumi
 
スタートアップの開発体制、流れ POPULAR PATTERN
スタートアップの開発体制、流れ POPULAR PATTERNスタートアップの開発体制、流れ POPULAR PATTERN
スタートアップの開発体制、流れ POPULAR PATTERNKoichiro Sumi
 
どうやらテスト駆動型開発は死んだようです。これからのCI
どうやらテスト駆動型開発は死んだようです。これからのCIどうやらテスト駆動型開発は死んだようです。これからのCI
どうやらテスト駆動型開発は死んだようです。これからのCIKoichiro Sumi
 
CIを取り入れ始めて超楽になったこと
CIを取り入れ始めて超楽になったことCIを取り入れ始めて超楽になったこと
CIを取り入れ始めて超楽になったことKoichiro Sumi
 
スタートアップの開発体制、流れのBASIC PATTERN
スタートアップの開発体制、流れのBASIC PATTERNスタートアップの開発体制、流れのBASIC PATTERN
スタートアップの開発体制、流れのBASIC PATTERNKoichiro Sumi
 
Spath Workshop | 世の中をより良くするアイデアを形に出来るようになる会議 β版 20130420
Spath Workshop | 世の中をより良くするアイデアを形に出来るようになる会議 β版 20130420Spath Workshop | 世の中をより良くするアイデアを形に出来るようになる会議 β版 20130420
Spath Workshop | 世の中をより良くするアイデアを形に出来るようになる会議 β版 20130420Koichiro Sumi
 
Spath for enterprise
Spath for enterpriseSpath for enterprise
Spath for enterpriseKoichiro Sumi
 

More from Koichiro Sumi (20)

Siderご紹介スライド@第2回 GitHub Enterprise ユーザ会
Siderご紹介スライド@第2回 GitHub Enterprise ユーザ会Siderご紹介スライド@第2回 GitHub Enterprise ユーザ会
Siderご紹介スライド@第2回 GitHub Enterprise ユーザ会
 
エンジニアが作りたいものを本気で作るための起業という選択肢。レビュー支援サービスSiderの着想から現在、未来 | Rails developers me...
エンジニアが作りたいものを本気で作るための起業という選択肢。レビュー支援サービスSiderの着想から現在、未来 | Rails developers me...エンジニアが作りたいものを本気で作るための起業という選択肢。レビュー支援サービスSiderの着想から現在、未来 | Rails developers me...
エンジニアが作りたいものを本気で作るための起業という選択肢。レビュー支援サービスSiderの着想から現在、未来 | Rails developers me...
 
管理画面の作り方ディスカス 新宿.rb 36th #shinjukurb
管理画面の作り方ディスカス 新宿.rb 36th #shinjukurb管理画面の作り方ディスカス 新宿.rb 36th #shinjukurb
管理画面の作り方ディスカス 新宿.rb 36th #shinjukurb
 
プロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devlove
プロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devloveプロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devlove
プロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devlove
 
ベトナムのホーチミン・ハノイ・ ダナンを1週間見て回った話
ベトナムのホーチミン・ハノイ・ダナンを1週間見て回った話ベトナムのホーチミン・ハノイ・ダナンを1週間見て回った話
ベトナムのホーチミン・ハノイ・ ダナンを1週間見て回った話
 
IVS CTO Night 2015 Winter LT資料 / SideCI
IVS CTO Night 2015 Winter LT資料 / SideCIIVS CTO Night 2015 Winter LT資料 / SideCI
IVS CTO Night 2015 Winter LT資料 / SideCI
 
毎日2000個のコンテナをstartする鯖が突然死して僕が驚愕した話
毎日2000個のコンテナをstartする鯖が突然死して僕が驚愕した話毎日2000個のコンテナをstartする鯖が突然死して僕が驚愕した話
毎日2000個のコンテナをstartする鯖が突然死して僕が驚愕した話
 
Ruby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorb
Ruby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorbRuby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorb
Ruby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorb
 
PHPMD, PHP_CodeSniffer x SideCIによる継続的コードチェック
PHPMD, PHP_CodeSniffer x SideCIによる継続的コードチェックPHPMD, PHP_CodeSniffer x SideCIによる継続的コードチェック
PHPMD, PHP_CodeSniffer x SideCIによる継続的コードチェック
 
CIツールのまとめとSide CI - CIツール勉強会@福岡
CIツールのまとめとSide CI - CIツール勉強会@福岡CIツールのまとめとSide CI - CIツール勉強会@福岡
CIツールのまとめとSide CI - CIツール勉強会@福岡
 
API通信周りの継続的なテストの仕組み~SideCIでの実践~
API通信周りの継続的なテストの仕組み~SideCIでの実践~API通信周りの継続的なテストの仕組み~SideCIでの実践~
API通信周りの継続的なテストの仕組み~SideCIでの実践~
 
Git plus something / Git+何かで更にGitを使いこなす
Git plus something / Git+何かで更にGitを使いこなすGit plus something / Git+何かで更にGitを使いこなす
Git plus something / Git+何かで更にGitを使いこなす
 
About SideCI
About SideCIAbout SideCI
About SideCI
 
ただのSEが初めてArduinoで遊んでみたw(今更 : 品モノラボ #9
ただのSEが初めてArduinoで遊んでみたw(今更 : 品モノラボ #9ただのSEが初めてArduinoで遊んでみたw(今更 : 品モノラボ #9
ただのSEが初めてArduinoで遊んでみたw(今更 : 品モノラボ #9
 
スタートアップの開発体制、流れ POPULAR PATTERN
スタートアップの開発体制、流れ POPULAR PATTERNスタートアップの開発体制、流れ POPULAR PATTERN
スタートアップの開発体制、流れ POPULAR PATTERN
 
どうやらテスト駆動型開発は死んだようです。これからのCI
どうやらテスト駆動型開発は死んだようです。これからのCIどうやらテスト駆動型開発は死んだようです。これからのCI
どうやらテスト駆動型開発は死んだようです。これからのCI
 
CIを取り入れ始めて超楽になったこと
CIを取り入れ始めて超楽になったことCIを取り入れ始めて超楽になったこと
CIを取り入れ始めて超楽になったこと
 
スタートアップの開発体制、流れのBASIC PATTERN
スタートアップの開発体制、流れのBASIC PATTERNスタートアップの開発体制、流れのBASIC PATTERN
スタートアップの開発体制、流れのBASIC PATTERN
 
Spath Workshop | 世の中をより良くするアイデアを形に出来るようになる会議 β版 20130420
Spath Workshop | 世の中をより良くするアイデアを形に出来るようになる会議 β版 20130420Spath Workshop | 世の中をより良くするアイデアを形に出来るようになる会議 β版 20130420
Spath Workshop | 世の中をより良くするアイデアを形に出来るようになる会議 β版 20130420
 
Spath for enterprise
Spath for enterpriseSpath for enterprise
Spath for enterprise
 

Recently uploaded

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 

Recently uploaded (7)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurb

  • 1. [Confidential] © 2013 Actcat, Inc. 1 Sidekiq Proを1年ほど使ってみて 良かったところ、困ったところ
  • 2. [Confidential] © 2013 Actcat, Inc. Sidekiqとは n 1プロセスで大量のスレッドを作成、ジョブ を処理できるジョブキューシステム   n Sidekiq  -­‐  A  full-­‐featured  background  processing   framework  for  Ruby.  It  aims  to  be  simple  to   integrate  with  any  modern  Rails  application  and   much  higher  performance  than  other  existing   solutions.   https://github.com/markets/awesome-­‐ruby   n http://sidekiq.org/   2
  • 3. [Confidential] © 2013 Actcat, Inc. Sidekiq vs Delayed_job vs Resuqe 3
  • 4. [Confidential] © 2013 Actcat, Inc. うちの SideCI では Sidekiq を選択 n GitHub  Comments  APIを叩きまくるジョブ を何個も同時に爆速で回したかった   n 1プロセス当たり処理できるジョブ数・速 度が早いらしいSidekiq使った   n 処理数は少ないジョブしかないレポジト リもSidekiqに統一した   4
  • 5. [Confidential] © 2013 Actcat, Inc. 良かったところ n 早い!   l タスクを小さく分割してあるタスク(ジョ ブ)などではスレッド数の多さによる速さ が際立つ   n 割りとデファクトで情報も多い   l ActiveJobのrailsguideなどでもbackendの 設定サンプルに一番に書いてあったり   n プラグインも充実   5
  • 6. [Confidential] © 2013 Actcat, Inc. 充実のプラグイン n Sinatraで書かれたWebUI   n WebUIのDevise連携   n Nagios連携   n Queue  Latency用のエンドポイント   n Etc… 6
  • 7. [Confidential] © 2013 Actcat, Inc. 7 困ったところ
  • 8. [Confidential] © 2013 Actcat, Inc. Sidekiqの困ったところ n 1プロセスで最大100スレッドぐらいまで処 理できるすごい子です。   l メモリやデータベース側などが100スレッ ドに耐えられるだけ強力であれば、まじ 爆速で処理できます   n でも、100ジョブ処理しているプロセスが Deadしたら…   l 100ジョブが永遠に失われます 8
  • 9. [Confidential] © 2013 Actcat, Inc. 永遠に失われる   100ジョブ   9
  • 10. [Confidential] © 2013 Actcat, Inc. sidekiq  workerはupstartとかが   立ち上げてくれるけれど、 ジョブは返ってこない   10
  • 11. [Confidential] © 2013 Actcat, Inc. ((ヾ( 皿 ;)ノ_))きぃぃぃぃっ!   ジョブ返せよう!   11
  • 12. [Confidential] © 2013 Actcat, Inc. +怖い話: あなたのジョブも実は 亡くなっているかも… n 失われたジョブが失われたという情報は誰も 持っていない(あなたが独自に管理していな いかぎり)   n Bugsnag,  Airbrake,  Sentryとかの例外通知系 サービスも例外を通知してこない(Processが deadした場合、多くの場合、例外を通知する まえにworkerがdeadした場合)   n Sidekiqはupstartに自動再起動させてたので サービス停止とかにはならず、気づきづらい   12
  • 13. [Confidential] © 2013 Actcat, Inc. 13 SIDEKIQ PRO : RELIABILITY
  • 14. [Confidential] © 2013 Actcat, Inc. RELIABILITY n RedisのRPOPLPUSHを使っていて、キュー 取り出し時にRedisにバックアップを作っ てくれるので、キューを取り出し、処理 している間に、プロセスが死亡したり、 Redisが死亡しても、そこからキューを復 元して処理してくれる   14
  • 15. [Confidential] © 2013 Actcat, Inc. 15
  • 16. [Confidential] © 2013 Actcat, Inc. 困ったところ… n Sidekiq  Proを買うと困ったところが低減   n \(^o^)/ Sidekiq  Pro\(^o^)/ 16
  • 17. [Confidential] © 2013 Actcat, Inc. 17 おまけ / 他のPRO機能の紹介
  • 18. [Confidential] © 2013 Actcat, Inc. BATCHES ジョブをバッチにまとめ、バッチの管理 18
  • 19. [Confidential] © 2013 Actcat, Inc. SUPPORT 作者によるメールサポートが着く 19 n   知っていれば教えてくれる   n 知らなければ知らないって教えてくれる  
  • 20. [Confidential] © 2013 Actcat, Inc. Sidekiqに関するまとめ n 処理早い。デファクトで機能充実。 ActiveJob対応   n Redisとの接続が死んだり、Sidekiq  Worker が死んだりするとジョブが失われる   n ジョブが失われるのが怖い人は年額$950 払うと失われなくて済む(約11万4000円) 20