Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

grifork - fast propagative task runner -

1,916 views

Published on

Grifork runs defined tasks on the system in a way like tree's branching.
Give grifork a list of hosts, then it creates a tree graph internally, and runs tasks in a top-down way.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

grifork - fast propagative task runner -

  1. 1. “grifork” - fast task runner via ssh - @key_amb at the 40th Ginza.rb #ginzarb
  2. 2. Who am I ? ❏ @key_amb ❏ Software Engineer ❏ Serverside, Web ❏ https://github.com/key-amb ❏ https://rubygems.org/profiles/key-amb
  3. 3. Before “grifork” - “fireap” ❏ https://github.com/key-amb/fireap ❏ Consul クラスタ上で動作する S3 非依存の pull 型デプロイ ツール "fireap" を作った
  4. 4. “fireap” in a nutshell ❏ O(log N) … N = node number ❏ Propagative task runner on Consul Cluster
  5. 5. Then, what about “grifork” ❏ O(log N) … N = node number ❏ Propagative task runner via ssh ❏ https://github.com/key-amb/grifork ❏ Blog: ❏ ssh と rsync だけで Tree Deploy を実現する "grifork" を作った
  6. 6. How “grifork” works?
  7. 7. Concept of “Tree Deploy”
  8. 8. Two modes to run “grifork” 1. “Standalone mode” ○ Require grifork only on the task-running host 2. “Grifork mode” ○ Require grifork on every node
  9. 9. Standalone mode 1/3
  10. 10. Standalone mode 2/3
  11. 11. Standalone mode 3/3
  12. 12. Grifork mode 1/3
  13. 13. Grifork mode 2/3
  14. 14. Grifork mode 3/3
  15. 15. Quickstart % gem install grifork % edit Griforkfile % grifork
  16. 16. Configure by “Griforkfile” branches 4 #mode :standalone log file: 'grifork.log' hosts ['web1.internal', 'web2.internal', 'db1.internal', 'db2.internal', ...] local do rsync '/path/to/myapp/' end remote do rsync_remote '/path/to/myapp/' end See examples for more info
  17. 17. Changes in v0.2 ~ v0.5 ❏ Released as a RubyGems ❏ https://rubygems.org/gems/grifork ❏ Enable to configure Parallel, ssh and rsync options by Griforkfile ❏ Enable to configure tasks which runs at first in the job or at last
  18. 18. Summary ❏ “grifork” is an easy way to speed up deployment ❏ Enjoy!
  19. 19. Thank you!
  20. 20. Appendix fireap Resource: ❏ http://www.slideshare.net/YasutakeKiyoshi/fi reap-fast-task-runner-on-consul Products for O(1) deployment: ❏ https://github.com/fujiwara/stretcher ❏ https://github.com/sorah/mamiya

×