Overview of “fireap”
❏ Propagative task runner on Consul Cluster
❏ O(log N) … N = node number
❏ Consul key features used in “fireap”:
❏ Kv, Event, Watch
❏ And powered by diplomat, gem for Consul API
❏ Consul クラスタ上で動作する S3 非依存の pull
型デプロイツール "fireap" を作った
These above enable O(1) deployment.
But both need storage with big I/O capacity
(like S3) => difficult to use in private DC.
Then, I came up with “fireap”.
How fast is “fireap”?
❏ rsync for 100 of t2.micro nodes on AWS EC2.
GNU Parallel fireap
real 0m46.906s 0m18.992s
user 0m40.407s 0m00.527s
sys 0m04.241s 0m00.046s
Changes in v0.1 ~ v0.4
❏ Enable to filter target nodes by Consul
“service”, “tag” and “node name”.
❏ Add config validation before every command
❏ Add `task` subcommand to show tasks in
Things to be done
❏ Write more tests and do more benchmarks
❏ Plan to monitor Consul
❏ seems preferable especially in bigger systems
❏ Datastore alternatives (maybe)
❏ may be needed if Consul Kv goes slow in bigger
❏ Clean up codes
How to get started
❏ Documentation is Available
❏ If it doesn’t work, let me know as GitHub
❏ I’m happy if you try “fireap”.